Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -1186,6 +1186,25 @@ func SetStoreSkuSyncStatus2(db *dao.DaoDB, storeIDs []int, vendorIDs, skuIDs []i
|
||||
return num, nil
|
||||
}
|
||||
|
||||
func UpdateSkuImg(ctx *jxcontext.Context, skuID int, payload map[string]interface{}) (string, error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
)
|
||||
globals.SugarLogger.Debugf("UpdateSkuImg pre test data: %s\n", payload)
|
||||
if skuID == 0 {
|
||||
return "skuID必传", nil
|
||||
} else if payload["img"] == "" {
|
||||
return "img必传", nil
|
||||
}
|
||||
if _, err := dao.ExecuteSQL(db, `
|
||||
UPDATE sku_name s
|
||||
SET s.img = ?,s.img2 = ?,s.img3 = ?,s.img4 = ?,s.img5 = ?,s.desc_img = ?
|
||||
WHERE s.id = ? `, payload["img"], payload["img2"], payload["img3"], payload["img4"], payload["img5"], payload["descImg"], skuID); err != nil {
|
||||
return "数据库操作失败", err
|
||||
}
|
||||
return "", nil
|
||||
}
|
||||
|
||||
func DeleteSkuName(ctx *jxcontext.Context, nameID int, userName string) (num int64, err error) {
|
||||
db := dao.GetDB()
|
||||
txDB, _ := dao.Begin(db)
|
||||
|
||||
@@ -1522,7 +1522,8 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
|
||||
return nil, fmt.Errorf("此平台门店ID已在京西有绑定,请先解除绑定,平台门店ID :[%v]", storeMap.VendorStoreID)
|
||||
}
|
||||
if vendorID == model.VendorIDDD { //抖店绑定店铺时 检查并补充创建
|
||||
if err2 := tiktok_store.CreateAndBindAllV2(vendorOrgCode, int64(storeMap.StoreID), utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.DeliveryFeeDeductionFee), utils.Str2Int64(storeMap.YbStorePrefix), userName); err2 != nil {
|
||||
globals.SugarLogger.Debugf("vendorID ==============%d", vendorID)
|
||||
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)
|
||||
}
|
||||
}
|
||||
@@ -5893,9 +5894,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
|
||||
//}
|
||||
|
||||
@@ -5944,8 +6025,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) {
|
||||
|
||||
}
|
||||
|
||||
@@ -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(默认会创建)
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -222,6 +222,24 @@ func (c *SkuController) UpdateSkuName() {
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 仅修改商品图片
|
||||
// @Description 仅在本地数据库修改商品图片
|
||||
// @Param token header string true "认证token"`
|
||||
// @Param skuID formData int true "商品名ID"
|
||||
// @Param payload formData string true "商品图片"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /UpdateSkuImg [put]
|
||||
func (c *SkuController) UpdateSkuImg() {
|
||||
c.callUpdateSkuImg(func(params *tSkuUpdateSkuImgParams) (retVal interface{}, errCode string, err error) {
|
||||
payload := make(map[string]interface{})
|
||||
if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil {
|
||||
retVal, err = cms.UpdateSkuImg(params.Ctx, params.SkuID, payload)
|
||||
}
|
||||
return retVal, "", nil
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 删除商品名
|
||||
// @Description 此前商品名下的所有商品也会被级连删除
|
||||
// @Param token header string true "认证token"
|
||||
|
||||
Reference in New Issue
Block a user