Merge remote-tracking branch 'origin/jdshop' into jxact
This commit is contained in:
@@ -736,7 +736,10 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
||||
// if order.VendorID == model.VendorIDJX {
|
||||
// excludeVendorIDs = append(excludeVendorIDs, model.VendorIDMTPS)
|
||||
// }
|
||||
|
||||
//TODO 2020-08-18 饿百美团订单暂时不自动发送三方
|
||||
if order.VendorID == model.VendorIDEBAI || order.VendorID == model.VendorIDMTWM {
|
||||
excludeVendorIDs = append(excludeVendorIDs, model.VendorIDMTPS, model.VendorIDDada)
|
||||
}
|
||||
if savedOrderInfo != nil {
|
||||
//TODO 2020-07-21 发单时间要在门店的营业时间内
|
||||
if savedOrderInfo.storeDetail != nil {
|
||||
|
||||
@@ -1077,7 +1077,7 @@ func DeleteStoresFromAct(ctx *jxcontext.Context, vendorID int, actTypes, storeID
|
||||
task := tasksch.NewParallelTask("将门店从所有活动中删除", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
storeID := batchItemList[0].(int)
|
||||
acts, _ := dao.QueryActs(db, 0, 0, 50, 0, "", vendorID, []int{1}, actTypes, nil, storeID, nil, 0, utils.ZeroTimeValue, utils.ZeroTimeValue, time.Now().AddDate(0, -3, 0), time.Now())
|
||||
acts, _ := dao.QueryActs(db, 0, 0, 50, -1, "", vendorID, []int{1}, actTypes, nil, storeID, nil, 0, utils.ZeroTimeValue, utils.ZeroTimeValue, time.Now().AddDate(0, -3, 0), time.Now())
|
||||
for _, v := range acts.Data {
|
||||
var actStoreSkuParam []*ActStoreSkuParam
|
||||
_, actStoreSkus, _ := dao.GetActStoreSkuVendorList(db, v.ID, []int{vendorID}, nil, nil, "", 0, 99999)
|
||||
|
||||
@@ -1392,6 +1392,8 @@ func GetSupplySupportStoreSkus(db *DaoDB, fromDate, toDate time.Time, fromStoreI
|
||||
JOIN store_sku_bind d ON d.store_id = ? AND d.sku_id = c.sku_id AND d.deleted_at = ?
|
||||
JOIN sku e ON e.id = d.sku_id
|
||||
JOIN sku_name f ON f.id = e.name_id
|
||||
WHERE status <> ?
|
||||
AND stock <> ?
|
||||
ORDER BY c.count desc
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
@@ -1401,6 +1403,8 @@ func GetSupplySupportStoreSkus(db *DaoDB, fromDate, toDate time.Time, fromStoreI
|
||||
6039481, //葱姜蒜
|
||||
fromStoreID,
|
||||
storeID, utils.DefaultTimeValue,
|
||||
model.StoreSkuBindStatusDontSale,
|
||||
0,
|
||||
}
|
||||
if err = GetRows(db, &getSupplySupportStoreSkusResult, sql, sqlParams); err == nil {
|
||||
return getSupplySupportStoreSkusResult, err
|
||||
|
||||
@@ -585,11 +585,14 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
}
|
||||
skuMap := make(map[int]*model.SkuAndName)
|
||||
for _, v := range skuList {
|
||||
if jxOrder.OrderType == model.OrderTypeMatter {
|
||||
if fromStoreID != 0 {
|
||||
if v.EclpID == "" {
|
||||
return nil, nil, fmt.Errorf("此商品物料编码为空,请联系管理员!skuID:[%v]", v.ID)
|
||||
}
|
||||
}
|
||||
// if jxOrder.OrderType == model.OrderTypeMatter {
|
||||
|
||||
// }
|
||||
skuMap[v.ID] = v
|
||||
}
|
||||
var (
|
||||
@@ -597,10 +600,14 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
sum int //申请物料的店的最近销量,以下会根据销量计算具体袋子的价格
|
||||
flag = false //新店袋子拆分当个参数
|
||||
)
|
||||
if jxOrder.OrderType == model.OrderTypeMatter && fromStoreID != -1 {
|
||||
if fromStoreID != 0 && fromStoreID != -1 {
|
||||
result, _ = orderman.GetMatterStoreOrderCount(nil, fromStoreID)
|
||||
sum = result.Count
|
||||
}
|
||||
// if jxOrder.OrderType == model.OrderTypeMatter && fromStoreID != -1 {
|
||||
// result, _ = orderman.GetMatterStoreOrderCount(nil, fromStoreID)
|
||||
// sum = result.Count
|
||||
// }
|
||||
if jxOrder.Weight == 0 {
|
||||
for _, v := range jxOrder.Skus {
|
||||
v.Weight = storeSkuMap[v.SkuID].Weight
|
||||
@@ -609,13 +616,15 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
}
|
||||
for _, v := range skus {
|
||||
if storeSkuBind := storeSkuMap[v.SkuID]; storeSkuBind != nil {
|
||||
if jxOrder.OrderType == model.OrderTypeMatter {
|
||||
if fromStoreID != 0 {
|
||||
// if jxOrder.OrderType == model.OrderTypeMatter {
|
||||
result2, _ := api.JdEclpAPI.QueryStock(storeSkuBind.EclpID)
|
||||
if len(result2) > 0 {
|
||||
if result2[0].UsableNum < v.Count {
|
||||
return nil, nil, fmt.Errorf("此商品库存不足无法购买,请联系管理员!skuID:[%v]", v.SkuID)
|
||||
}
|
||||
}
|
||||
// }
|
||||
}
|
||||
if sku := skuMap[v.SkuID]; sku != nil {
|
||||
jxSku := &JxSkuInfo{
|
||||
@@ -647,7 +656,8 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
}
|
||||
}
|
||||
if jxSku != nil {
|
||||
if jxOrder.OrderType != model.OrderTypeMatter || (jxOrder.OrderType == model.OrderTypeMatter && fromStoreID == -1) {
|
||||
if fromStoreID == 0 || fromStoreID == -1 {
|
||||
// if jxOrder.OrderType != model.OrderTypeMatter || (jxOrder.OrderType == model.OrderTypeMatter && fromStoreID == -1) {
|
||||
outJxOrder.Skus = append(outJxOrder.Skus, jxSku)
|
||||
outJxOrder.OrderPrice += int64(jxSku.Count) * jxSku.SalePrice
|
||||
} else { //以下else为物料订单袋子金额和数量处理
|
||||
@@ -764,7 +774,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
return nil, nil, fmt.Errorf("fromStoreID有误,[%v]", fromStoreID)
|
||||
}
|
||||
outJxOrder.FromStoreID = fromStoreID
|
||||
if jxOrder.OrderType == model.OrderTypeMatter {
|
||||
// if jxOrder.OrderType == model.OrderTypeMatter {
|
||||
//TODO 修改配送费规则,2020-04-28
|
||||
//3kg 5元,每多1kg加2元
|
||||
//配送费要按分包规则计算
|
||||
@@ -776,7 +786,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
_, freightPrice, _ := tryToSplitMatterOrder(jxOrder)
|
||||
outJxOrder.FreightPrice = freightPrice
|
||||
}
|
||||
}
|
||||
// }
|
||||
//要求配送人姓名填门店名
|
||||
if fromStoreID != -1 {
|
||||
deliveryAddress.ConsigneeName = storeDetail2.Name
|
||||
@@ -895,10 +905,10 @@ func jxOrder2GoodsOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, deliveryAd
|
||||
order.FromStoreID = jxOrder.FromStoreID
|
||||
order.DeliveryFlag = model.OrderDeliveryFlagMaskScheduleDisabled
|
||||
order.Flag = 1
|
||||
if jxOrder.OrderType == model.OrderTypeMatter {
|
||||
// if jxOrder.OrderType == model.OrderTypeMatter {
|
||||
order.WaybillVendorID = model.VendorIDJDWL
|
||||
order.ConsigneeAddress = deliveryAddress.Address
|
||||
}
|
||||
// }
|
||||
}
|
||||
//如果是自提单就设置
|
||||
if IsDeliverySelf {
|
||||
@@ -932,8 +942,9 @@ func PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string)
|
||||
}
|
||||
|
||||
func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
||||
if order.FromStoreID != 0 {
|
||||
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusDelivering, "")
|
||||
if order.OrderType == model.OrderTypeMatter {
|
||||
// if order.OrderType == model.OrderTypeMatter {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
)
|
||||
@@ -1116,7 +1127,8 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string)
|
||||
}
|
||||
|
||||
func CancelMatterOrder(db *dao.DaoDB, order *model.GoodsOrder, reason string) (err error) {
|
||||
if order.OrderType == model.OrderTypeMatter {
|
||||
if order.FromStoreID != 0 {
|
||||
// if order.OrderType == model.OrderTypeMatter {
|
||||
if order.EclpOutID != "" {
|
||||
//表示是京西的物料订单的子订单(拆分后的订单)
|
||||
if len(order.VendorOrderID) == 16 && order.VendorID == model.VendorIDJX {
|
||||
|
||||
Reference in New Issue
Block a user