diff --git a/app/admin/apis/pay/wx_pay.go b/app/admin/apis/pay/wx_pay.go index 6607d0b..18bbde0 100644 --- a/app/admin/apis/pay/wx_pay.go +++ b/app/admin/apis/pay/wx_pay.go @@ -601,6 +601,7 @@ type HmPayBToCBizContent struct { OutOrderNo string `json:"out_order_no"` Body string `json:"body"` StoreId string `json:"store_id"` + TerminalId string `json:"terminal_id"` NotifyUrl string `json:"notify_url"` } @@ -1021,7 +1022,7 @@ func ToSignContent(s interface{}) (string, error) { } // HmJsPayBToCOrder 河马刷卡支付(B扫C) -func HmJsPayBToCOrder(orderId string, totalFee float64, authCode, notifyUrl string) (*HmPayBToCOrderDetail, error) { +func HmJsPayBToCOrder(storeId uint32, orderId string, totalFee float64, authCode, notifyUrl string) (*HmPayBToCOrderDetail, error) { now := time.Now().Local() strTime := fmt.Sprintf("%04d%02d%02d%02d%02d%02d", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) @@ -1056,10 +1057,13 @@ func HmJsPayBToCOrder(orderId string, totalFee float64, authCode, notifyUrl stri OutOrderNo: orderId, Body: "门店消费", StoreId: "100001", + TerminalId: fmt.Sprintf("%d", storeId), NotifyUrl: notifyUrl, } + if config.ApplicationConfig.Mode == "dev" { biz.CreateIp = clientIpDev + publicPara.AppId = HmPayMerchantId } unifiedOrderReq.HmPayPublicPara = publicPara @@ -1076,12 +1080,21 @@ func HmJsPayBToCOrder(orderId string, totalFee float64, authCode, notifyUrl stri return nil, err } - sign, err := GenHmPaySignDeovo(m) - if err != nil { - logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) - return nil, err + if config.ApplicationConfig.Mode == "dev" { + sign, err := GenHmPaySign(m) + if err != nil { + logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) + return nil, err + } + unifiedOrderReq.Sign = sign + } else { + sign, err := GenHmPaySignDeovo(m) + if err != nil { + logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err)) + return nil, err + } + unifiedOrderReq.Sign = sign } - unifiedOrderReq.Sign = sign unifiedOrderResp, err := HmPayUnifiedOrder(unifiedOrderReq) if err != nil { @@ -1094,11 +1107,21 @@ func HmJsPayBToCOrder(orderId string, totalFee float64, authCode, notifyUrl stri logger.Errorf("ToSignContent err:", err) return nil, err } - err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign) - if err != nil { - logger.Errorf("HmVerifySha1Rsa err:", err) - return nil, err + + if config.ApplicationConfig.Mode == "dev" { + err = HmVerifySha1Rsa(signContent, unifiedOrderResp.Sign) + if err != nil { + logger.Errorf("HmVerifySha1Rsa err:", err) + return nil, err + } + } else { + err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign) + if err != nil { + logger.Errorf("HmVerifySha1Rsa err:", err) + return nil, err + } } + //fmt.Println("unifiedOrderResp:", unifiedOrderResp.Data) var hmPayDetail HmPayBToCOrderDetail err = json.Unmarshal([]byte(unifiedOrderResp.Data), &hmPayDetail) diff --git a/app/admin/models/erp_order.go b/app/admin/models/erp_order.go index 2c1fd66..4be9a93 100644 --- a/app/admin/models/erp_order.go +++ b/app/admin/models/erp_order.go @@ -1905,7 +1905,7 @@ func ErpOrderPay(req *ErpOrderPayReq, c *gin.Context) (*ErpOrderPayResp, error) resp.Status = Paying // 发起支付扣款 - hmPayResp, err := pay.HmJsPayBToCOrder(orderSn, amount, req.AuthCode, "") + hmPayResp, err := pay.HmJsPayBToCOrder(orderInfo.StoreId, orderSn, amount, req.AuthCode, "") if err != nil { logger.Error("HmJsPayBToCOrder err") return resp, err diff --git a/app/admin/models/purchase.go b/app/admin/models/purchase.go index b96f4e4..1f8fe2b 100644 --- a/app/admin/models/purchase.go +++ b/app/admin/models/purchase.go @@ -2532,7 +2532,20 @@ func getErpPurchaseDemandAll(req *GetErpPurchaseDemandReq, c *gin.Context) (*Get var wg sync.WaitGroup demandDataList := make([]DemandData, len(commodities)) - for i, v := range commodities { + var tempCommodities []ErpCommodity + if req.IsExport == 1 { + tempCommodities = commodities + } else { + // 计算分页 + startIndex := page * req.PageSize + endIndex := (page + 1) * req.PageSize + if endIndex > len(commodities) { + endIndex = len(commodities) + } + tempCommodities = commodities[startIndex:endIndex] + } + + for i, v := range tempCommodities { wg.Add(1) go func(index int, commodity ErpCommodity) { defer wg.Done() @@ -2560,13 +2573,15 @@ func getErpPurchaseDemandAll(req *GetErpPurchaseDemandReq, c *gin.Context) (*Get return nil, err } } else { - // 计算分页所需的切片索引 - startIndex := page * req.PageSize - endIndex := (page + 1) * req.PageSize - if endIndex > len(demandDataList) { - endIndex = len(demandDataList) - } - resp.List = demandDataList[startIndex:endIndex] + //// 计算分页所需的切片索引 + //startIndex := page * req.PageSize + //endIndex := (page + 1) * req.PageSize + //if endIndex > len(demandDataList) { + // endIndex = len(demandDataList) + //} + //resp.List = demandDataList[startIndex:endIndex] + + resp.List = demandDataList resp.Total = count } @@ -2738,8 +2753,20 @@ func getErpPurchaseDemandHide(req *GetErpPurchaseDemandReq, c *gin.Context) (*Ge // 并行查询需求数据 var wg sync.WaitGroup demandDataList := make([]DemandData, len(matchedCommodities)) + var tempCommodities []ErpCommodity + if req.IsExport == 1 { + tempCommodities = matchedCommodities + } else { + // 计算分页 + startIndex := page * req.PageSize + endIndex := (page + 1) * req.PageSize + if endIndex > len(matchedCommodities) { + endIndex = len(matchedCommodities) + } + tempCommodities = matchedCommodities[startIndex:endIndex] + } - for i, v := range matchedCommodities { + for i, v := range tempCommodities { wg.Add(1) go func(index int, commodity ErpCommodity) { defer wg.Done() @@ -2768,12 +2795,14 @@ func getErpPurchaseDemandHide(req *GetErpPurchaseDemandReq, c *gin.Context) (*Ge } } else { // 计算分页所需的切片索引 - startIndex := page * req.PageSize - endIndex := (page + 1) * req.PageSize - if endIndex > len(demandDataList) { - endIndex = len(demandDataList) - } - resp.List = demandDataList[startIndex:endIndex] + //startIndex := page * req.PageSize + //endIndex := (page + 1) * req.PageSize + //if endIndex > len(demandDataList) { + // endIndex = len(demandDataList) + //} + //resp.List = demandDataList[startIndex:endIndex] + + resp.List = demandDataList resp.Total = int64(len(matchedCommodities)) } }