修改小程序支付
This commit is contained in:
@@ -38,8 +38,6 @@ func (c *OrderManager) OnAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
||||
}
|
||||
|
||||
func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *model.OrderStatus, isAdjust bool) (err error) {
|
||||
globals.SugarLogger.Debugf("=afsOrder1========== :=%v", utils.Format4Output(afsOrder, false))
|
||||
|
||||
db := dao.GetDB()
|
||||
c.setAfsOrderID(db, orderStatus)
|
||||
if afsOrder.AfsOrderID == "" {
|
||||
@@ -71,9 +69,6 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
||||
}()
|
||||
|
||||
isDuplicated, err := addOrderOrWaybillStatus(orderStatus, db)
|
||||
globals.SugarLogger.Debugf("=isDuplicated========== :=%s", utils.Format4Output(isDuplicated, false))
|
||||
globals.SugarLogger.Debugf("=err========== :=%v", utils.Format4Output(err, false))
|
||||
globals.SugarLogger.Debugf("=orderStatus========== :=%v", utils.Format4Output(orderStatus, false))
|
||||
if err != nil || (isDuplicated && orderStatus.VendorID != model.VendorIDJX) {
|
||||
if err == nil {
|
||||
dao.Commit(db, txDB)
|
||||
@@ -82,8 +77,6 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
||||
}
|
||||
|
||||
existAfsOrder, err := c.loadAfsOrder(db, afsOrder.AfsOrderID, afsOrder.VendorID)
|
||||
globals.SugarLogger.Debugf("=existAfsOrder========== :=%v", utils.Format4Output(existAfsOrder, false))
|
||||
globals.SugarLogger.Debugf("=err========== :=%v", utils.Format4Output(err, false))
|
||||
if err != nil {
|
||||
if !dao.IsNoRowsError(err) {
|
||||
return err
|
||||
@@ -103,7 +96,6 @@ func (c *OrderManager) onAfsOrderNew(afsOrder *model.AfsOrder, orderStatus *mode
|
||||
if afsOrder.RefundType == model.AfsTypeFullRefund {
|
||||
isAdjust = true
|
||||
}
|
||||
globals.SugarLogger.Debugf("=afsOrder==========2 :=%v", utils.Format4Output(afsOrder, false))
|
||||
if err = c.SaveAfsOrder(db, afsOrder, isAdjust); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -154,7 +146,6 @@ func (c *OrderManager) SaveAfsOrder(db *dao.DaoDB, afsOrder *model.AfsOrder, isD
|
||||
deductionsByPm := afsOrder.PmSubsidyMoney + afsOrder.AfsFreightMoney + afsOrder.BoxMoney + afsOrder.TongchengFreightMoney
|
||||
afsOrder.RefundMoneyByCal = afsOrder.SkuUserMoney + afsOrder.FreightUserMoney + deductionsByPm - afsOrder.PmRefundMoney
|
||||
// order.TotalMoney += order.SkuJxMoney // 退款单京西补贴部分先不作计算
|
||||
globals.SugarLogger.Debugf("=====SaveAfsOrder===== := %s", utils.Format4Output(afsOrder, false))
|
||||
if err = dao.CreateEntity(db, afsOrder); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -280,7 +280,7 @@ func (c *BaseScheduler) AgreeOrRefuseRefund(ctx *jxcontext.Context, afsOrderID s
|
||||
}
|
||||
}
|
||||
|
||||
if approveType != partner.AfsApproveTypeRefused {
|
||||
if approveType != partner.AfsApproveTypeRefused && err == nil {
|
||||
storeDetail, err := partner.CurOrderManager.LoadStoreDetail(afsOrder.StoreID, afsOrder.VendorID)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -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