Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop

This commit is contained in:
邹宗楠
2022-11-07 17:02:37 +08:00
5 changed files with 85 additions and 68 deletions

View File

@@ -1524,7 +1524,7 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
} }
if vendorID == model.VendorIDDD { //抖店绑定店铺时 检查并补充创建 if vendorID == model.VendorIDDD { //抖店绑定店铺时 检查并补充创建
globals.SugarLogger.Debugf("vendorID ==============%d", vendorID) globals.SugarLogger.Debugf("vendorID ==============%d", vendorID)
if err2 := tiktok_store.CreateOrUpdateAll(vendorOrgCode, int64(storeMap.StoreID), utils.Str2Int64(storeMap.VendorStoreID)); 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) errList.AddErr(err2)
} }
} }
@@ -5950,3 +5950,8 @@ func GetVendorOrgCode(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID i
} }
return storeMap, dao.GetEntitiesByKV(db, &storeMap, cond, false) return storeMap, dao.GetEntitiesByKV(db, &storeMap, cond, false)
} }
//批量绑定抖店平台门店
func BatchBindVendorStore(ctx *jxcontext.Context) {
}

View File

@@ -61,7 +61,7 @@ type StoreDetail struct {
YbAppID string `orm:"column(yb_app_id)" json:"ybAppID"` YbAppID string `orm:"column(yb_app_id)" json:"ybAppID"`
YbAppKey string `json:"ybAppKey"` YbAppKey string `json:"ybAppKey"`
YbStorePrefix string `json:"ybStorePrefix"` YbStorePrefix string `json:"ybStorePrefix"` //vendorID=14 暂存打包费
MtwmToken string `json:"mtwmToken"` // 当vendor为美团时存储美团token,为抖店时存储抖店token MtwmToken string `json:"mtwmToken"` // 当vendor为美团时存储美团token,为抖店时存储抖店token
EbaiSupplierID string `json:"ebaiSupplierID"` EbaiSupplierID string `json:"ebaiSupplierID"`

View File

@@ -128,7 +128,7 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
//必须先存进数据库 //必须先存进数据库
vendorStoreIDs = utils.Int64ToStr(resp.ResultList[0].Store.StoreId) vendorStoreIDs = utils.Int64ToStr(resp.ResultList[0].Store.StoreId)
if err := CreateOrUpdateAll(storeDetail.VendorOrgCode, int64(storeDetail.Store.ID), resp.ResultList[0].Store.StoreId); 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) errList.AddErr(err)
} }
} }
@@ -136,8 +136,8 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
return vendorStoreIDs, errors.New(fmt.Sprintf("创建抖店平台店铺相关错误信息:%v", endErr)) return vendorStoreIDs, errors.New(fmt.Sprintf("创建抖店平台店铺相关错误信息:%v", endErr))
} }
//电子围栏 仓库 运费模板 限售模板 更新与绑定 //电子围栏 仓库 运费模板 限售模板 打包费 更新与绑定
func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error { func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFeeDeductionFee, minPrice int64) error {
var ( var (
errList = errlist.New() errList = errlist.New()
FreightTemplate = &model.FreightTemplate{} FreightTemplate = &model.FreightTemplate{}
@@ -167,12 +167,12 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
} }
//2.平台获取仓库信息以及电子围栏id //2.平台获取仓库信息以及电子围栏id
bindWarehouseAndFence, err := GetWarehouseByStore(vendorOrgCode, vendorStoreID) //bindWarehouseAndFence, err := GetWarehouseByStore(vendorOrgCode, vendorStoreID)
if err != nil { //if err != nil {
globals.SugarLogger.Debugf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err) // globals.SugarLogger.Debugf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err)
errList.AddErr(fmt.Errorf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err)) // errList.AddErr(fmt.Errorf("获取门店(%d) 绑定仓库信息以及电子围栏出错:%v", vendorStoreID, err))
} //}
if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库以及电子围栏 //if len(bindWarehouseAndFence) == 0 || utils.IsNil(bindWarehouseAndFence) { //未绑定仓库以及电子围栏
//(1)创建仓库 //(1)创建仓库
warehouseID, err := CreateWarehouse(vendorOrgCode, storeID) warehouseID, err := CreateWarehouse(vendorOrgCode, storeID)
if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) { if err != nil || warehouseID == 0 || utils.IsNil(warehouseID) {
@@ -197,53 +197,57 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID int64) error
} else { } else {
FreightTemplate.FenceID = utils.Int64ToStr(storeID) FreightTemplate.FenceID = utils.Int64ToStr(storeID)
} }
} //}
} else { //} else {
//电子围栏二次验证 // //电子围栏二次验证
if len(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) == 0 || utils.IsNil(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) { //未绑定电子围栏 // if len(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) == 0 || utils.IsNil(bindWarehouseAndFence[vendorStoreID][0].OutFenceIds) { //未绑定电子围栏
globals.SugarLogger.Debugf("进入二次创建电子围栏=========") // globals.SugarLogger.Debugf("进入二次创建电子围栏=========")
if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //创建 // if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //创建
globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err) // globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err)) // errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
} else { //绑定 // } else { //绑定
if err := BindFenceByStore(vendorOrgCode, vendorStoreID, []string{utils.Int64ToStr(storeID)}); err != nil { // if err := BindFenceByStore(vendorOrgCode, vendorStoreID, []string{utils.Int64ToStr(storeID)}); err != nil {
globals.SugarLogger.Debugf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err) // globals.SugarLogger.Debugf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)) // errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
} else { // } else {
FreightTemplate.FenceID = utils.Int64ToStr(storeID) // FreightTemplate.FenceID = utils.Int64ToStr(storeID)
} // }
} // }
} // }
} }
//3.平台获取限售模板 //3.平台获取限售模板
SaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID) bindSaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID)
if err != nil { if err != nil {
globals.SugarLogger.Debugf("获取门店(%d) 限售模板出错:%v", vendorStoreID, err) globals.SugarLogger.Debugf("获取门店(%d) 限售模板失败:%v", vendorStoreID, err)
errList.AddErr(fmt.Errorf("获取门店(%d) 限售模板出错:%v", vendorStoreID, err)) errList.AddErr(fmt.Errorf("获取门店(%d) 限售模板失败:%v", vendorStoreID, err))
} }
if SaleLimitID == 0 || utils.IsNil(SaleLimitID) { //未绑定限售模板 if bindSaleLimitID == 0 || utils.IsNil(bindSaleLimitID) { //未绑定限售模板,目前默认创建起送价限售模板
if tradeLimitID, err := CreateTradeLimitTemplate(vendorOrgCode, storeID); err != nil || tradeLimitID == 0 || utils.IsNil(tradeLimitID) { if createSaleLimitID, err := CreateAndBindMinPriceTemplate(vendorOrgCode, vendorStoreID, minPrice); err != nil {
globals.SugarLogger.Debugf("门店(%d) 创建限售模板失败:%v", storeID, err) errList.AddErr(fmt.Errorf("设置门店起送价限售模板失败:%v", err))
errList.AddErr(fmt.Errorf("门店(%d) 创建限售模板失败:%v", storeID, err))
} else { } else {
if err := BindStoreSaleLimit(vendorOrgCode, vendorStoreID, tradeLimitID); err != nil { FreightTemplate.TradeLimitID = createSaleLimitID
globals.SugarLogger.Debugf("门店(%d) 创建限售模板失败:%v", storeID, err)
errList.AddErr(fmt.Errorf("门店(%d) 创建限售模板失败:%v", storeID, err))
} else {
FreightTemplate.TradeLimitID = tradeLimitID
} }
} else {
if updateSaleLimitID, err := UpdateTradeLimitTemplate(vendorOrgCode, bindSaleLimitID, minPrice); err != nil {
errList.AddErr(fmt.Errorf("更新门店起送价限售模板失败:%v", err))
} else {
FreightTemplate.TradeLimitID = updateSaleLimitID
} }
} }
//4.同步进数据库 //4. 设置门店打包费 默认为0
if err := SetStorePackageFee(vendorOrgCode, vendorStoreID, deliveryFeeDeductionFee); err != nil {
errList.AddErr(fmt.Errorf("设置门店打包费失败:%v", err))
}
//5.同步进数据库
FreightTemplate.DeletedAt = utils.DefaultTimeValue FreightTemplate.DeletedAt = utils.DefaultTimeValue
FreightTemplate = &model.FreightTemplate{ FreightTemplate = &model.FreightTemplate{
StoreID: int(storeID), StoreID: int(storeID),
VendorStoreID: utils.Int64ToStr(vendorStoreID), VendorStoreID: utils.Int64ToStr(vendorStoreID),
} }
if err = dao.CreateEntity(db, FreightTemplate); err != nil { if err = dao.CreateEntity(db, FreightTemplate); err != nil {
_, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID") _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID")
if err1 == nil { if err1 == nil {

View File

@@ -196,10 +196,9 @@ func UpdateFenceByStore(appOrgCode, outFenceID string, storeID int) error {
sqlParam := []interface{}{ sqlParam := []interface{}{
model.VendorIDDD, model.VendorIDDD,
} }
sqlStr := ` SELECT t.lng,t.lat,t.delivery_range_type,t.delivery_range,s.vendor_store_id FROM store t sqlStr := `SELECT t.lng,t.lat,t.delivery_range_type,t.delivery_range FROM store t`
LEFT JOIN store_map s ON t.id = s.store_id WHERE s.vendor_id = ? `
if storeID != 0 { if storeID != 0 {
sqlStr += " AND t.id = ? " sqlStr += " WHERE t.id = ? "
sqlParam = append(sqlParam, storeID) sqlParam = append(sqlParam, storeID)
} else { } else {
return fmt.Errorf("storeID必填") return fmt.Errorf("storeID必填")

View File

@@ -1507,3 +1507,12 @@ func (c *StoreController) GetDDScope() {
return retVal, "", nil return retVal, "", nil
}) })
} }
// @Title 批量绑定抖店与京西门店
// @Description 批量绑定抖店与京西门店
// @Param token header string true "认证token"
// @Param storeID formData int true "门店ID"
// @Param vendorStoreID formData string true "平台门店ID"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /BatchBindVendorStore [post]