This commit is contained in:
richboo111
2022-11-14 09:31:23 +08:00
parent ccdc014385
commit 848107bd2c
5 changed files with 117 additions and 22 deletions

View File

@@ -1523,7 +1523,7 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
}
if vendorID == model.VendorIDDD { //抖店绑定店铺时 检查并补充创建
globals.SugarLogger.Debugf("vendorID ==============%d", vendorID)
if err2 := tiktok_store.CreateAndBindAllV2(vendorOrgCode, int64(storeMap.StoreID), utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.DeliveryFeeDeductionFee), utils.Str2Int64(storeMap.YbStorePrefix), userName); err2 != nil {
if err2 := tiktok_store.CreateOrUpdateAll(vendorOrgCode, int64(storeMap.StoreID), utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.DeliveryFeeDeductionFee), utils.Str2Int64(storeMap.YbStorePrefix)); err2 != nil {
errList.AddErr(err2)
}
}
@@ -5898,9 +5898,89 @@ func UpdateStorePoiStatus(ctx *jxcontext.Context) error {
//抖音定时任务
//func UpdateStoreRelInformation(ctx *jxcontext.Context) error {
// var (
// db = dao.GetDB()
// storeIDs []string
// temp map[int64]string
// db = dao.GetDB()
// errList = errlist.New()
// tempIDs map[string][]string
// FreightTemplate = &model.FreightTemplate{}
// )
//storeList,_:=dao.GetStoreList(db,[]int{model.VendorIDDD},nil,[]int{model.store})
// vendorOrgCodes, _ := dao.GetVendorOrgCode(db, model.VendorIDDD, "", "platform")
// for _, v := range vendorOrgCodes {
// if temp, err = tiktok_store.GetAllVendorStoreMap(ctx, v.VendorOrgCode); err != nil {
// return nil, err
// }
// //tempIDs[v.VendorOrgCode] = temp
// }
//
// if handler, ok := partner.GetPurchasePlatformFromVendorID(model.VendorIDDD).(partner.IStoreHandler); ok {
// rootTask := tasksch.NewParallelTask("UpdateStoreRelInformation 根据平台门店ID同步本地相关信息", tasksch.NewParallelConfig().SetParallelCount(1), ctx,
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// vendorOrgCodes, _ := dao.GetVendorOrgCode(db, model.VendorIDDD, "", "platform")
// for _, v := range vendorOrgCodes {
// if temp, err = tiktok_store.GetAllVendorStoreMap(ctx, v.VendorOrgCode); err != nil {
// return nil, err
// }
// //tempIDs[v.VendorOrgCode] = temp
// }
//
// subTask := tasksch.NewSeqTask("UpdateStoreRelInformation 根据平台门店ID同步本地相关信息", ctx,
// func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) {
// switch step {
// case 0:
// for i, j := range tempIDs {
// for _, v := range j {
// //(1)仓库以及电子围栏
// if bindWarehouse, err := tiktok_store.GetWarehouseByStore(i, utils.Str2Int64(v)); err != nil {
// errList.AddErr(fmt.Errorf("同步任务: 获取门店(%s)绑定的仓库以及电子围栏失败:%v", v, err))
// } else if len(bindWarehouse[utils.Str2Int64(i)][0].OutFenceIds) > 0 {
// tempStr := ""
// for k, v := range bindWarehouse[utils.Str2Int64(i)][0].OutFenceIds {
// tempStr += v
// if k != len(bindWarehouse[utils.Str2Int64(i)][0].OutFenceIds) {
// tempStr += ","
// }
// }
// FreightTemplate.FenceID = tempStr
// FreightTemplate.WarehouseID = bindWarehouse[utils.Str2Int64(i)][0].WarehouseId
// }
// //(2)运费模板
// if bindFreightIDs, err := tiktok_store.GetStoreFreight(i, utils.Str2Int64(v)); err != nil {
// globals.SugarLogger.Debugf("同步任务: 获取门店(%s) 绑定运费模板出错:%v", v, err)
// errList.AddErr(fmt.Errorf("同步任务: 获取门店(%s) 绑定运费模板出错:%v", v, err))
// } else {
// FreightTemplate.TemplateID = bindFreightIDs
// }
// //(3)限售模板
// if bindTradeLimitID, err := tiktok_store.GetStoreSaleLimit(i, utils.Str2Int64(v)); err != nil {
// globals.SugarLogger.Debugf("同步任务: 获取门店(%s) 限售模板出错:%v", v, err)
// errList.AddErr(fmt.Errorf("同步任务: 获取门店(%s) 限售模板出错:%v", v, err))
// } else {
// FreightTemplate.TradeLimitID = bindTradeLimitID
// }
// }
// }
//
// if _, err := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID "); err != nil {
// if err1 := dao.CreateEntity(db, FreightTemplate); err != nil {
// errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v", err1))
// } else {
// errList.AddErr(fmt.Errorf("同步进数据库错误信息:%v", err))
// }
// }
// dao.WrapAddIDCULDEntity(FreightTemplate, "同步任务操作")
// }
// return nil, err
// }, 4)
// return retVal, err
// }, storeIDs)
// }
//
// //task := tasksch.NewSeqTask(fmt.Sprintf("平台:抖店小时达 UpdateStoreRelInformation"), ctx,
// // func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// //
// // }, 3)
// //tasksch.ManageTask(task).Run()
// return nil
//}
@@ -5949,8 +6029,3 @@ func GetVendorOrgCode(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID i
}
return storeMap, dao.GetEntitiesByKV(db, &storeMap, cond, false)
}
//批量绑定抖店平台门店
func BatchBindVendorStore(ctx *jxcontext.Context) {
}

View File

@@ -1023,7 +1023,7 @@ type FreightTemplate struct {
VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"` //抖店平台门店ID
TemplateID int64 `orm:"column(template_id)" json:"templateID"` //运费模板ID 1对1
WarehouseID int64 `orm:"column(warehouse_id)" json:"warehouseID"` //创建门店时绑定的仓库id 1对1(仓库和电子围栏1对n)
FenceID string `orm:"column(fence_id)" json:"fenceID"` //电子围栏id 1对1
FenceID string `orm:"column(fence_id)" json:"fenceID"` //电子围栏id 多个以逗号连接
TradeLimitID int64 `orm:"column(trade_limit_id)" json:"tradeLimitID"` //限售模板id 1对1(默认会创建)
}

View File

@@ -146,7 +146,6 @@ type IPurchasePlatformHandler interface {
// 只与平台相关
GetVendorCategories(ctx *jxcontext.Context) (vendorCats []*model.SkuVendorCategory, err error)
////////
// Store
ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID, vendorStoreName string) (store *dao.StoreDetail, err error)
UpdateStore(db *dao.DaoDB, storeID int, userName string) (err error)

View File

@@ -13,6 +13,7 @@ import (
shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/request"
shop_editStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_editStore/request"
shop_getStoreDetail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/request"
shop_getStoreList_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/request"
shop_storeSuspend_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/request"
shop_unsuspendStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_unsuspendStore/request"
trade_UpdateTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/request"
@@ -143,7 +144,7 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
errList.AddErr(dao.CreateEntity(db, storeMap))
}
vendorStoreIDs = utils.Int64ToStr(resp.ResultList[0].Store.StoreId)
if err := CreateAndBindAllV2(storeDetail.VendorOrgCode, int64(storeDetail.Store.ID), resp.ResultList[0].Store.StoreId, int64(storeDetail.DeliveryFeeDeductionFee), utils.Str2Int64(storeDetail.YbStorePrefix), userName); err != nil {
if err := CreateOrUpdateAll(storeDetail.VendorOrgCode, int64(storeDetail.Store.ID), resp.ResultList[0].Store.StoreId, int64(storeDetail.DeliveryFeeDeductionFee), utils.Str2Int64(storeDetail.YbStorePrefix)); err != nil {
errList.AddErr(err)
}
}
@@ -151,7 +152,6 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
return vendorStoreIDs, errors.New(fmt.Sprintf("创建抖店平台店铺相关错误信息:%v", endErr))
}
// todo 暂时不删除
func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFeeDeductionFee, minPrice int64) error {
var (
errList = errlist.New()
@@ -161,13 +161,13 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
//1.平台获取门店运费模板
bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
if err != nil {
globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err)
globals.SugarLogger.Debugf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err)
errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err))
}
if bindFreightIDs == 0 { //1未查询到绑定信息不算错误
//创建
if freightTemplateID, err := CreateFreightTemplate(int(storeID)); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) {
globals.SugarLogger.Debug("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)
globals.SugarLogger.Debugf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
} else { //绑定
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
@@ -915,16 +915,15 @@ func (P *PurchaseHandler) EnableAutoAcceptOrder(ctx *jxcontext.Context, vendorOr
// 获取店铺所有平台ID
func (P *PurchaseHandler) GetAllStoresVendorID(ctx *jxcontext.Context, vendorOrgCode string) (vendorStoreIDs []string, err error) {
//param := &shop_getStoreList_request.ShopGetStoreListParam{
// Page: 0,
// PageSize: 10,
// Page: "0",
// PageSize: "20",
//}
//storeList, err := api.DouDianApi.GetStoreList(param)
//if err != nil {
// return nil, err
//if stores, err := getAPI(vendorOrgCode, 0, "").GetStoreList(param); err != nil || stores.Total == 0 {
// return nil, errors.New(fmt.Sprintf("暂时无门店数据返回,请重试:%v", err))
//}
//if len(storeList.StoreDetailList) > 0 {
// vendorStoreIDs = make([]string, len(storeList.StoreDetailList))
// for k, v := range storeList.StoreDetailList {
//else if len(stores.StoreDetailList) > 0 {
// vendorStoreIDs = make([]string, len(stores.StoreDetailList))
// for k, v := range stores.StoreDetailList {
// vendorStoreIDs[k] = utils.Int64ToStr(v.Store.StoreId)
// }
//}
@@ -932,6 +931,19 @@ func (P *PurchaseHandler) GetAllStoresVendorID(ctx *jxcontext.Context, vendorOrg
return nil, err
}
//获取京西 抖店门店映射关系
func GetAllVendorStoreMap(ctx *jxcontext.Context, vendorOrgCode string) (map[int64]string, error) {
param := &shop_getStoreList_request.ShopGetStoreListParam{
Page: "0",
PageSize: "20",
}
if stores, err := getAPI(vendorOrgCode, 0, "").GetStoreList(param); err != nil || len(stores) == 0 {
return nil, errors.New(fmt.Sprintf("暂时无门店数据返回,请重试:%v", err))
} else {
return stores, err
}
}
func (P *PurchaseHandler) UpdateStoreLineStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, lineStatus int) (err error) {
a := getAPI(vendorOrgCode, storeID, vendorStoreID)
if lineStatus == model.StoreStatusOpened {

View File

@@ -222,6 +222,15 @@ func (c *SkuController) UpdateSkuName() {
})
}
// @Title 仅修改商品图片
// @Description 仅在本地数据库修改商品图片
// @Param token header string true "认证token"
// @Param skuID formData int true "需要修改的商品名IDpayload中的相应数据会被忽略"
// @Param payload formData string true "json数据SkuName对象() 只使用图片字段"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /UpdateSkuImgs [put]
// @Title 删除商品名
// @Description 此前商品名下的所有商品也会被级连删除
// @Param token header string true "认证token"