京西售后单,修改totalshopmoney和neweanring

This commit is contained in:
苏尹岚
2020-08-31 16:19:11 +08:00
parent 94342d6dcd
commit fe42195355

View File

@@ -5,6 +5,10 @@ import (
"strings"
"time"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/baseapi/platformapi/jdshopapi"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/business/model/dao"
@@ -73,6 +77,7 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G
skuMap = make(map[int]*model.OrderSku)
appID = ""
salePrice int64
db = dao.GetDB()
)
if time.Now().Sub(order.OrderCreatedAt) > 24*time.Hour {
return fmt.Errorf("已超过售后申请时间,如有疑问请联系门店!")
@@ -122,7 +127,7 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G
}
if !isJxShop(appID) {
orderPays, err := dao.GetOrderPayList(dao.GetDB(), order.VendorOrderID, order.VendorID)
orderPays, err := dao.GetOrderPayList(db, order.VendorOrderID, order.VendorID)
if err == nil {
_, err = localjx.RefundOrderByTL(ctx, orderPays[0], order.VendorOrderID, int(salePrice), reason)
if err != nil {
@@ -136,6 +141,25 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G
} else {
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
}
//如果是扣点的单需要修改totalShopMoney等
if err == nil && order.EarningType == model.EarningTypePoints {
var diff int64
origin := float64(order.TotalShopMoney) / jdshopapi.JdsPayPercentage
for _, sku := range refundSkuList {
if skuMap[sku.SkuID] != nil {
diff += skuMap[sku.SkuID].SalePrice * int64(sku.Count)
}
}
order.TotalShopMoney = utils.Float64TwoInt64((origin - float64(diff)) * jdshopapi.JdsPayPercentage)
storeDetail, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID)
wayBills, _ := dao.GetWaybills(db, order.VendorOrderID)
if len(wayBills) > 0 {
jxutils.RefreshOrderEarningPrice3(order, storeDetail.PayPercentage, wayBills[0])
} else {
jxutils.RefreshOrderEarningPrice2(order, storeDetail.PayPercentage)
}
dao.UpdateEntity(db, order, "TotalShopMoney", "NewEarningPrice")
}
return err
}