This commit is contained in:
邹宗楠
2024-04-02 11:02:25 +08:00
parent 5dfc20c562
commit 53f5cb030a
7 changed files with 62 additions and 22 deletions

View File

@@ -24,7 +24,7 @@ import (
// 该函数主要用于对比京西平台商品和各个平台门店商品的差异
// 对比上下架状态以及商品价格差异,相同的不做修改,不同的以京西系统商品为主
func CompareJxVendorSku(jxStoreId int) error {
func CompareJxVendorSku(jxStoreId int, vendorIds []int) error {
var (
db = dao.GetDB()
errListToStr = new(strings.Builder)
@@ -44,7 +44,7 @@ func CompareJxVendorSku(jxStoreId int) error {
}
// 有效的三方平台
storeMap, err := dao.GetStoresMapList(db, nil, []int{jxStoreId}, []int{model.StoreStatusOpened, model.StoreStatusClosed, model.StoreStatusHaveRest}, model.StoreStatusDisabled, 1, "", "", "")
storeMap, err := dao.GetStoresMapList(db, vendorIds, []int{jxStoreId}, []int{model.StoreStatusOpened, model.StoreStatusClosed, model.StoreStatusHaveRest}, model.StoreStatusDisabled, 1, "", "", "")
if err != nil {
return err
}
@@ -63,6 +63,10 @@ func CompareJxVendorSku(jxStoreId int) error {
}
continue
case model.VendorIDDD:
if errs := TiktokSyncSkuPriceAndStatus(db, sm, skuMap); errs != nil {
errListToStr.WriteString(errs.Error())
}
continue
case model.VendorIDTaoVegetable:
if errs := TaoSyncSkuPriceAndStatus(db, sm, skuMap, skuIdList); errs != nil {
errListToStr.WriteString(errs.Error())

View File

@@ -675,6 +675,7 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
actStoreSkuMap = make(map[int][]*model.StoreSkuBind)
err2 = ""
vendorID int
actType int = 0
)
if len(vendorIDs) > 1 {
return fmt.Errorf("只允许单平台创建!")
@@ -684,7 +685,10 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
return fmt.Errorf("此接口只支持美团使用!")
}
if act.Type != model.ActSkuDirectDown {
return fmt.Errorf("此接口只支持创建直降!")
//return fmt.Errorf("此接口只支持创建直降!")
actType = mtwmapi.RetailActTypeSecKill
} else {
actType = mtwmapi.RetailActTypeDirectDown
}
setActDefault(act)
//处理actStoreSku
@@ -706,17 +710,17 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
}
}
//根据平台价排序
for _, storeSkus := range actStoreSkuMap {
for i := 0; i < len(storeSkus)-1; i++ {
for j := 0; j < len(storeSkus)-i-1; j++ {
if storeSkus[j].JdsPrice < storeSkus[j+1].JdsPrice {
temp := storeSkus[j]
storeSkus[j] = storeSkus[j+1]
storeSkus[j+1] = temp
}
}
}
}
//for _, storeSkus := range actStoreSkuMap {
// for i := 0; i < len(storeSkus)-1; i++ {
// for j := 0; j < len(storeSkus)-i-1; j++ {
// if storeSkus[j].JdsPrice < storeSkus[j+1].JdsPrice {
// temp := storeSkus[j]
// storeSkus[j] = storeSkus[j+1]
// storeSkus[j+1] = temp
// }
// }
// }
//}
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil {
@@ -795,7 +799,7 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
})
}
actIdResult := make(map[string]int64, 0)
actResult, faileInfoList, _ := api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, mtwmapi.RetailActTypeDirectDown, actData)
actResult, faileInfoList, _ := api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, actType, actData)
for _, v := range actResult {
var (
actStoreSkuMapUpdate *model.ActStoreSkuMap
@@ -827,7 +831,7 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
actData2[i-1].Sequence = i
actData2[i-1].OrderLimit = 1
}
api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, mtwmapi.RetailActTypeDirectDown, actData2)
api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, actType, actData2)
}
for _, v := range faileInfoList {
err2 += fmt.Sprintf("创建失败门店ID[%v]商品ID[%v],原因:[%v]", storeID, v.AppFoodCode, v.ErrorMsg)

View File

@@ -11,7 +11,7 @@ const (
StoreStatusAll = -9
StoreStatusDisabled = -2 // 禁用
StoreStatusClosed = -1 // 休息
StoreStatusHaveRest = 0 // 零食休息
StoreStatusHaveRest = 0 // 临时休息
StoreStatusOpened = 1 // 营业
StoreIsSyncAll = -1

View File

@@ -842,7 +842,7 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods
if err = api.DeliveryFinish(param); err != nil {
globals.SugarLogger.Debugf("PickupGoods 拣货失败可能是BizSubOrderId 没填写 : %s", err.Error())
return fmt.Errorf("订单缺失败,请拣货完成前取货.或者联系客户发起部分退款")
return fmt.Errorf("订单缺失败,请拣货完成前取货.或者联系客户发起部分退款:%v", err)
}
c.postFakeMsg(order.VendorOrderID, tao_vegetable.OrderStatusPickedUp, tao_vegetable.OrderStatusPickedUp)
return nil