修改小程序支付
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user