Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -1527,7 +1527,7 @@ func AddStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, vendorID int, vend
|
|||||||
return nil, fmt.Errorf("此平台门店ID已在京西有绑定,请先解除绑定,平台门店ID :[%v]", storeMap.VendorStoreID)
|
return nil, fmt.Errorf("此平台门店ID已在京西有绑定,请先解除绑定,平台门店ID :[%v]", storeMap.VendorStoreID)
|
||||||
}
|
}
|
||||||
if vendorID == model.VendorIDDD { //抖店绑定店铺时 检查并补充创建
|
if vendorID == model.VendorIDDD { //抖店绑定店铺时 检查并补充创建
|
||||||
if err2 := tiktok_store.CreateOrUpdateAll(vendorOrgCode, int64(storeMap.StoreID), utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.DeliveryFeeDeductionFee), utils.Str2Int64(storeMap.YbStorePrefix)); err2 != nil {
|
if err2 := tiktok_store.CreateOrUpdateAll(vendorOrgCode, int64(storeMap.StoreID), utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.DeliveryFeeDeductionFee), int64(storeMap.DeliveryFeeDeductionSill), utils.Str2Int64(storeMap.YbStorePrefix), storeMap.YbAppID); err2 != nil {
|
||||||
errList.AddErr(err2)
|
errList.AddErr(err2)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1706,13 +1706,14 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
|
|||||||
//增加同步到抖店厂商的同步标志
|
//增加同步到抖店厂商的同步标志
|
||||||
DDFlag := false
|
DDFlag := false
|
||||||
errList := errlist.ErrList{}
|
errList := errlist.ErrList{}
|
||||||
if (valid["deliveryFeeDeductionSill"] != nil || valid["deliveryFeeDeductionFee"] != nil || valid["ybStorePrefix"] != nil) && vendorID == model.VendorIDDD {
|
//deliveryFeeDeductionSill-包邮模板 满x包邮金额 deliveryFeeDeductionFee-打包费 ybStorePrefix-起送价 ybAppID-自动运力设置
|
||||||
|
if (valid["deliveryFeeDeductionSill"] != nil || valid["deliveryFeeDeductionFee"] != nil || valid["ybStorePrefix"] != nil || valid["ybAppID"] != nil) && vendorID == model.VendorIDDD {
|
||||||
DDFlag = true
|
DDFlag = true
|
||||||
} //特殊处理抖店运费模板、打包费
|
} //特殊处理抖店运费模板、打包费
|
||||||
if DDFlag {
|
if DDFlag {
|
||||||
globals.SugarLogger.Debug("进入DDFlag 特殊处理运费模板、起送价、打包费")
|
globals.SugarLogger.Debug("进入DDFlag 特殊处理运费模板、起送价、打包费、自动运力设置")
|
||||||
if err := tiktok_store.SpecialTreat(storeMap.VendorOrgCode, utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.StoreID), int64(storeMap.DeliveryFeeDeductionFee), utils.Str2Int64(storeMap.YbStorePrefix)); err != nil {
|
if err := tiktok_store.SpecialTreat(storeMap.VendorOrgCode, utils.Str2Int64(storeMap.VendorStoreID), int64(storeMap.StoreID), int64(storeMap.DeliveryFeeDeductionFee), int64(storeMap.DeliveryFeeDeductionSill), utils.Str2Int64(storeMap.YbStorePrefix), storeMap.YbAppID); err != nil {
|
||||||
errList.AddErr(fmt.Errorf("抖店运费模板、起送价、打包费相关处理错误:%v", err))
|
errList.AddErr(fmt.Errorf("抖店运费模板、起送价、打包费、自动运力设置相关处理错误:%v", err))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, v := range [][]string{
|
for _, v := range [][]string{
|
||||||
@@ -5967,7 +5968,7 @@ func UpdateStoreRelInformation(ctx *jxcontext.Context) error {
|
|||||||
FreightTemplate.VendorStoreID = utils.Int64ToStr(m)
|
FreightTemplate.VendorStoreID = utils.Int64ToStr(m)
|
||||||
FreightTemplate.StoreID = utils.Str2Int(n)
|
FreightTemplate.StoreID = utils.Str2Int(n)
|
||||||
if _, err := dao.UpdateEntity(db, FreightTemplate, "VendorStoreID", "StoreID", "TemplateID", "WarehouseID", "FenceID", "TradeLimitID"); err != nil {
|
if _, err := dao.UpdateEntity(db, FreightTemplate, "VendorStoreID", "StoreID", "TemplateID", "WarehouseID", "FenceID", "TradeLimitID"); err != nil {
|
||||||
if err1 := dao.CreateEntity(db, FreightTemplate); err1 != nil {
|
if err1 := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err1) || err1 != nil {
|
||||||
errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err1))
|
errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err1))
|
||||||
} else {
|
} else {
|
||||||
errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err))
|
errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err))
|
||||||
@@ -6045,7 +6046,9 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
endStr = tStr1 + "," + tStr2
|
endStr = tStr1 + "," + tStr2
|
||||||
globals.SugarLogger.Debugf("京西平台没有配送范围的门店ID=%s", endStr)
|
if len(endStr) > 0 {
|
||||||
|
globals.SugarLogger.Debugf("京西平台没有配送范围的门店ID=%s", endStr)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if bindFence, err := tiktok_store.GetWarehouseByStore(k, utils.Str2Int64(i.VendorStoreID)); err == nil && (len(bindFence) > 0 && len(bindFence[i.VendorStoreID][0].OutFenceIds) > 0) {
|
if bindFence, err := tiktok_store.GetWarehouseByStore(k, utils.Str2Int64(i.VendorStoreID)); err == nil && (len(bindFence) > 0 && len(bindFence[i.VendorStoreID][0].OutFenceIds) > 0) {
|
||||||
tempFenceID = bindFence[i.VendorStoreID][0].OutFenceIds[0]
|
tempFenceID = bindFence[i.VendorStoreID][0].OutFenceIds[0]
|
||||||
@@ -6062,7 +6065,7 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err := dao.CreateEntity(db, FreightTemplate); err != nil {
|
if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
|
||||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID"); err1 != nil {
|
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID"); err1 != nil {
|
||||||
globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
|
globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
|
||||||
//errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
//errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
||||||
@@ -6087,14 +6090,14 @@ func BatchCreateFreeShipTemplate(relInfo map[string][]tiktok_store.RelInfo, ship
|
|||||||
errList := errlist.New()
|
errList := errlist.New()
|
||||||
for k, v := range relInfo {
|
for k, v := range relInfo {
|
||||||
for _, i := range v {
|
for _, i := range v {
|
||||||
if bindFreightID, err := tiktok_store.GetStoreFreight(k, utils.Str2Int64(i.VendorStoreID)); err != nil || bindFreightID == 0 || utils.IsNil(bindFreightID) {
|
if bindFreightID, err := tiktok_store.GetStoreFreight(k, utils.Str2Int64(i.VendorStoreID)); err != nil || bindFreightID == 0 {
|
||||||
if err := tiktok_store.CreateBindFreeShipTemplate(utils.Str2Int(i.StoreID), shipFee); err != nil {
|
if err := tiktok_store.CreateBindFreeShipTemplate(k, utils.Str2Int(i.StoreID), shipFee); err != nil {
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
_ = tiktok_store.ShopBindStoreFreight(k, utils.Str2Int64(i.VendorStoreID), bindFreightID)
|
_ = tiktok_store.ShopBindStoreFreight(k, utils.Str2Int64(i.VendorStoreID), bindFreightID)
|
||||||
globals.SugarLogger.Debugf("进入更新包邮模板操作")
|
globals.SugarLogger.Debugf("进入更新包邮模板操作")
|
||||||
if err := tiktok_store.UpdateFreeShipTemplate(utils.Str2Int(i.StoreID), shipFee); err != nil {
|
if err := tiktok_store.UpdateFreeShipTemplate(k, utils.Str2Int(i.StoreID), shipFee); err != nil {
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6129,6 +6132,11 @@ func SetStoreAutoCallRider(vendorOrgCode string, openIDs, closeIDs []int64) (str
|
|||||||
return "", nil
|
return "", nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//操作 freight_template
|
||||||
|
func ReplaceInsertFreight(storeID, templateID, warehouseID, tradeLimitID int, vendorStoreID, fenceID string) error {
|
||||||
|
return dao.ReplaceInsertFreight2(storeID, templateID, warehouseID, tradeLimitID, vendorStoreID, fenceID)
|
||||||
|
}
|
||||||
|
|
||||||
//辅助函数
|
//辅助函数
|
||||||
func String2ArrayInt64(data string) (retVal []int64) {
|
func String2ArrayInt64(data string) (retVal []int64) {
|
||||||
temp := strings.Split(data, ",")
|
temp := strings.Split(data, ",")
|
||||||
|
|||||||
32
business/model/dao/freight_template.go
Normal file
32
business/model/dao/freight_template.go
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
package dao
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
|
)
|
||||||
|
|
||||||
|
func ReplaceInsertFreight2(storeID, templateID, warehouseID, tradeLimitID int, vendorStoreID, fenceID string) error {
|
||||||
|
if storeID == 0 || len(vendorStoreID) == 0 {
|
||||||
|
return fmt.Errorf("storeID或vendorStoreID不允许为空")
|
||||||
|
}
|
||||||
|
sqlStr := `REPLACE INTO freight_template (store_id, vendor_store_id, template_id, warehouse_id, fence_id, trade_limit_id)
|
||||||
|
SELECT ?,?,?,?,?,? FROM DUAL WHERE NOT EXISTS(SELECT COUNT(store_id) FROM freight_template WHERE store_id = ?)=0`
|
||||||
|
sqlParam := []interface{}{storeID, vendorStoreID, templateID, warehouseID, fenceID, tradeLimitID, storeID}
|
||||||
|
_, err := ExecuteSQL(GetDB(), sqlStr, sqlParam)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
func ReplaceInsertFreight(tem *model.FreightTemplate) error {
|
||||||
|
if tem.StoreID == 0 || len(tem.VendorStoreID) == 0 {
|
||||||
|
return fmt.Errorf("storeID或vendorStoreID不允许为空")
|
||||||
|
}
|
||||||
|
sqlStr := `REPLACE INTO freight_template (store_id, vendor_store_id, template_id, warehouse_id, fence_id, trade_limit_id)
|
||||||
|
SELECT ?,?,?,?,?,? FROM DUAL WHERE NOT EXISTS(SELECT COUNT(store_id) FROM freight_template WHERE store_id = ?)=0`
|
||||||
|
sqlParam := []interface{}{tem.StoreID, tem.VendorStoreID, tem.TemplateID, tem.WarehouseID, tem.FenceID, tem.TradeLimitID, tem.StoreID}
|
||||||
|
_, err := ExecuteSQL(GetDB(), sqlStr, sqlParam)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func InsertItemFreight() {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -143,7 +143,7 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
|
|||||||
errList.AddErr(dao.CreateEntity(db, storeMap))
|
errList.AddErr(dao.CreateEntity(db, storeMap))
|
||||||
}
|
}
|
||||||
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, int64(storeDetail.DeliveryFeeDeductionFee), utils.Str2Int64(storeDetail.YbStorePrefix)); err != nil {
|
if err := CreateOrUpdateAll(storeDetail.VendorOrgCode, int64(storeDetail.Store.ID), resp.ResultList[0].Store.StoreId, int64(storeDetail.DeliveryFeeDeductionFee), int64(storeMap.DeliveryFeeDeductionSill), utils.Str2Int64(storeDetail.YbStorePrefix), storeDetail.YbAppID); err != nil {
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -151,20 +151,22 @@ 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, deliveryFeeDeductionFee, minPrice int64) error {
|
func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFeeDeductionFee, deliveryFeeDeductionSill, minPrice int64, autoCall string) error {
|
||||||
var (
|
var (
|
||||||
errList = errlist.New()
|
errList = errlist.New()
|
||||||
FreightTemplate = &model.FreightTemplate{}
|
FreightTemplate = &model.FreightTemplate{
|
||||||
db *dao.DaoDB
|
StoreID: int(storeID),
|
||||||
|
VendorStoreID: utils.Int64ToStr(vendorStoreID),
|
||||||
|
}
|
||||||
)
|
)
|
||||||
//检查门店是否审核通过
|
//检查门店是否审核通过
|
||||||
if IfAuditPass(vendorOrgCode, vendorStoreID) {
|
if IfAuditPass(vendorOrgCode, vendorStoreID) {
|
||||||
return fmt.Errorf("门店%d 未审核通过,请通过后再进行绑定", storeID)
|
return fmt.Errorf("门店%d 未审核通过,请通过后再进行绑定", storeID)
|
||||||
}
|
}
|
||||||
//1.平台获取门店运费模板
|
//1.运费模板
|
||||||
if bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID); err != nil || bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
if bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID); err != nil || bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
||||||
//创建
|
//创建
|
||||||
if freightTemplateID, err := CreateFreightTemplate(int(storeID)); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) {
|
if freightTemplateID, err := CreateFreightTemplate(int(storeID), int(deliveryFeeDeductionSill)); err != nil || freightTemplateID == 0 {
|
||||||
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
|
errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 创建运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
|
||||||
} else { //绑定
|
} else { //绑定
|
||||||
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
|
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
|
||||||
@@ -174,6 +176,10 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if err := UpdateFreightTemplate(int(storeID)); err != nil {
|
||||||
|
globals.SugarLogger.Debug("更新运费模板失败:", err)
|
||||||
|
errList.AddErr(fmt.Errorf("更新运费模板失败:%v", err))
|
||||||
|
}
|
||||||
FreightTemplate.TemplateID = bindFreightIDs
|
FreightTemplate.TemplateID = bindFreightIDs
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,6 +202,10 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
|||||||
}
|
}
|
||||||
//(2)电子围栏
|
//(2)电子围栏
|
||||||
if len(bind[utils.Int64ToStr(storeID)][0].OutFenceIds) > 0 {
|
if len(bind[utils.Int64ToStr(storeID)][0].OutFenceIds) > 0 {
|
||||||
|
tempFenceID := bind[utils.Int64ToStr(storeID)][0].OutFenceIds[0]
|
||||||
|
if err1 := UpdateFenceByStore(vendorOrgCode, tempFenceID, int(vendorStoreID)); err1 != nil {
|
||||||
|
errList.AddErr(fmt.Errorf("平台门店(%d),门店(%d)更新电子围栏失败:%v", vendorStoreID, storeID, err1))
|
||||||
|
}
|
||||||
FreightTemplate.FenceID = bind[utils.Int64ToStr(storeID)][0].OutFenceIds[0] //保存一个就足够
|
FreightTemplate.FenceID = bind[utils.Int64ToStr(storeID)][0].OutFenceIds[0] //保存一个就足够
|
||||||
} else {
|
} else {
|
||||||
if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || len(fenceID) == 0 {
|
if fenceID, err := CreateFenceByStore(vendorOrgCode, storeID); err != nil || len(fenceID) == 0 {
|
||||||
@@ -228,135 +238,39 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
|
|||||||
if err := SetStorePackageFee(vendorOrgCode, vendorStoreID, deliveryFeeDeductionFee); err != nil {
|
if err := SetStorePackageFee(vendorOrgCode, vendorStoreID, deliveryFeeDeductionFee); err != nil {
|
||||||
errList.AddErr(fmt.Errorf("设置门店打包费失败:%v", err))
|
errList.AddErr(fmt.Errorf("设置门店打包费失败:%v", err))
|
||||||
}
|
}
|
||||||
//5.同步进数据库
|
//5.设置自动运力
|
||||||
FreightTemplate.StoreID = int(storeID)
|
if autoCall == tiktok_api.AutoCallRiderOpen {
|
||||||
FreightTemplate.VendorStoreID = utils.Int64ToStr(vendorStoreID)
|
if err := SetStoreAutoCallRider(vendorOrgCode, tiktok_api.AutoCallRiderOpen, vendorStoreID); err != nil {
|
||||||
if err := dao.CreateEntity(db, FreightTemplate); err != nil {
|
errList.AddErr(fmt.Errorf("开启门店自动运力失败:%v", err))
|
||||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID", "StoreID", "VendorStoreID"); err1 != nil {
|
}
|
||||||
globals.SugarLogger.Debug("更新操作,同步进数据库错误信息:%v", err1)
|
} else {
|
||||||
//errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
if err := SetStoreAutoCallRider(vendorOrgCode, tiktok_api.AutoCallRiderClose, vendorStoreID); err != nil {
|
||||||
} else {
|
errList.AddErr(fmt.Errorf("关闭门店自动运力失败:%v", err))
|
||||||
globals.SugarLogger.Debug("创建操作,同步进数据库错误信息:%v", err)
|
|
||||||
//errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//6.同步进数据库
|
||||||
|
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
|
||||||
|
globals.SugarLogger.Debug("同步数据库错误信息:%v", err)
|
||||||
|
}
|
||||||
|
//if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
|
||||||
|
// if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID", "StoreID", "VendorStoreID"); err1 != nil {
|
||||||
|
// globals.SugarLogger.Debug("更新操作,同步进数据库错误信息:%v", err1)
|
||||||
|
// //errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
||||||
|
// } else {
|
||||||
|
// globals.SugarLogger.Debug("创建操作,同步进数据库错误信息:%v", err)
|
||||||
|
// //errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
||||||
|
// }
|
||||||
|
//}
|
||||||
endErr := errList.GetErrListAsOne()
|
endErr := errList.GetErrListAsOne()
|
||||||
if endErr != nil {
|
if endErr != nil {
|
||||||
globals.SugarLogger.Debug("绑定门店需进行的错误处理:%v", errors.New(fmt.Sprintf("%s", utils.Format4Output(errList, false))))
|
globals.SugarLogger.Debug("绑定抖音门店需进行的错误处理:%v", errors.New(fmt.Sprintf("%s", utils.Format4Output(errList, false))))
|
||||||
return endErr
|
return endErr
|
||||||
} else {
|
} else {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//逻辑未修改,暂时不使用
|
|
||||||
//func CreateAndBindAllV2(vendorOrgCode string, storeID, vendorStoreID, deliveryFeeDeductionFee, minPrice int64) error {
|
|
||||||
// var (
|
|
||||||
// db *dao.DaoDB
|
|
||||||
// ctx *jxcontext.Context
|
|
||||||
// errList = errlist.New()
|
|
||||||
// FreightTemplate = &model.FreightTemplate{
|
|
||||||
// VendorStoreID: utils.Int64ToStr(vendorStoreID),
|
|
||||||
// StoreID: int(storeID),
|
|
||||||
// }
|
|
||||||
// )
|
|
||||||
// task := tasksch.NewParallelTask("CreateAndBindAllV2", tasksch.NewParallelConfig().SetIsContinueWhenError(true).SetParallelCount(1), ctx,
|
|
||||||
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
|
||||||
// step := batchItemList[0].(int)
|
|
||||||
// switch step {
|
|
||||||
// case 0: //1.门店运费模板
|
|
||||||
// bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
|
|
||||||
// if err != nil {
|
|
||||||
// globals.SugarLogger.Debugf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err)
|
|
||||||
// errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err))
|
|
||||||
// }
|
|
||||||
// if bindFreightIDs == 0 {
|
|
||||||
// if freightTemplateID, err := CreateFreightTemplate(int(storeID)); err != nil || freightTemplateID == 0 || utils.IsNil(freightTemplateID) {
|
|
||||||
// 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 {
|
|
||||||
// globals.SugarLogger.Debugf("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err)
|
|
||||||
// errList.AddErr(fmt.Errorf("京西菜市门店:%d 平台门店:%d 绑定运费模板:%d 失败:%v", storeID, vendorStoreID, freightTemplateID, err))
|
|
||||||
// } else {
|
|
||||||
// FreightTemplate.TemplateID = freightTemplateID
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// FreightTemplate.TemplateID = bindFreightIDs
|
|
||||||
// }
|
|
||||||
// case 1: //2.仓库以及电子围栏
|
|
||||||
// warehouseID, err := CreateWarehouse(vendorOrgCode, storeID)
|
|
||||||
// if err != nil || warehouseID == 0 {
|
|
||||||
// globals.SugarLogger.Debugf("门店(%d) 创建仓库失败:%v", storeID, err)
|
|
||||||
// errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err))
|
|
||||||
// } else { //绑定
|
|
||||||
// if err = BindStoreWarehouse(vendorOrgCode, utils.Int64ToStr(storeID), vendorStoreID); err != nil { //仓库绑定通过自定义外部ID
|
|
||||||
// globals.SugarLogger.Debugf("门店(%d) 绑定仓库:%s 失败:%v", storeID, warehouseID, err)
|
|
||||||
// errList.AddErr(fmt.Errorf("门店(%d) 绑定仓库:%s 失败:%v", storeID, warehouseID, err))
|
|
||||||
// } else {
|
|
||||||
// FreightTemplate.WarehouseID = utils.Str2Int64(warehouseID)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// case 2: //3.电子围栏
|
|
||||||
// fenceID, err := CreateFenceByStore(vendorOrgCode, storeID)
|
|
||||||
// if err != nil || utils.Str2Int(fenceID) == 0 || utils.IsNil(fenceID) { //不管存在与否 直接创建
|
|
||||||
// globals.SugarLogger.Debugf("门店(%d) 创建电子围栏失败:%v", storeID, err)
|
|
||||||
// errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
|
|
||||||
// } else { //绑定
|
|
||||||
// if err := BindFenceByStore(vendorOrgCode, vendorStoreID, []string{utils.Int64ToStr(storeID)}); err != nil {
|
|
||||||
// globals.SugarLogger.Debugf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
|
|
||||||
// errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
|
|
||||||
// } else {
|
|
||||||
// FreightTemplate.FenceID = utils.Int64ToStr(storeID)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// case 3: //4.限售模板
|
|
||||||
// bindSaleLimitID, err := GetStoreSaleLimit(vendorOrgCode, vendorStoreID)
|
|
||||||
// if err != nil {
|
|
||||||
// globals.SugarLogger.Debugf("获取门店(%d) 限售模板失败:%v", vendorStoreID, err)
|
|
||||||
// errList.AddErr(fmt.Errorf("获取门店(%d) 限售模板失败:%v", vendorStoreID, err))
|
|
||||||
// }
|
|
||||||
// if bindSaleLimitID == 0 || utils.IsNil(bindSaleLimitID) { //未绑定限售模板,目前默认创建起送价限售模板
|
|
||||||
// if createSaleLimitID, err := CreateAndBindMinPriceTemplate(vendorOrgCode, vendorStoreID, minPrice); err != nil {
|
|
||||||
// errList.AddErr(fmt.Errorf("设置门店起送价限售模板失败:%v", err))
|
|
||||||
// } else {
|
|
||||||
// FreightTemplate.TradeLimitID = createSaleLimitID
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// if updateSaleLimitID, err := UpdateTradeLimitTemplate(vendorOrgCode, bindSaleLimitID, minPrice); err != nil {
|
|
||||||
// errList.AddErr(fmt.Errorf("更新门店起送价限售模板失败:%v", err))
|
|
||||||
// } else {
|
|
||||||
// FreightTemplate.TradeLimitID = updateSaleLimitID
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// case 4: //5.门店打包费 默认为 0
|
|
||||||
// if err := SetStorePackageFee(vendorOrgCode, vendorStoreID, deliveryFeeDeductionFee); err != nil {
|
|
||||||
// errList.AddErr(fmt.Errorf("设置门店打包费失败:%v", err))
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// return nil, err
|
|
||||||
// }, []int{0, 1, 2, 3, 4})
|
|
||||||
// tasksch.ManageTask(task).Run()
|
|
||||||
// //6.同步进数据库
|
|
||||||
// globals.SugarLogger.Debugf("preTest TradeLimitID==%d,TemplateID==%d, WarehouseID==%d,FenceID==%s", FreightTemplate.TradeLimitID, FreightTemplate.TemplateID, FreightTemplate.WarehouseID, FreightTemplate.FenceID)
|
|
||||||
// if err := dao.CreateEntity(db, FreightTemplate); err != nil {
|
|
||||||
// _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "WarehouseID", "FenceID", "TradeLimitID")
|
|
||||||
// if err1 == nil {
|
|
||||||
// errList.AddErr(fmt.Errorf("同步Step1进数据库错误信息:%v", err))
|
|
||||||
// } else {
|
|
||||||
// errList.AddErr(fmt.Errorf("同步Step2进数据库错误信息:%v", err1))
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// endErr := errList.GetErrListAsOne()
|
|
||||||
// if utils.IsNil(errList) {
|
|
||||||
// globals.SugarLogger.Debug("绑定门店需进行的错误处理:%v", endErr)
|
|
||||||
// return endErr
|
|
||||||
// } else {
|
|
||||||
// return nil
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
// shop/editStore 编辑门店信息 正向推送平台
|
// shop/editStore 编辑门店信息 正向推送平台
|
||||||
func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName string) (err error) {
|
func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName string) (err error) {
|
||||||
var (
|
var (
|
||||||
@@ -366,7 +280,10 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
|||||||
errList = errlist.New()
|
errList = errlist.New()
|
||||||
timeStr = ""
|
timeStr = ""
|
||||||
tempFenceID string
|
tempFenceID string
|
||||||
FreightTemplate = &model.FreightTemplate{}
|
FreightTemplate = &model.FreightTemplate{
|
||||||
|
StoreID: storeID,
|
||||||
|
VendorStoreID: storeInfo.VendorStoreID,
|
||||||
|
}
|
||||||
)
|
)
|
||||||
if db == nil {
|
if db == nil {
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
@@ -461,20 +378,20 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
|||||||
}
|
}
|
||||||
//同步进数据库
|
//同步进数据库
|
||||||
FreightTemplate.FenceID = tempFenceID
|
FreightTemplate.FenceID = tempFenceID
|
||||||
FreightTemplate.StoreID = storeID
|
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
|
||||||
FreightTemplate.VendorStoreID = storeInfo.VendorStoreID
|
globals.SugarLogger.Debug("同步数据库错误信息:%v", err)
|
||||||
if err = dao.CreateEntity(db, FreightTemplate); err != nil {
|
|
||||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil {
|
|
||||||
errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
|
||||||
} else {
|
|
||||||
errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
//if err = dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
|
||||||
|
// if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil {
|
||||||
|
// errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
||||||
|
// } else {
|
||||||
|
// errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
||||||
|
// }
|
||||||
|
//}
|
||||||
if endErr := errList.GetErrListAsOne(); endErr != nil {
|
if endErr := errList.GetErrListAsOne(); endErr != nil {
|
||||||
globals.SugarLogger.Debugf("DouDian UpdateStore wrong information:%v", endErr)
|
globals.SugarLogger.Debugf("DouDian UpdateStore wrong information:%v", endErr)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
//return errors.New(fmt.Sprintf("更新抖店平台店铺信息,相关处理错误:%v", endErr))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -512,7 +429,7 @@ func UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int
|
|||||||
}
|
}
|
||||||
|
|
||||||
//默认 运费模板只创建 固定运费模板
|
//默认 运费模板只创建 固定运费模板
|
||||||
func CreateFreightTemplate(storeCode int) (int64, error) {
|
func CreateFreightTemplate(storeCode, deliveryFeeDeductionSill int) (int64, error) {
|
||||||
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeCode, model.VendorIDDD, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
@@ -527,24 +444,11 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
|
|||||||
FixedAmount: 500, //固定运费 单位:分
|
FixedAmount: 500, //固定运费 单位:分
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
if int64(storeDetail.DeliveryFeeDeductionSill) != 0 {
|
|
||||||
param.Template.TemplateName += "满减包邮模板"
|
|
||||||
columns := []freightTemplate_create_request.ColumnsItem{
|
|
||||||
{
|
|
||||||
IsOverFree: true, //是否包邮
|
|
||||||
IsLimited: false,
|
|
||||||
OverAmount: int64(storeDetail.DeliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
|
|
||||||
}}
|
|
||||||
param.Columns = columns
|
|
||||||
} else {
|
|
||||||
param.Columns = nil
|
|
||||||
param.Template.TemplateName += "固定运费模板"
|
|
||||||
}
|
|
||||||
//直辖市特殊处理
|
//直辖市特殊处理
|
||||||
if HandleMunicipality(storeDetail.CityName) {
|
if HandleMunicipality(storeDetail.CityName) {
|
||||||
param.Template.ProductCity = int64(storeDetail.ProvinceCode)
|
param.Template.ProductCity = int64(storeDetail.ProvinceCode)
|
||||||
param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{
|
param.Columns = []freightTemplate_create_request.ColumnsItem{{
|
||||||
{
|
ProvinceInfos: []freightTemplate_create_request.ProvinceInfosItem{{
|
||||||
Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
|
Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
|
||||||
Children: []freightTemplate_create_request.ChildrenItem_4{
|
Children: []freightTemplate_create_request.ChildrenItem_4{
|
||||||
{
|
{
|
||||||
@@ -559,27 +463,43 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
}},
|
}},
|
||||||
|
}},
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
param.Template.ProductCity = int64(storeDetail.CityCode)
|
param.Template.ProductCity = int64(storeDetail.CityCode)
|
||||||
param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{
|
param.Columns = []freightTemplate_create_request.ColumnsItem{{
|
||||||
{
|
ProvinceInfos: []freightTemplate_create_request.ProvinceInfosItem{
|
||||||
Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
|
{
|
||||||
Children: []freightTemplate_create_request.ChildrenItem_4{
|
Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
|
||||||
{
|
Children: []freightTemplate_create_request.ChildrenItem_4{
|
||||||
Id: int64(storeDetail.CityCode),
|
{
|
||||||
Children: []freightTemplate_create_request.ChildrenItem_5{
|
Id: int64(storeDetail.CityCode),
|
||||||
{
|
Children: []freightTemplate_create_request.ChildrenItem_5{
|
||||||
Id: int64(storeDetail.DistrictCode),
|
{
|
||||||
//Children: []freightTemplate_create_request.ChildrenItem{
|
Id: int64(storeDetail.DistrictCode),
|
||||||
// {Id: 0},
|
//Children: []freightTemplate_create_request.ChildrenItem{
|
||||||
//},
|
// {Id: 0},
|
||||||
|
//},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
}},
|
||||||
}},
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if deliveryFeeDeductionSill != 0 {
|
||||||
|
param.Template.TemplateName += "满减包邮模板"
|
||||||
|
param.Columns = []freightTemplate_create_request.ColumnsItem{{
|
||||||
|
IsOverFree: true, //是否包邮
|
||||||
|
IsLimited: false,
|
||||||
|
OverAmount: int64(deliveryFeeDeductionSill), //此字段在vendor_id=14时 存储满x包邮金额
|
||||||
|
}}
|
||||||
|
} else {
|
||||||
|
//param.Columns = nil
|
||||||
|
param.Template.TemplateName += "固定运费模板"
|
||||||
|
}
|
||||||
|
globals.SugarLogger.Debugf("创建运费模板")
|
||||||
if resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param); err != nil {
|
if resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param); err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
} else {
|
} else {
|
||||||
@@ -638,7 +558,7 @@ func UpdateFreightTemplate(storeCode int) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// /freightTemplate/create 批量创建绑定 满x包邮 运费模板
|
// /freightTemplate/create 批量创建绑定 满x包邮 运费模板
|
||||||
func CreateBindFreeShipTemplate(storeID int, shipFee int64) error {
|
func CreateBindFreeShipTemplate(vendorOrgCode string, storeID int, shipFee int64) error {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
errList = errlist.New()
|
errList = errlist.New()
|
||||||
@@ -653,7 +573,7 @@ func CreateBindFreeShipTemplate(storeID int, shipFee int64) error {
|
|||||||
}
|
}
|
||||||
param := &freightTemplate_create_request.FreightTemplateCreateParam{
|
param := &freightTemplate_create_request.FreightTemplateCreateParam{
|
||||||
Template: &freightTemplate_create_request.Template{
|
Template: &freightTemplate_create_request.Template{
|
||||||
TemplateName: utils.Int2Str(storeID) + "的满" + utils.Int64ToStr(shipFee) + "包邮模板",
|
TemplateName: utils.Int2Str(storeID) + "的满减包邮模板",
|
||||||
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
|
ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]),
|
||||||
CalculateType: tiktok_api.CalculateTypeNum,
|
CalculateType: tiktok_api.CalculateTypeNum,
|
||||||
TransferType: tiktok_api.TransferTypeExpress,
|
TransferType: tiktok_api.TransferTypeExpress,
|
||||||
@@ -664,7 +584,7 @@ func CreateBindFreeShipTemplate(storeID int, shipFee int64) error {
|
|||||||
{
|
{
|
||||||
IsOverFree: true,
|
IsOverFree: true,
|
||||||
IsLimited: false,
|
IsLimited: false,
|
||||||
OverAmount: shipFee,
|
OverAmount: shipFee * 100,
|
||||||
}},
|
}},
|
||||||
}
|
}
|
||||||
//直辖市特殊处理
|
//直辖市特殊处理
|
||||||
@@ -673,13 +593,14 @@ func CreateBindFreeShipTemplate(storeID int, shipFee int64) error {
|
|||||||
} else {
|
} else {
|
||||||
param.Template.ProductCity = int64(storeDetail.CityCode)
|
param.Template.ProductCity = int64(storeDetail.CityCode)
|
||||||
}
|
}
|
||||||
if resp, err := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID).FreightTemplateCreate(param); err != nil {
|
globals.SugarLogger.Debugf("CreateBindFreeShipTemplate param====%s", utils.Format4Output(param, false))
|
||||||
|
if resp, err := getAPI(vendorOrgCode, 0, "").FreightTemplateCreate(param); err != nil {
|
||||||
return errors.New(fmt.Sprintf("平台门店(%s) 京西门店(%d) 创建包邮模板失败:%v,根据提示处理", storeDetail.VendorStoreID, storeID, err))
|
return errors.New(fmt.Sprintf("平台门店(%s) 京西门店(%d) 创建包邮模板失败:%v,根据提示处理", storeDetail.VendorStoreID, storeID, err))
|
||||||
} else {
|
} else {
|
||||||
if err := ShopBindStoreFreight(storeDetail.VendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID), resp.TemplateId); err != nil {
|
if err := ShopBindStoreFreight(vendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID), resp.TemplateId); err != nil {
|
||||||
return errors.New(fmt.Sprintf("平台门店(%s) 京西门店(%d) 绑定包邮模板失败:%v,根据提示处理", storeDetail.VendorStoreID, storeID, err))
|
return errors.New(fmt.Sprintf("平台门店(%s) 京西门店(%d) 绑定包邮模板失败:%v,根据提示处理", storeDetail.VendorStoreID, storeID, err))
|
||||||
} else {
|
} else {
|
||||||
if err := dao.CreateEntity(db, FreightTemplate); err != nil {
|
if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
|
||||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err1 != nil {
|
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err1 != nil {
|
||||||
errList.AddErr(fmt.Errorf("包邮模板:更新操作,同步进数据库错误信息:%v", err1))
|
errList.AddErr(fmt.Errorf("包邮模板:更新操作,同步进数据库错误信息:%v", err1))
|
||||||
} else {
|
} else {
|
||||||
@@ -695,7 +616,7 @@ func CreateBindFreeShipTemplate(storeID int, shipFee int64) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//更新 包邮运费模板
|
//更新 包邮运费模板
|
||||||
func UpdateFreeShipTemplate(storeID int, shipFee int64) error {
|
func UpdateFreeShipTemplate(vendorOrgCode string, storeID int, shipFee int64) error {
|
||||||
if shipFee == 0 {
|
if shipFee == 0 {
|
||||||
return errors.New("包邮金额必传,请检查")
|
return errors.New("包邮金额必传,请检查")
|
||||||
}
|
}
|
||||||
@@ -703,12 +624,12 @@ func UpdateFreeShipTemplate(storeID int, shipFee int64) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.New("更新包邮运费模板,获取门店信息失败,请重试")
|
return errors.New("更新包邮运费模板,获取门店信息失败,请重试")
|
||||||
}
|
}
|
||||||
a := getAPI(storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID)
|
a := getAPI(vendorOrgCode, storeID, storeDetail.VendorStoreID)
|
||||||
//获取远程运费模板详情
|
//获取远程运费模板详情
|
||||||
if bindFreightID, err := a.GetStoreFreight(utils.Str2Int64(storeDetail.VendorStoreID)); err != nil || len(bindFreightID) == 0 || utils.IsNil(bindFreightID) {
|
if bindFreightID, err := a.GetStoreFreight(utils.Str2Int64(storeDetail.VendorStoreID)); err != nil || len(bindFreightID) == 0 || utils.IsNil(bindFreightID) {
|
||||||
//return errors.New("门店未绑定运费模板,")
|
//return errors.New("门店未绑定运费模板,")
|
||||||
} else {
|
} else {
|
||||||
if freightDetail, err := a.GetStoreFreightDetail(bindFreightID[0]); err != nil {
|
if freightDetail, err := a.GetStoreFreightDetail(bindFreightID[0]); err == nil {
|
||||||
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
|
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
|
||||||
Template: &freightTemplate_update_request.Template{
|
Template: &freightTemplate_update_request.Template{
|
||||||
Id: bindFreightID[0],
|
Id: bindFreightID[0],
|
||||||
@@ -724,9 +645,10 @@ func UpdateFreeShipTemplate(storeID int, shipFee int64) error {
|
|||||||
{
|
{
|
||||||
IsOverFree: true,
|
IsOverFree: true,
|
||||||
IsLimited: false,
|
IsLimited: false,
|
||||||
OverAmount: shipFee,
|
OverAmount: shipFee * 100,
|
||||||
}},
|
}},
|
||||||
}
|
}
|
||||||
|
globals.SugarLogger.Debugf("ykljkfjapojf param====%s", utils.Format4Output(param, false))
|
||||||
if _, err := a.FreightTemplateUpdate(param); err != nil {
|
if _, err := a.FreightTemplateUpdate(param); err != nil {
|
||||||
return errors.New("更新包邮运费模板失败")
|
return errors.New("更新包邮运费模板失败")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import (
|
|||||||
|
|
||||||
//创建运费模板
|
//创建运费模板
|
||||||
func TestCreateFreight(t *testing.T) {
|
func TestCreateFreight(t *testing.T) {
|
||||||
data, err := CreateFreightTemplate(668504)
|
data, err := CreateFreightTemplate(668787)
|
||||||
fmt.Println(data)
|
fmt.Println(data)
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -254,7 +254,7 @@ func GetFence(appOrgCode string, outFenceID []string) ([]warehouse_getFences_res
|
|||||||
}
|
}
|
||||||
|
|
||||||
//特殊处理
|
//特殊处理
|
||||||
func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeductionFee, minPrice int64) error {
|
func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeductionFee, deliveryFeeDeductionSill, minPrice int64, autoCall string) error {
|
||||||
var (
|
var (
|
||||||
db *dao.DaoDB
|
db *dao.DaoDB
|
||||||
errList = errlist.New()
|
errList = errlist.New()
|
||||||
@@ -264,13 +264,14 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
//1.运费模板
|
//1.运费模板
|
||||||
bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
|
//bindFreightIDs, err := GetStoreFreight(vendorOrgCode, vendorStoreID)
|
||||||
if err != nil {
|
//if err != nil {
|
||||||
globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:", vendorStoreID, err)
|
// globals.SugarLogger.Debug("获取门店(%d) 绑定运费模板出错:", vendorStoreID, err)
|
||||||
//errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err))
|
// //errList.AddErr(fmt.Errorf("获取门店(%d) 绑定运费模板出错:%v", vendorStoreID, err))
|
||||||
}
|
//}
|
||||||
if bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
if true {
|
||||||
if freightTemplateID, err := CreateFreightTemplate(int(storeID)); err != nil || freightTemplateID == 0 {
|
//if bindFreightIDs == 0 { //(1)未查询到绑定信息,不算错误
|
||||||
|
if freightTemplateID, err := CreateFreightTemplate(int(storeID), int(deliveryFeeDeductionSill)); err != nil || freightTemplateID == 0 {
|
||||||
errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err))
|
errList.AddErr(fmt.Errorf("创建运费模板失败:%v", err))
|
||||||
} else { //绑定
|
} else { //绑定
|
||||||
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
|
if err = ShopBindStoreFreight(vendorOrgCode, vendorStoreID, freightTemplateID); err != nil {
|
||||||
@@ -308,8 +309,18 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//4.设置自动运力
|
||||||
|
if autoCall == tiktok_api.AutoCallRiderOpen {
|
||||||
|
if err := SetStoreAutoCallRider(vendorOrgCode, tiktok_api.AutoCallRiderOpen, vendorStoreID); err != nil {
|
||||||
|
errList.AddErr(fmt.Errorf("开启门店自动运力失败:%v", err))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if err := SetStoreAutoCallRider(vendorOrgCode, tiktok_api.AutoCallRiderClose, vendorStoreID); err != nil {
|
||||||
|
errList.AddErr(fmt.Errorf("关闭门店自动运力失败:%v", err))
|
||||||
|
}
|
||||||
|
}
|
||||||
//多次同步数据库,兜底处理
|
//多次同步数据库,兜底处理
|
||||||
if err := dao.CreateEntity(db, FreightTemplate); err != nil {
|
if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
|
||||||
_, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "TradeLimitID")
|
_, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "TradeLimitID")
|
||||||
if err1 != nil {
|
if err1 != nil {
|
||||||
globals.SugarLogger.Debugf("更新起送价限售模板,更新进数据库错误信息:%v", err1)
|
globals.SugarLogger.Debugf("更新起送价限售模板,更新进数据库错误信息:%v", err1)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package controllers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxstore/common"
|
"git.rosy.net.cn/jx-callback/business/jxstore/common"
|
||||||
@@ -1618,3 +1619,22 @@ func (c *StoreController) BindJxPrinter() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 测试操作freight_template
|
||||||
|
// @Description 测试操作freight_template
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Param storeID formData int true "京西门店id"
|
||||||
|
// @Param vendorStoreID formData string false "抖音平台id"
|
||||||
|
// @Param templateID formData int false "运费模板id"
|
||||||
|
// @Param warehouseID formData int false "仓库id"
|
||||||
|
// @Param fenceID formData string false "电子围栏id"
|
||||||
|
// @Param tradeLimitID formData int false "限售模板id"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /ReplaceInsertFreight [post]
|
||||||
|
func (c *StoreController) ReplaceInsertFreight() {
|
||||||
|
c.callReplaceInsertFreight(func(params *tStoreReplaceInsertFreightParams) (interface{}, string, error) {
|
||||||
|
err := cms.ReplaceInsertFreight(params.StoreID, params.TemplateID, params.WarehouseID, params.TradeLimitID, params.VendorStoreID, params.FenceID)
|
||||||
|
return nil, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -3027,6 +3027,15 @@ func init() {
|
|||||||
MethodParams: param.Make(),
|
MethodParams: param.Make(),
|
||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
//测试用-ysq
|
||||||
|
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
|
web.ControllerComments{
|
||||||
|
Method: "ReplaceInsertFreight",
|
||||||
|
Router: `/ReplaceInsertFreight`,
|
||||||
|
AllowHTTPMethods: []string{"post"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
|
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
|
||||||
web.ControllerComments{
|
web.ControllerComments{
|
||||||
|
|||||||
Reference in New Issue
Block a user