Merge remote-tracking branch 'origin/dev_1.4.1'
This commit is contained in:
commit
b528c53e90
|
@ -601,6 +601,7 @@ type HmPayBToCBizContent struct {
|
||||||
OutOrderNo string `json:"out_order_no"`
|
OutOrderNo string `json:"out_order_no"`
|
||||||
Body string `json:"body"`
|
Body string `json:"body"`
|
||||||
StoreId string `json:"store_id"`
|
StoreId string `json:"store_id"`
|
||||||
|
TerminalId string `json:"terminal_id"`
|
||||||
NotifyUrl string `json:"notify_url"`
|
NotifyUrl string `json:"notify_url"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1021,7 +1022,7 @@ func ToSignContent(s interface{}) (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// HmJsPayBToCOrder 河马刷卡支付(B扫C)
|
// 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()
|
now := time.Now().Local()
|
||||||
strTime := fmt.Sprintf("%04d%02d%02d%02d%02d%02d", now.Year(), now.Month(), now.Day(), now.Hour(),
|
strTime := fmt.Sprintf("%04d%02d%02d%02d%02d%02d", now.Year(), now.Month(), now.Day(), now.Hour(),
|
||||||
now.Minute(), now.Second())
|
now.Minute(), now.Second())
|
||||||
|
@ -1056,10 +1057,13 @@ func HmJsPayBToCOrder(orderId string, totalFee float64, authCode, notifyUrl stri
|
||||||
OutOrderNo: orderId,
|
OutOrderNo: orderId,
|
||||||
Body: "门店消费",
|
Body: "门店消费",
|
||||||
StoreId: "100001",
|
StoreId: "100001",
|
||||||
|
TerminalId: fmt.Sprintf("%d", storeId),
|
||||||
NotifyUrl: notifyUrl,
|
NotifyUrl: notifyUrl,
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.ApplicationConfig.Mode == "dev" {
|
if config.ApplicationConfig.Mode == "dev" {
|
||||||
biz.CreateIp = clientIpDev
|
biz.CreateIp = clientIpDev
|
||||||
|
publicPara.AppId = HmPayMerchantId
|
||||||
}
|
}
|
||||||
|
|
||||||
unifiedOrderReq.HmPayPublicPara = publicPara
|
unifiedOrderReq.HmPayPublicPara = publicPara
|
||||||
|
@ -1076,12 +1080,21 @@ func HmJsPayBToCOrder(orderId string, totalFee float64, authCode, notifyUrl stri
|
||||||
return nil, 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)
|
sign, err := GenHmPaySignDeovo(m)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
|
logger.Error("HmJsPayUnifiedOrder GenHmPaySign err:", logger.Field("err", err))
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
unifiedOrderReq.Sign = sign
|
unifiedOrderReq.Sign = sign
|
||||||
|
}
|
||||||
|
|
||||||
unifiedOrderResp, err := HmPayUnifiedOrder(unifiedOrderReq)
|
unifiedOrderResp, err := HmPayUnifiedOrder(unifiedOrderReq)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -1094,11 +1107,21 @@ func HmJsPayBToCOrder(orderId string, totalFee float64, authCode, notifyUrl stri
|
||||||
logger.Errorf("ToSignContent err:", err)
|
logger.Errorf("ToSignContent err:", err)
|
||||||
return nil, 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)
|
err = HmVerifySha1RsaDeovo(signContent, unifiedOrderResp.Sign)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("HmVerifySha1Rsa err:", err)
|
logger.Errorf("HmVerifySha1Rsa err:", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//fmt.Println("unifiedOrderResp:", unifiedOrderResp.Data)
|
//fmt.Println("unifiedOrderResp:", unifiedOrderResp.Data)
|
||||||
var hmPayDetail HmPayBToCOrderDetail
|
var hmPayDetail HmPayBToCOrderDetail
|
||||||
err = json.Unmarshal([]byte(unifiedOrderResp.Data), &hmPayDetail)
|
err = json.Unmarshal([]byte(unifiedOrderResp.Data), &hmPayDetail)
|
||||||
|
|
|
@ -1905,7 +1905,7 @@ func ErpOrderPay(req *ErpOrderPayReq, c *gin.Context) (*ErpOrderPayResp, error)
|
||||||
resp.Status = Paying
|
resp.Status = Paying
|
||||||
|
|
||||||
// 发起支付扣款
|
// 发起支付扣款
|
||||||
hmPayResp, err := pay.HmJsPayBToCOrder(orderSn, amount, req.AuthCode, "")
|
hmPayResp, err := pay.HmJsPayBToCOrder(orderInfo.StoreId, orderSn, amount, req.AuthCode, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("HmJsPayBToCOrder err")
|
logger.Error("HmJsPayBToCOrder err")
|
||||||
return resp, err
|
return resp, err
|
||||||
|
|
|
@ -2530,9 +2530,22 @@ func getErpPurchaseDemandAll(req *GetErpPurchaseDemandReq, c *gin.Context) (*Get
|
||||||
|
|
||||||
// 并行查询需求数据
|
// 并行查询需求数据
|
||||||
var wg sync.WaitGroup
|
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]
|
||||||
|
}
|
||||||
|
demandDataList := make([]DemandData, len(tempCommodities))
|
||||||
|
|
||||||
|
for i, v := range tempCommodities {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(index int, commodity ErpCommodity) {
|
go func(index int, commodity ErpCommodity) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
|
@ -2560,13 +2573,15 @@ func getErpPurchaseDemandAll(req *GetErpPurchaseDemandReq, c *gin.Context) (*Get
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 计算分页所需的切片索引
|
//// 计算分页所需的切片索引
|
||||||
startIndex := page * req.PageSize
|
//startIndex := page * req.PageSize
|
||||||
endIndex := (page + 1) * req.PageSize
|
//endIndex := (page + 1) * req.PageSize
|
||||||
if endIndex > len(demandDataList) {
|
//if endIndex > len(demandDataList) {
|
||||||
endIndex = len(demandDataList)
|
// endIndex = len(demandDataList)
|
||||||
}
|
//}
|
||||||
resp.List = demandDataList[startIndex:endIndex]
|
//resp.List = demandDataList[startIndex:endIndex]
|
||||||
|
|
||||||
|
resp.List = demandDataList
|
||||||
resp.Total = count
|
resp.Total = count
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2737,9 +2752,21 @@ func getErpPurchaseDemandHide(req *GetErpPurchaseDemandReq, c *gin.Context) (*Ge
|
||||||
|
|
||||||
// 并行查询需求数据
|
// 并行查询需求数据
|
||||||
var wg sync.WaitGroup
|
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]
|
||||||
|
}
|
||||||
|
demandDataList := make([]DemandData, len(tempCommodities))
|
||||||
|
|
||||||
for i, v := range matchedCommodities {
|
for i, v := range tempCommodities {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(index int, commodity ErpCommodity) {
|
go func(index int, commodity ErpCommodity) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
|
@ -2768,12 +2795,14 @@ func getErpPurchaseDemandHide(req *GetErpPurchaseDemandReq, c *gin.Context) (*Ge
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 计算分页所需的切片索引
|
// 计算分页所需的切片索引
|
||||||
startIndex := page * req.PageSize
|
//startIndex := page * req.PageSize
|
||||||
endIndex := (page + 1) * req.PageSize
|
//endIndex := (page + 1) * req.PageSize
|
||||||
if endIndex > len(demandDataList) {
|
//if endIndex > len(demandDataList) {
|
||||||
endIndex = len(demandDataList)
|
// endIndex = len(demandDataList)
|
||||||
}
|
//}
|
||||||
resp.List = demandDataList[startIndex:endIndex]
|
//resp.List = demandDataList[startIndex:endIndex]
|
||||||
|
|
||||||
|
resp.List = demandDataList
|
||||||
resp.Total = int64(len(matchedCommodities))
|
resp.Total = int64(len(matchedCommodities))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user