diff --git a/cmd/api/internal/logic/yl/getOrderLogic.go b/cmd/api/internal/logic/yl/getOrderLogic.go index 7793692..39c5501 100644 --- a/cmd/api/internal/logic/yl/getOrderLogic.go +++ b/cmd/api/internal/logic/yl/getOrderLogic.go @@ -47,6 +47,15 @@ func (l *GetOrderLogic) GetOrder(req *types.GetOrderReq) (resp *types.GetOrderRs if data.Data.ShortUrl != "" { status = 1 } + startTime, err := time.Parse("20060102", data.Data.VoucherSdate) + if err != nil { + startTime = time.Now() + } + endTime, err := time.Parse("20060102", data.Data.VoucherEdate) + if err != nil { + endTime = startTime.AddDate(0, 0, 30).Add(23*time.Hour + 59*time.Minute + 59*time.Second) + } + accouont, _ := strconv.Atoi(order.Account) supplierId, _ := strconv.Atoi(order.SupplierId) resp = &types.GetOrderRsp{ @@ -55,29 +64,29 @@ func (l *GetOrderLogic) GetOrder(req *types.GetOrderReq) (resp *types.GetOrderRs SupplierSkuId: order.SupplierSkuId, Account: int64(accouont), SendStatus: status, - Price: 0, + Price: order.Price, StatusTime: order.UpdateTime.Unix(), Msg: "", SupplierId: int64(supplierId), CardNo: "", CardKey: "", - CardExpireTime: "", + CardExpireTime: endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second).Format(time.DateTime), CardExchangeUrl: data.Data.ShortUrl, } return } +// 营销系统查询 func (l *GetOrderLogic) GetOrder2(req *types.GetOrderReq) (resp *types.GetOrderRsp, err error) { request := transfer.MarketQueryReq{ - AppId: l.svcCtx.Config.MarketConfig.AppId, - //Sign: "", + AppId: l.svcCtx.Config.MarketConfig.AppId, ReqCode: "voucher.query", MemId: fmt.Sprintf("%d", req.SupplierId), ReqSerialNo: req.DeliverOrderNo, Timestamp: time.Unix(req.RequestTime, 0).Format("20060102150405"), - VoucherId: "", - VoucherCode: req.SupplierOrderNo, + //VoucherId: "yl20240730", + //VoucherCode: "AAAESSGEVVpTHsbe", } request.Sign = l.svcCtx.Config.Sys.PrimaryKey diff --git a/cmd/api/internal/logic/yl/ylAsyncLogic.go b/cmd/api/internal/logic/yl/ylAsyncLogic.go index 99d840a..25d7884 100644 --- a/cmd/api/internal/logic/yl/ylAsyncLogic.go +++ b/cmd/api/internal/logic/yl/ylAsyncLogic.go @@ -83,16 +83,16 @@ func (l *YlAsyncLogic) YlAsync(req *types.AsyncReq) (resp *types.AsyncResp, err if result.Data.VoucherCode == "" { return nil, fmt.Errorf("请求失败未取到数据:%v", result.Msg) } + supplierOrderNo := req.DeliverOrderNo + // 记录订单 + l.saveOrder(req, result, supplierOrderNo, VoucherId) // 异步通知 go func() { time.Sleep(2 * time.Second) l.asyncSendMarket(supplierOrderNo, req, result.Data) }() - // 记录订单 - l.saveOrder(req, result, supplierOrderNo, VoucherId) - return &types.AsyncResp{ Msg: "", Status: 0, @@ -109,8 +109,17 @@ func (l *YlAsyncLogic) getExchangeCode(voucherCode string) string { return temp[len(temp)-1] } -// 往营销系统下单,返回数据,通知下游系统 +// 返回数据,通知下游系统 func (l *YlAsyncLogic) asyncSendMarket(supplierOrderNo string, asyncReq *types.AsyncReq, data *transfer.MarketKeySendRes_Data) { + startTime, err := time.Parse("20060102", data.VoucherSdate) + if err != nil { + startTime = time.Now() + } + endTime, err := time.Parse("20060102", data.VoucherEdate) + if err != nil { + endTime = startTime.AddDate(0, 0, 30).Add(23*time.Hour + 59*time.Minute + 59*time.Second) + } + var ( reqDataMap map[string]interface{} header = map[string]string{"Content-Type": "application/json;charset=UTF-8"} @@ -127,14 +136,14 @@ func (l *YlAsyncLogic) asyncSendMarket(supplierOrderNo string, asyncReq *types.A SupplierId: asyncReq.SupplierId, CardNo: "", CardKey: "", - CardExpireTime: "", + CardExpireTime: endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second).Format(time.DateTime), CardExchangeUrl: data.ShortUrl, Sign: "", } ) b, _ := json.Marshal(req) - err := json.Unmarshal(b, &reqDataMap) + err = json.Unmarshal(b, &reqDataMap) if err != nil { return }