|
@@ -2,25 +2,30 @@ package bus
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
+ "fmt"
|
|
|
+ "pay/db"
|
|
|
"pay/db/model"
|
|
|
+ "pay/db/repo"
|
|
|
+ "pay/log"
|
|
|
"pay/utils"
|
|
|
|
|
|
"github.com/nats-io/nats.go"
|
|
|
"infish.cn/comm"
|
|
|
+ "infish.cn/comm/pay"
|
|
|
)
|
|
|
|
|
|
type SinglePay struct{}
|
|
|
|
|
|
|
|
|
func (s *SinglePay) CreateQr() *comm.NatsMsgReplyer {
|
|
|
- utils.ConsoleFormat(comm.CommPaySku3dCreateQrApi)
|
|
|
+ utils.ConsoleFormat(pay.PaySingleQrApi)
|
|
|
|
|
|
return &comm.NatsMsgReplyer{
|
|
|
- Subject: comm.CommPaySku3dCreateQrApi,
|
|
|
- Entity: func() interface{} { return &model.OrderMsg{} },
|
|
|
- Cb2: func(msg *nats.Msg, entity interface{}) (interface{}, error) {
|
|
|
- m := entity.(*model.OrderMsg)
|
|
|
- pay := PayMod(*m.PayMode, SINGLE)
|
|
|
+ Subject: pay.PaySingleQrApi,
|
|
|
+ Entity: func() interface{} { return &pay.OrderMsg{} },
|
|
|
+ Cb2: func(_ *nats.Msg, entity interface{}) (interface{}, error) {
|
|
|
+ m := entity.(*pay.OrderMsg)
|
|
|
+ pay := PayMod(int(*m.PayMod), SINGLE)
|
|
|
ctx := context.Background()
|
|
|
res, err := pay.Pay(ctx, m)
|
|
|
return res, err
|
|
@@ -30,14 +35,14 @@ func (s *SinglePay) CreateQr() *comm.NatsMsgReplyer {
|
|
|
|
|
|
|
|
|
func (s *SinglePay) CloseOrder() *comm.NatsMsgReplyer {
|
|
|
- utils.ConsoleFormat("comm.pay.singlePay.closeOrder")
|
|
|
+ utils.ConsoleFormat(pay.PaySingleCloseOrderApi)
|
|
|
|
|
|
return &comm.NatsMsgReplyer{
|
|
|
- Subject: "comm.pay.singlePay.closeOrder",
|
|
|
- Entity: func() interface{} { return &model.OrderMsg{} },
|
|
|
- Cb2: func(msg *nats.Msg, entity interface{}) (interface{}, error) {
|
|
|
- m := entity.(*model.OrderMsg)
|
|
|
- pay := PayMod(*m.PayMode, SINGLE)
|
|
|
+ Subject: pay.PaySingleCloseOrderApi,
|
|
|
+ Entity: func() interface{} { return &pay.OrderMsg{} },
|
|
|
+ Cb2: func(_ *nats.Msg, entity interface{}) (interface{}, error) {
|
|
|
+ m := entity.(*pay.OrderMsg)
|
|
|
+ pay := PayMod(int(*m.PayMod), SINGLE)
|
|
|
ctx := context.Background()
|
|
|
flag, err := pay.Close(ctx, m)
|
|
|
return flag, err
|
|
@@ -47,12 +52,12 @@ func (s *SinglePay) CloseOrder() *comm.NatsMsgReplyer {
|
|
|
|
|
|
|
|
|
func (s *SinglePay) Refund() *comm.NatsMsgReplyer {
|
|
|
- utils.ConsoleFormat("comm.pay.singlePay.refund")
|
|
|
+ utils.ConsoleFormat(pay.PaySingleRefundApi)
|
|
|
|
|
|
return &comm.NatsMsgReplyer{
|
|
|
- Subject: "comm.pay.singlePay.refund",
|
|
|
+ Subject: pay.PaySingleRefundApi,
|
|
|
Entity: func() interface{} { return &model.ReFund{} },
|
|
|
- Cb2: func(msg *nats.Msg, entity interface{}) (interface{}, error) {
|
|
|
+ Cb2: func(_ *nats.Msg, entity interface{}) (interface{}, error) {
|
|
|
refund := entity.(*model.ReFund)
|
|
|
|
|
|
if refund.Reason == "" {
|
|
@@ -68,12 +73,12 @@ func (s *SinglePay) Refund() *comm.NatsMsgReplyer {
|
|
|
|
|
|
|
|
|
func (s *SinglePay) RefundQuery() *comm.NatsMsgReplyer {
|
|
|
- utils.ConsoleFormat("comm.pay.singlePay.refundQuery")
|
|
|
+ utils.ConsoleFormat(pay.PaySingleRefundQueryApi)
|
|
|
|
|
|
return &comm.NatsMsgReplyer{
|
|
|
- Subject: "comm.pay.singlePay.refundQuery",
|
|
|
+ Subject: pay.PaySingleRefundQueryApi,
|
|
|
Entity: func() interface{} { return &model.ReFund{} },
|
|
|
- Cb2: func(msg *nats.Msg, entity interface{}) (interface{}, error) {
|
|
|
+ Cb2: func(_ *nats.Msg, entity interface{}) (interface{}, error) {
|
|
|
m := entity.(*model.ReFund)
|
|
|
pay := PayMod(int(*m.PayMode), SINGLE)
|
|
|
ctx := context.Background()
|
|
@@ -82,3 +87,36 @@ func (s *SinglePay) RefundQuery() *comm.NatsMsgReplyer {
|
|
|
},
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+func (s *SinglePay) SuccPayStream() *comm.NatsStreamWather {
|
|
|
+ res := &model.ResData{}
|
|
|
+
|
|
|
+ return &comm.NatsStreamWather{
|
|
|
+ Stream: "queenshow-pay-succ",
|
|
|
+ Topic: "queenshow.paysucc",
|
|
|
+ Queue: "queenshow-paysucc-queue",
|
|
|
+ AckWaitMinute: int64(1),
|
|
|
+ Entity: func() interface{} { return res },
|
|
|
+ Cb: func(msg *nats.Msg, entity interface{}) {
|
|
|
+ defer func() {
|
|
|
+ if err := recover(); err != nil {
|
|
|
+ log.Info("系统异常", err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ session := &repo.RepoSession{Client: db.GMongoDb}
|
|
|
+ fmt.Println(session.Client.Database.Name())
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ }
|
|
|
+
|
|
|
+}
|