京西售后单,修改totalshopmoney和neweanring
This commit is contained in:
@@ -5,6 +5,10 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"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/globals"
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"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)
|
skuMap = make(map[int]*model.OrderSku)
|
||||||
appID = ""
|
appID = ""
|
||||||
salePrice int64
|
salePrice int64
|
||||||
|
db = dao.GetDB()
|
||||||
)
|
)
|
||||||
if time.Now().Sub(order.OrderCreatedAt) > 24*time.Hour {
|
if time.Now().Sub(order.OrderCreatedAt) > 24*time.Hour {
|
||||||
return fmt.Errorf("已超过售后申请时间,如有疑问请联系门店!")
|
return fmt.Errorf("已超过售后申请时间,如有疑问请联系门店!")
|
||||||
@@ -122,7 +127,7 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !isJxShop(appID) {
|
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 {
|
if err == nil {
|
||||||
_, err = localjx.RefundOrderByTL(ctx, orderPays[0], order.VendorOrderID, int(salePrice), reason)
|
_, err = localjx.RefundOrderByTL(ctx, orderPays[0], order.VendorOrderID, int(salePrice), reason)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -136,6 +141,25 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G
|
|||||||
} else {
|
} else {
|
||||||
err = partner.CurOrderManager.OnAfsOrderNew(afsOrder, orderStatus)
|
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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user