活动
This commit is contained in:
@@ -258,3 +258,5 @@ func (c *OrderManager) UpdataOrderFinancialInfo(orderFinancial *model.OrderFinan
|
||||
// orderFinancial 和 OrderSkuFinancial 数据计算完毕,准备进行更新
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -383,7 +383,10 @@ func ModifyOrderSkusStock(db *dao.DaoDB, order *model.GoodsOrder, isAdd bool) (e
|
||||
dao.SetStoreSkuSyncStatus(db, order.VendorID, []int{order.FromStoreID}, []int{sku.SkuID}, model.SyncFlagStockMask)
|
||||
}
|
||||
}
|
||||
checkDefendPriceOrder(db, jxutils.GetSaleStoreIDFromOrder(order), sku.SkuID)
|
||||
realStock := checkPriceDefendOrderByStock(db, jxutils.GetSaleStoreIDFromOrder(order), sku.SkuID, stock, storeSku.JxPrice)
|
||||
if realStock != -1 {
|
||||
stock = realStock
|
||||
}
|
||||
}
|
||||
storeSku.Stock = stock
|
||||
dao.UpdateEntity(db, storeSku, "Stock")
|
||||
@@ -400,15 +403,44 @@ func filterOrderInfo(order *model.GoodsOrder) {
|
||||
order.ConsigneeAddress = strings.ReplaceAll(order.ConsigneeAddress, "·", "")
|
||||
}
|
||||
|
||||
func checkDefendPriceOrder(db *dao.DaoDB, storeID, skuID int) {
|
||||
func checkPriceDefendOrderByStock(db *dao.DaoDB, storeID, skuID, stock, jxPrice int) (realStock int) {
|
||||
var (
|
||||
issue = 0
|
||||
sumStock = 0
|
||||
)
|
||||
if time.Now().Hour() >= 22 {
|
||||
issue = utils.Str2Int(time.Now().AddDate(0, 0, 1).Format("20060102"))
|
||||
} else {
|
||||
issue = utils.Str2Int(time.Now().Format("20060102"))
|
||||
priceDefends, _ := dao.GetPriceDefendOrder(db, []int{storeID}, []int{skuID}, []int{jxutils.GetDefendPriceIssue()}, 0, 1, 0)
|
||||
if len(priceDefends) == 0 {
|
||||
return -1
|
||||
}
|
||||
for _, v := range priceDefends {
|
||||
sumStock += v.Count
|
||||
}
|
||||
//如果现库存小于等于用户守价的库存,就要开始了
|
||||
//如果小于,要按照守价时间的先后来决定
|
||||
//如果等于,就刚好全部成功,然后库存清0
|
||||
if stock < sumStock {
|
||||
tStock := stock
|
||||
for _, v := range priceDefends {
|
||||
if tStock <= v.Count {
|
||||
tStock -= v.Count
|
||||
v.IsSuccess = model.YES
|
||||
v.RealPrice = int64(jxPrice)
|
||||
dao.UpdateEntity(db, v, "IsSuccess", "RealPrice")
|
||||
} else {
|
||||
continue
|
||||
}
|
||||
}
|
||||
realStock = tStock
|
||||
} else if stock == sumStock {
|
||||
for _, v := range priceDefends {
|
||||
v.IsSuccess = model.YES
|
||||
v.RealPrice = int64(jxPrice)
|
||||
dao.UpdateEntity(db, v, "IsSuccess", "RealPrice")
|
||||
}
|
||||
realStock = 0 //库存清0
|
||||
} else {
|
||||
realStock = -1
|
||||
}
|
||||
return realStock
|
||||
}
|
||||
|
||||
func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db *dao.DaoDB, storePayPercentage, changePriceType int) (err error) {
|
||||
|
||||
Reference in New Issue
Block a user