修改小程序支付

This commit is contained in:
邹宗楠
2023-04-11 13:53:51 +08:00
parent c5da171206
commit 9bc1ba4cbc
3 changed files with 32 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
package phpjx
import (
"git.rosy.net.cn/jx-callback/business/model/dao"
"time"
"git.rosy.net.cn/baseapi/platformapi/jdapi"
@@ -58,10 +59,12 @@ func buildAfsOrder(msg *CallbackMsg) (outAfsOrder *model.AfsOrder, err error) {
VendorAppealType: afsOrder.VendorAppealType,
AppealType: int8(utils.Str2Int64WithDefault(afsOrder.VendorAppealType, 0)),
Flag: model.OrderFlagMaskTempJX,
RefundType: model.AfsTypeFullRefund,
}
outAfsOrder.Status = int(utils.Str2Int64WithDefault(afsOrder.VendorStatus, 0))
skuNumber := 0 // 申请退款商品种类个数
skuCount := 0 // 申请商品退款总条数
refundMoney := 0
for _, x := range afsOrder.Skus {
orderSku := &model.OrderSkuFinancial{
Count: x.Count,
@@ -73,6 +76,33 @@ func buildAfsOrder(msg *CallbackMsg) (outAfsOrder *model.AfsOrder, err error) {
orderSku.StoreSubName = utils.Int2Str(x.PromotionType)
}
outAfsOrder.Skus = append(outAfsOrder.Skus, orderSku)
skuCount += orderSku.Count
skuNumber++
refundMoney += x.Count * int(x.SalePrice)
}
// 获取订单商品列表
skuList, err := dao.GetSimpleOrderSkus(dao.GetDB(), afsOrder.VendorOrderID, nil)
if err != nil {
return nil, err
}
orderSkuNumber := 0
orderSkuCount := 0
for _, v := range skuList {
orderSkuNumber++
orderSkuCount += v.Count
}
if skuNumber == orderSkuNumber && skuCount == orderSkuCount {
// 全额退款,退还支付款项(商品+运费)
order, err := dao.GetSimpleOrder(dao.GetDB(), afsOrder.VendorOrderID)
if err != nil {
return nil, err
}
outAfsOrder.RefundType = model.AfsTypeFullRefund
outAfsOrder.SkuUserMoney = order.ActualPayPrice
} else { // 部分退款,只退还商品部分
outAfsOrder.RefundType = model.AfsTypePartRefund
outAfsOrder.SkuUserMoney = int64(refundMoney)
}
}
return outAfsOrder, err