添加美团服务商配置,修改抖音自动获取品牌

This commit is contained in:
邹宗楠
2023-02-28 14:16:13 +08:00
parent 746ce5bca9
commit 00a363c8e6
6 changed files with 78 additions and 14 deletions

View File

@@ -882,9 +882,27 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID
if toTime.Sub(fromTime).Hours() > 24 {
isLongTime = true
}
if len(storeIDList) >= 2 {
globals.SugarLogger.Errorf("GetStoresOrderSaleInfoNew err : [%v]", storeIDList)
}
// 获取门店绑定美团的详情,是否为服务商.
// 如果是服务商将不再统计美团的订单!其他平台正常统计!
storeMapList, err := dao.GetStoresMapList2(db, []int{model.VendorIDMTWM}, storeIDList, nil, model.StoreStatusAll, 0, "", "", "", false)
if err != nil {
return nil, err
}
isService := 0
if len(storeMapList) > 0 {
for _, v := range storeMapList {
isService = v.IsService
}
}
orderIDMap := make(map[string]struct{})
var vendorOrderIDs []string
orderSkuList, err := dao.GetStoreOrderSkuList(db, storeIDList, fromTime, toTime, statusList, true)
orderSkuList, err := dao.GetStoreOrderSkuList(db, storeIDList, fromTime, toTime, statusList, true, isService)
if err != nil {
return nil, err
}
@@ -900,13 +918,7 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID
afsSkuList, err = dao.GetStoreAfsOrderSkuList2(db, vendorOrderIDs)
orderSkuList4Afs, err = dao.GetStoreOrderSkuList4Afs2(db, vendorOrderIDs)
}
//afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished}, true)
//if err != nil {
// return nil, err
//}
//if err != nil {
// return nil, err
//}
orderSkuHandler := func(skuList []*dao.OrderSkuWithActualPayPrice) (orderMap map[string]*model.GoodsOrder, orderSkuMap map[string]*dao.OrderSkuWithActualPayPrice, saleInfoMap map[int64]*dao.StoresOrderSaleInfo) {
orderMap = make(map[string]*model.GoodsOrder)
orderSkuMap = make(map[string]*dao.OrderSkuWithActualPayPrice)

View File

@@ -376,7 +376,7 @@ func GetAfsOrderSkuInfo(db *DaoDB, vendorOrderID, afsOrderID string, vendorID in
return skus, err
}
func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool) (skuList []*OrderSkuWithActualPayPrice, err error) {
func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool, isService int) (skuList []*OrderSkuWithActualPayPrice, err error) {
// order_finished_at
sql := `
SELECT t1.*,
@@ -403,6 +403,11 @@ func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAt
sql += " AND t2.status IN (" + GenQuestionMarks(len(statusList)) + ")"
sqlParams = append(sqlParams, statusList)
}
if isService == model.YES {
sql += "AND t2.vendor_id <> ?"
sqlParams = append(sqlParams, model.VendorIDMTWM)
}
err = GetRows(db, &skuList, sql, sqlParams...)
return skuList, err
}

View File

@@ -24,13 +24,13 @@ func TestGetAfsOrderSkuInfo(t *testing.T) {
}
func TestGetStoreOrderSkuList(t *testing.T) {
skuList, err := GetStoreOrderSkuList(GetDB(), []int{100118}, time.Now().Add(-30*time.Hour), time.Now(), nil, false)
skuList, err := GetStoreOrderSkuList(GetDB(), []int{100118}, time.Now().Add(-30*time.Hour), time.Now(), nil, false, 1)
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(skuList, false))
afsSkuList, err := GetStoreOrderSkuList(GetDB(), []int{100118}, time.Now().Add(-30*time.Hour), time.Now(), nil, false)
afsSkuList, err := GetStoreOrderSkuList(GetDB(), []int{100118}, time.Now().Add(-30*time.Hour), time.Now(), nil, false, 1)
if err != nil {
t.Fatal(err)
}

View File

@@ -492,6 +492,7 @@ type StoreMap struct {
DeliveryFeeDeductionFee int `json:"deliveryFeeDeductionFee"` //在vendorID=14,存储打包费
DeliveryCompetition int8 `orm:"default(1)" json:"deliveryCompetition"` // 是否支持配送竞争
CreateDeliveryType int `orm:"default(0)" json:"createDeliveryType"` //默认0系统发单1为门店发单
IsService int `orm:"default(0)" json:"isService"` // 默认0非服务商1服务商
SyncStatus int8 `orm:"default(2)" json:"syncStatus"`
IsSync int8 `orm:"default(1)" json:"isSync"` // 是否同步

View File

@@ -162,7 +162,19 @@ func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID in
storeCat.CatSyncStatus |= model.SyncFlagNewMask
err = p.CreateStoreCategory(ctx, storeID, vendorStoreID, storeCat)
}
// 门店内存在重复的分类:【柑桔柚类】 【底料】,请先删除重复分类后再操作。
if err != nil && strings.Contains(err.Error(), "门店内存在重复的分类:") {
for _, v := range deleteRepeatCat(err.Error()) {
if len(v) > 0 {
if err2 := api.RetailCatDelete(vendorStoreID, "", v, model.YES); err != nil {
globals.SugarLogger.Errorf("RetailCatDelete delete err : [%v]", err2)
}
}
}
}
}
if err == nil {
// storeCat.VendorCatID = utils.FilterEmoji(storeCat.Name)
storeCat.VendorCatID = utils.Int2Str(storeCat.ID)
@@ -170,6 +182,40 @@ func (p *PurchaseHandler) CreateStoreCategory(ctx *jxcontext.Context, storeID in
return err
}
// deleteRepeatCat 门店内存在重复的分类:【柑桔柚类】 【底料】 【火锅】,请先删除重复分类后再操作。
func deleteRepeatCat(param string) []string {
firstIndex := strings.Index(param, "【")
lastIndex := strings.LastIndex(param, "】")
newParam := param[firstIndex:lastIndex]
deleteCat := make([]string, 0, 0)
for _, v := range strings.Split(newParam, "【") {
if strings.TrimSpace(v) == "" {
continue
} else if strings.Contains(v, "【") {
for _, v2 := range strings.Split(v, "【") {
if strings.TrimSpace(v) == "" {
continue
}
if strings.TrimSpace(v2) != "" {
deleteCat = append(deleteCat, v2)
}
}
} else if strings.Contains(v, "】") {
for _, v3 := range strings.Split(v, "】") {
if strings.TrimSpace(v3) == "" {
continue
}
if strings.TrimSpace(v3) != "" {
deleteCat = append(deleteCat, v3)
}
}
} else {
deleteCat = append(deleteCat, v)
}
}
return deleteCat
}
func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID string, storeCat *dao.SkuStoreCatInfo) (err error) {
return p.CreateStoreCategory(ctx, storeID, vendorStoreID, storeCat)
}
@@ -177,7 +223,7 @@ func (p *PurchaseHandler) UpdateStoreCategory(ctx *jxcontext.Context, storeID in
func (p *PurchaseHandler) DeleteStoreCategory(ctx *jxcontext.Context, storeID int, vendorStoreID, vendorCatID string, level int) (err error) {
if false {
if globals.EnableMtwmStoreWrite {
err = getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailCatDelete(vendorStoreID, tryCatName2Code(vendorCatID), vendorCatID)
err = getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID).RetailCatDelete(vendorStoreID, tryCatName2Code(vendorCatID), vendorCatID, model.NO)
}
} else {
var catCodes []string

View File

@@ -249,7 +249,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
updateParam.Pic = param.Pic
updateParam.Description = param.Description
updateParam.WeightUnit = tiktokShop.WeightUint_G
updateParam.StandardBrandId, err = getTiktokBrandId(api, db, storeSku.Upc, storeSku.UpcBrandName, storeSku.UpcTiktokBrandId, updateParam.CategoryLeafId)
updateParam.StandardBrandId, _ = getTiktokBrandId(api, db, storeSku.Upc, storeSku.UpcBrandName, storeSku.UpcTiktokBrandId, updateParam.CategoryLeafId)
updateParam.ProductId = mainOrderDetail.ProductId
updateParam.MainProductId = mainProductId
@@ -378,7 +378,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
param.ProductFormatNew = storeSku.TiktokAttribute
}
// 获取品牌
param.StandardBrandId = 789194134 // 默认品牌京西菜市
param.StandardBrandId, _ = getTiktokBrandId(api, db, storeSku.Upc, storeSku.UpcBrandName, storeSku.UpcTiktokBrandId, param.CategoryLeafId)
// 修改商品
param.ProductId = mainIdInt