This commit is contained in:
richboo111
2023-03-10 15:34:27 +08:00
parent 3bc83381f3
commit 338fac6086
3 changed files with 81 additions and 49 deletions

View File

@@ -5967,13 +5967,18 @@ func UpdateStoreRelInformation(ctx *jxcontext.Context) error {
//time.Sleep(2 * time.Second)
FreightTemplate.VendorStoreID = utils.Int64ToStr(m)
FreightTemplate.StoreID = utils.Str2Int(n)
if _, err := dao.UpdateEntity(db, FreightTemplate, "VendorStoreID", "StoreID", "TemplateID", "WarehouseID", "FenceID", "TradeLimitID"); err != nil {
if err1 := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err1) || err1 != nil {
errList.AddErr(fmt.Errorf("创建操作,同步数据库错误信息:%v", err1))
} else {
errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err))
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
if err1 := dao.InsertItemFreight(FreightTemplate); err1 != nil {
globals.SugarLogger.Debug("UpdateStoreRelInformation 同步数据库错误信息:%v", err1)
}
}
//if _, err := dao.UpdateEntity(db, FreightTemplate, "VendorStoreID", "StoreID", "TemplateID", "WarehouseID", "FenceID", "TradeLimitID"); err != nil {
// if err1 := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err1) || err1 != nil {
// errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err1))
// } else {
// errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err))
// }
//}
}
}
}
@@ -6023,16 +6028,19 @@ func GetVendorOrgCode(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID i
//批量辅助创建电子围栏
func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error) {
var (
tempFenceID string
tStr1 = ""
tStr2 = ""
endStr = ""
db = dao.GetDB()
errList = errlist.New()
FreightTemplate = &model.FreightTemplate{}
tempFenceID string
tStr1 = ""
tStr2 = ""
endStr = ""
db = dao.GetDB()
errList = errlist.New()
)
for k, v := range relInfo {
for _, i := range v {
FreightTemplate := &model.FreightTemplate{
StoreID: utils.Str2Int(i.StoreID),
VendorStoreID: i.VendorStoreID,
}
tempStoreID := utils.Str2Int64(i.StoreID)
tempVendorStoreID := utils.Str2Int64(i.VendorStoreID)
//预处理门店无配送范围情况
@@ -6054,6 +6062,8 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error
tempFenceID = bindFence[i.VendorStoreID][0].OutFenceIds[0]
if err1 := tiktok_store.UpdateFenceByStore(k, tempFenceID, i.StoreID); err1 != nil {
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)更新电子围栏失败:%v", i.VendorStoreID, i.StoreID, err1))
} else {
FreightTemplate.FenceID = tempFenceID
}
} else {
if fenceID, err := tiktok_store.CreateFenceByStore(k, tempStoreID); err != nil {
@@ -6061,6 +6071,8 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error
if err1 := tiktok_store.BindFenceByStore(k, tempVendorStoreID, []string{i.StoreID}); err1 == nil {
if err2 := tiktok_store.UpdateFenceByStore(k, i.StoreID, i.StoreID); err2 != nil {
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)更新电子围栏失败:%v", i.VendorStoreID, i.StoreID, err1))
} else {
FreightTemplate.FenceID = i.StoreID
}
}
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)创建电子围栏失败:%v", i.VendorStoreID, i.StoreID, err))
@@ -6068,19 +6080,27 @@ func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error
} else if len(fenceID) > 0 {
if err := tiktok_store.BindFenceByStore(k, tempVendorStoreID, []string{i.StoreID}); err != nil {
errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)绑定电子围栏失败:%v", i.VendorStoreID, i.StoreID, err))
} else {
FreightTemplate.FenceID = tempFenceID
}
}
}
}
if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID"); err1 != nil {
globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
//errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
} else {
globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err1)
//errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
if err1 := dao.InsertItemFreight(FreightTemplate); err1 != nil {
globals.SugarLogger.Debug("同步数据库错误信息:%v", err1)
}
}
}
//if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
// if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID"); err1 != nil {
// globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
// //errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
// } else {
// globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err1)
// //errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
// }
//}
}
if errList.GetErrListAsOne() != nil {
if len(endStr) > 0 {
@@ -6141,8 +6161,8 @@ func SetStoreAutoCallRider(vendorOrgCode string, openIDs, closeIDs []int64) (str
//操作 freight_template
func ReplaceInsertFreight(storeID, templateID, warehouseID, tradeLimitID int, vendorStoreID, fenceID string) error {
//return dao.ReplaceInsertFreight2(storeID, templateID, warehouseID, tradeLimitID, vendorStoreID, fenceID)
return dao.InsertItemFreight2(storeID, templateID, warehouseID, tradeLimitID, vendorStoreID, fenceID)
return dao.ReplaceInsertFreight2(storeID, templateID, warehouseID, tradeLimitID, vendorStoreID, fenceID)
//return dao.InsertItemFreight2(storeID, templateID, warehouseID, tradeLimitID, vendorStoreID, fenceID)
}
//辅助函数

View File

@@ -251,7 +251,9 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee
//6.同步进数据库
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
globals.SugarLogger.Debug("同步数据库错误信息:%v", err)
if err1 := dao.InsertItemFreight(FreightTemplate); err1 != nil {
globals.SugarLogger.Debug("同步数据库错误信息:%v", err1)
}
}
//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 {
@@ -378,16 +380,18 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
//同步进数据库
FreightTemplate.FenceID = tempFenceID
FreightTemplate.VendorStoreID = storeInfo.VendorStoreID
//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, "FenceID", "StoreID", "VendorStoreID"); err1 != nil {
errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
} else {
errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
if err1 := dao.InsertItemFreight(FreightTemplate); err1 != nil {
globals.SugarLogger.Debug("同步数据库错误信息:%v", err1)
}
}
//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 {
globals.SugarLogger.Debugf("DouDian UpdateStore wrong information:%v", endErr)
}
@@ -560,9 +564,10 @@ func UpdateFreightTemplate(storeCode int) error {
// /freightTemplate/create 批量创建绑定 满x包邮 运费模板
func CreateBindFreeShipTemplate(vendorOrgCode string, storeID int, shipFee int64) error {
var (
db = dao.GetDB()
errList = errlist.New()
FreightTemplate = &model.FreightTemplate{}
FreightTemplate = &model.FreightTemplate{
StoreID: storeID,
}
)
if shipFee == 0 {
return errors.New("包邮金额必传,请检查")
@@ -593,20 +598,26 @@ func CreateBindFreeShipTemplate(vendorOrgCode string, storeID int, shipFee int64
} else {
param.Template.ProductCity = int64(storeDetail.CityCode)
}
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))
} else {
if err := ShopBindStoreFreight(vendorOrgCode, utils.Str2Int64(storeDetail.VendorStoreID), resp.TemplateId); err != nil {
return errors.New(fmt.Sprintf("平台门店(%s) 京西门店(%d) 绑定包邮模板失败:%v,根据提示处理", storeDetail.VendorStoreID, storeID, err))
} else {
if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err1 != nil {
errList.AddErr(fmt.Errorf("包邮模板:更新操作,同步进数据库错误信息:%v", err1))
} else {
errList.AddErr(fmt.Errorf("包邮模板:创建操作,同步数据库错误信息:%v", err))
FreightTemplate.VendorStoreID = storeDetail.VendorStoreID
FreightTemplate.TemplateID = resp.TemplateId
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
if err1 := dao.InsertItemFreight(FreightTemplate); err1 != nil {
globals.SugarLogger.Debug("同步数据库错误信息:%v", err1)
}
}
//if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
// if _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID"); err1 != nil {
// errList.AddErr(fmt.Errorf("包邮模板:更新操作,同步进数据库错误信息:%v", err1))
// } else {
// errList.AddErr(fmt.Errorf("包邮模板:创建操作,同步进数据库错误信息:%v", err))
// }
//}
}
}
if errList.GetErrListAsOne() != nil {

View File

@@ -261,7 +261,6 @@ func GetFence(appOrgCode string, outFenceID []string) ([]warehouse_getFences_res
//特殊处理
func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeductionFee, deliveryFeeDeductionSill, minPrice int64, autoCall string) error {
var (
db *dao.DaoDB
errList = errlist.New()
FreightTemplate = &model.FreightTemplate{
VendorStoreID: utils.Int64ToStr(vendorStoreID),
@@ -324,17 +323,19 @@ func SpecialTreat(vendorOrgCode string, vendorStoreID, storeID, deliveryFeeDeduc
}
}
//多次同步数据库,兜底处理
//if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
// globals.SugarLogger.Debug("同步数据库错误信息:%v", err)
//}
if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
_, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "TradeLimitID")
if err1 != nil {
globals.SugarLogger.Debugf("更新起送价限售模板,更新进数据库错误信息:%v", err1)
} else {
globals.SugarLogger.Debugf("更新起送价限售模板,创建进数据库错误信息:%v", err)
if err := dao.ReplaceInsertFreight(FreightTemplate); err != nil {
if err1 := dao.InsertItemFreight(FreightTemplate); err1 != nil {
globals.SugarLogger.Debug("同步数据库错误信息:%v", err1)
}
}
//if err := dao.CreateEntity(db, FreightTemplate); dao.IsDuplicateError(err) || err != nil {
// _, err1 := dao.UpdateEntity(db, FreightTemplate, "TemplateID", "TradeLimitID")
// if err1 != nil {
// globals.SugarLogger.Debugf("更新起送价限售模板,更新进数据库错误信息:%v", err1)
// } else {
// globals.SugarLogger.Debugf("更新起送价限售模板,创建进数据库错误信息:%v", err)
// }
//}
endErr := errList.GetErrListAsOne()
return endErr
}