刷新报价订单商品价格
This commit is contained in:
@@ -1916,19 +1916,22 @@ func UpdateOrderInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int,
|
||||
|
||||
func RefreshOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, skuID int) (num int64, err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
db = dao.GetDB()
|
||||
shopPrice int64
|
||||
)
|
||||
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID)
|
||||
for _, v := range order.Skus {
|
||||
if v.SkuID == 0 {
|
||||
if v.SkuID == skuID {
|
||||
|
||||
}
|
||||
} else {
|
||||
if v.JxSkuID == skuID {
|
||||
|
||||
}
|
||||
if order.EarningType != model.EarningTypeQuote {
|
||||
return 0, fmt.Errorf("目前只支持报价订单有此操作!")
|
||||
}
|
||||
updateOrderSku := func(v *model.OrderSku, skuID2 int) (err error) {
|
||||
storeSkus, _ := dao.GetStoresSkusInfo(db, []int{jxutils.GetSaleStoreIDFromOrder(order)}, []int{skuID2})
|
||||
if len(storeSkus) == 0 {
|
||||
return fmt.Errorf("未找到此门店商品!")
|
||||
}
|
||||
storeSku := storeSkus[0]
|
||||
v.ShopPrice = int64(storeSku.Price)
|
||||
dao.UpdateEntity(db, v, "ShopPrice")
|
||||
return err
|
||||
}
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
@@ -1937,6 +1940,24 @@ func RefreshOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID,
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
for _, v := range order.Skus {
|
||||
if v.SkuID == 0 {
|
||||
if v.SkuID == skuID {
|
||||
err = updateOrderSku(v, skuID)
|
||||
}
|
||||
} else {
|
||||
if v.JxSkuID == skuID {
|
||||
err = updateOrderSku(v, skuID)
|
||||
}
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
for _, v := range order.Skus {
|
||||
shopPrice += v.ShopPrice * int64(v.Count)
|
||||
}
|
||||
order.ShopPrice = shopPrice
|
||||
num, err = dao.UpdateEntity(db, order, "ShopPrice")
|
||||
dao.Commit(db)
|
||||
return num, err
|
||||
|
||||
Reference in New Issue
Block a user