From b13071a824bb9c85bfa842f2858c3a01f2560141 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 14:10:53 +0800 Subject: [PATCH 01/10] tomap --- .../partner/purchase/tiktok_store/store.go | 165 ++++++++++++++---- controllers/cms_store.go | 26 ++- 2 files changed, 152 insertions(+), 39 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index 104ac2e82..337fb1545 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -31,6 +31,7 @@ import ( "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" + "reflect" ) func SplicingTimeToDoudian(openTime1, closeTime1, openTime2, closeTime2 int16, flag bool) (timeList string) { @@ -669,43 +670,119 @@ func UpdateFreightTemplate(storeCode int) error { return nil } -// /freightTemplate/create 创建运费模板 暂时未使用 -func (P *PurchaseHandler) CreateFreightTemplateDirectly(templateInfo freightTemplate_create_request.FreightTemplateCreateParam, storeID, vendorStoreID int64) error { - var ( - db *dao.DaoDB - ) - if templateInfo.Template.RuleType > 0 { - templateInfo.Template.CalculateType = tiktok_api.CalculateTypeNum - } - info := &freightTemplate_create_request.FreightTemplateCreateParam{ - Template: templateInfo.Template, - Columns: templateInfo.Columns, - } - api := getAPI("", int(storeID), utils.Int64ToStr(vendorStoreID)) - resp, err := api.FreightTemplateCreate(info) - if err != nil { - return err - } - //创建成功后进行绑定 - bindInfo := &shop_bindStoreFreight_request.ShopBindStoreFreightParam{ - StoreId: vendorStoreID, - FreightId: resp.TemplateId, - } - err = api.BindFreightTemplate(bindInfo) - if err != nil { - return err - } - //并写入数据库 - freightInfo := model.FreightTemplate{ - StoreID: int(storeID), - VendorStoreID: utils.Int64ToStr(vendorStoreID), - TemplateID: resp.TemplateId, - } - if err = dao.CreateEntity(db, freightInfo); err != nil { - return err - } - return nil -} +// /freightTemplate/create 批量创建 满x包邮 运费模板 +//func (P *PurchaseHandler) BatchCreateFreightTemplate(relInfo map[string]map[string]string, shipFee int64) error { +// var ( +// errList = errlist.New() +// flag = make(map[string]bool) +// ) +// for i, j := range relInfo { +// for k, v := range j { +// if bindFreightID, err := getAPI(i, utils.Str2Int(k), v).GetStoreFreight(utils.Str2Int64(v)); err != nil || len(bindFreightID) == 0 { +// flag[v] = false +// } +// flag[v] = true +// } +// } +// storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeID, model.VendorIDDD, "") +// if err != nil { +// return errors.New("获取门店信息失败,请重试") +// } +// //预处理(1)更新 (2)创建 +// param := &freightTemplate_create_request.FreightTemplateCreateParam{ +// Template: &freightTemplate_create_request.Template{ +// TemplateName: storeDetail.VendorStoreName + "(" + utils.Int2Str(storeID) + ")_", +// ProductProvince: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]), +// CalculateType: 2, //计价方式-1.按重量 2.按数量 +// TransferType: 1, +// RuleType: 1, //固定运费&卖家包邮 +// FixedAmount: 500, //固定运费 单位:分 +// }, +// } +// //直辖市特殊处理 +// flag := false +// if storeDetail.CityName == tiktok_api.MunicipalityBeiJin || storeDetail.CityName == tiktok_api.MunicipalityShangHai || storeDetail.CityName == tiktok_api.MunicipalityTianJin || storeDetail.CityName == tiktok_api.MunicipalityChongQing { +// flag = true +// param.Template.ProductCity = int64(storeDetail.ProvinceCode) +// } else { +// param.Template.ProductCity = int64(storeDetail.CityCode) +// } +// 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 +// if flag { +// param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{ +// { +// Id: utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[:2]), +// Children: []freightTemplate_create_request.ChildrenItem_4{ +// { +// Id: int64(storeDetail.ProvinceCode), +// Children: []freightTemplate_create_request.ChildrenItem_5{ +// { +// Id: int64(storeDetail.DistrictCode), +// Children: []freightTemplate_create_request.ChildrenItem{ +// {Id: 0}, +// }, +// }, +// }, +// }, +// }}, +// } +// } else { +// param.Columns[0].ProvinceInfos = []freightTemplate_create_request.ProvinceInfosItem{ +// { +// 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.DistrictCode), +// Children: []freightTemplate_create_request.ChildrenItem{ +// {Id: 0}, +// }, +// }, +// }, +// }, +// }}, +// } +// } +// } else { +// param.Columns = nil +// param.Template.TemplateName += "固定运费模板" +// } +// globals.SugarLogger.Debugf(" param.Template.ProductCity==%d,param.Template.ProductProvince==%d", param.Template.ProductCity, param.Template.ProductProvince) +// resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param) +// if err != nil { +// return 0, err +// } +// return resp.TemplateId, nil +// +// bindInfo := &shop_bindStoreFreight_request.ShopBindStoreFreightParam{ +// StoreId: vendorStoreID, +// FreightId: resp.TemplateId, +// } +// err = api.BindFreightTemplate(bindInfo) +// if err != nil { +// return err +// } +// //并写入数据库 +// freightInfo := model.FreightTemplate{ +// StoreID: int(storeID), +// VendorStoreID: utils.Int64ToStr(vendorStoreID), +// TemplateID: resp.TemplateId, +// } +// if err = dao.CreateEntity(db, freightInfo); err != nil { +// return err +// } +// return nil +//} // /shop/bindStoreFreight 门店绑定运费模版 //门店绑定运费模版,运费模版必须属于门店关联的抖店,且门店与运费模版是一对一关系 @@ -1020,3 +1097,17 @@ func (P *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (s func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, vendorOrgCode string, skuID int, vendorSkuID string) (skuNameList []*partner.SkuNameInfo, err error) { return nil, err } + +//以下为辅助函数 + +func ToMap(actual interface{}) ([]string, error) { + var res []string + value := reflect.ValueOf(actual) + if value.Kind() != reflect.Slice && value.Kind() != reflect.Array { + return nil, errors.New("parse error") + } + for i := 0; i < value.Len(); i++ { + res = append(res, value.Index(i).Interface().(string)) + } + return res, nil +} diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 690e7be2e..a57afb334 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -9,6 +9,8 @@ import ( "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/netprinter" "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store" + "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego/server/web" ) @@ -1518,9 +1520,29 @@ func (c *StoreController) GetDDScope() { func (c *StoreController) CreateDDStoreFence() { c.callCreateDDStoreFence(func(params *tStoreCreateDDStoreFenceParams) (retVal interface{}, errCode string, err error) { payload := make(map[string]map[string]string) - if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil { - retVal, err = cms.AssistCreateFence(payload) + info := make(map[string]map[string]string) + if result, err := utils.Unmarshal2Map([]byte(params.Payload), &payload); err == nil { + for i, j := range result { + if temp, err := tiktok_store.ToMap(j); err != nil { + globals.SugarLogger.Debugf("tomap err==============%v", err) + return nil, "", err + } else { + for k, v := range temp { + info[i] = map[string]string{utils.Int2Str(k): v} + } + } + } + retVal, err = cms.AssistCreateFence(info) } return retVal, "", err }) } + +// @Title 批量创建抖店包邮运费模板 +// @Description 批量创建抖店包邮运费模板 +// @Param token header string true "认证token" +// @Param shipFee formData int true "包邮金额" +// @Param payload formData string true "json数据,[]string对象" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /CreateFreeShipTemplates [post] From b326b1d4915359810e6eaf9fd8a540aceeab8776 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 14:32:43 +0800 Subject: [PATCH 02/10] tomap --- business/partner/purchase/tiktok_store/store.go | 8 +++++--- controllers/cms_store.go | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index 337fb1545..2cfe7117b 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -1100,14 +1100,16 @@ func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, vendorOrgCode string, //以下为辅助函数 -func ToMap(actual interface{}) ([]string, error) { +func ToMap(actual interface{}) (map[string]string, error) { var res []string value := reflect.ValueOf(actual) - if value.Kind() != reflect.Slice && value.Kind() != reflect.Array { + if value.Kind() != reflect.Map { return nil, errors.New("parse error") } + temp := actual.(map[string]string) + globals.SugarLogger.Debugf("toMap temp===============%v", temp) for i := 0; i < value.Len(); i++ { res = append(res, value.Index(i).Interface().(string)) } - return res, nil + return temp, nil } diff --git a/controllers/cms_store.go b/controllers/cms_store.go index a57afb334..7620941d6 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1528,7 +1528,7 @@ func (c *StoreController) CreateDDStoreFence() { return nil, "", err } else { for k, v := range temp { - info[i] = map[string]string{utils.Int2Str(k): v} + info[i] = map[string]string{k: v} } } } From 96723b815cee3a1b6239bdd232f1060833f8e67c Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 14:39:38 +0800 Subject: [PATCH 03/10] tomap --- controllers/cms_store.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 7620941d6..a8a2560d1 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1532,6 +1532,13 @@ func (c *StoreController) CreateDDStoreFence() { } } } + if len(info) > 0 { + for _, i := range info { + for k, v := range i { + globals.SugarLogger.Debugf("preTest info k=%s,v=%s", k, v) + } + } + } retVal, err = cms.AssistCreateFence(info) } return retVal, "", err From e339d88d21c317efe83c1df45b1097ed77fa3012 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 14:52:55 +0800 Subject: [PATCH 04/10] tomap --- business/jxstore/cms/store.go | 13 +++++++++++++ controllers/cms_store.go | 1 + 2 files changed, 14 insertions(+) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 37799842f..ecfccc264 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -6017,7 +6017,12 @@ func GetVendorOrgCode(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID i //批量辅助创建电子围栏 func AssistCreateFence(relInfo map[string]map[string]string) (string, error) { + var ( + db = dao.GetDB() + FreightTemplate = &model.FreightTemplate{} + ) errList := errlist.New() + globals.SugarLogger.Debugf("进入AssistCreateFence") for k, v := range relInfo { for i, j := range v { if fenceID, err := tiktok_store.CreateFenceByStore(k, utils.Str2Int64(i)); err != nil { @@ -6028,6 +6033,14 @@ func AssistCreateFence(relInfo map[string]map[string]string) (string, error) { } } } + if err := dao.CreateEntity(db, FreightTemplate); 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 { + errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err)) + } + } } if errList.GetErrListAsOne() != nil { return fmt.Sprintf("批量创建电子围栏错误,请根据提示处理:%v", errList.GetErrListAsOne()), nil diff --git a/controllers/cms_store.go b/controllers/cms_store.go index a8a2560d1..1aa3adfaf 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1522,6 +1522,7 @@ func (c *StoreController) CreateDDStoreFence() { payload := make(map[string]map[string]string) info := make(map[string]map[string]string) if result, err := utils.Unmarshal2Map([]byte(params.Payload), &payload); err == nil { + globals.SugarLogger.Debugf("result===========%v", result) for i, j := range result { if temp, err := tiktok_store.ToMap(j); err != nil { globals.SugarLogger.Debugf("tomap err==============%v", err) From 2a4ad90394fa25652fcae689f2bfd10a9c5ccc88 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 15:02:11 +0800 Subject: [PATCH 05/10] tomap --- business/model/dao/dao_order.go | 13 ++++++------- controllers/cms_store.go | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index 4cc17b57d..9dc8b1f94 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -2,7 +2,6 @@ package dao import ( "fmt" - "git.rosy.net.cn/jx-callback/globals" "regexp" "strconv" "time" @@ -940,7 +939,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat } else { sqlWhere += " AND IF(t1.jx_store_id != 0, t1.jx_store_id, t1.store_id) IN (" + GenQuestionMarks(len(storeIDs)) + ")" sqlParams = append(sqlParams, storeIDs) - globals.SugarLogger.Debugf("sqlParams storeIDs========%d", storeIDs) + //globals.SugarLogger.Debugf("sqlParams storeIDs========%d", storeIDs) } } } @@ -952,7 +951,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat if len(statuss) > 0 { sqlWhere += " AND t1.status IN (" + GenQuestionMarks(len(statuss)) + ")" sqlParams = append(sqlParams, statuss) - globals.SugarLogger.Debugf("sqlParams statuss===========%d", statuss) + //globals.SugarLogger.Debugf("sqlParams statuss===========%d", statuss) } } if params["lockStatuss"] != nil { @@ -1024,7 +1023,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat if params["adjustCount"] != nil { sqlWhere += " AND t1.adjust_count >= ?" sqlParams = append(sqlParams, params["adjustCount"]) - globals.SugarLogger.Debugf("sqlParams params[adjustCount]=========%d", params["adjustCount"]) + //globals.SugarLogger.Debugf("sqlParams params[adjustCount]=========%d", params["adjustCount"]) } if mustInvoice, ok := params["mustInvoice"].(bool); ok && mustInvoice { sqlWhere += " AND t1.invoice_taxer_id <> ''" @@ -1038,7 +1037,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat if len(vendorIDs) > 0 { sqlWhere += " AND t1.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")" sqlParams = append(sqlParams, vendorIDs) - globals.SugarLogger.Debugf("sqlParams vendorIDs================%d", vendorIDs) + //globals.SugarLogger.Debugf("sqlParams vendorIDs================%d", vendorIDs) } } if userID != "" { @@ -1064,14 +1063,14 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat ) a WHERE 1 = 1` if params["jxIncomeBegin"] != nil { - globals.SugarLogger.Debugf("test begin====%d", utils.MustInterface2Int64(params["jxIncomeBegin"])) + //globals.SugarLogger.Debugf("test begin====%d", utils.MustInterface2Int64(params["jxIncomeBegin"])) //if utils.MustInterface2Int64(params["jxIncomeBegin"]) != 0 { sql += " AND a.jx_income >= ?" sqlParams = append(sqlParams, utils.MustInterface2Int64(params["jxIncomeBegin"])) //} } if params["jxIncomeEnd"] != nil { - globals.SugarLogger.Debugf("test end=====%d", utils.MustInterface2Int64(params["jxIncomeEnd"])) + //globals.SugarLogger.Debugf("test end=====%d", utils.MustInterface2Int64(params["jxIncomeEnd"])) //if utils.MustInterface2Int64(params["jxIncomeEnd"]) != 0 { sql += " AND a.jx_income <= ?" sqlParams = append(sqlParams, utils.MustInterface2Int64(params["jxIncomeEnd"])) diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 1aa3adfaf..4b14ed90d 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1519,6 +1519,7 @@ func (c *StoreController) GetDDScope() { // @router /CreateDDStoreFence [post] func (c *StoreController) CreateDDStoreFence() { c.callCreateDDStoreFence(func(params *tStoreCreateDDStoreFenceParams) (retVal interface{}, errCode string, err error) { + globals.SugarLogger.Debugf("进入callCreateDDStoreFence") payload := make(map[string]map[string]string) info := make(map[string]map[string]string) if result, err := utils.Unmarshal2Map([]byte(params.Payload), &payload); err == nil { From 4da648901d6b6fe736f9b6b028622b04030dc790 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 15:20:17 +0800 Subject: [PATCH 06/10] tomap --- controllers/cms_store.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 4b14ed90d..29820a560 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1520,7 +1520,8 @@ func (c *StoreController) GetDDScope() { func (c *StoreController) CreateDDStoreFence() { c.callCreateDDStoreFence(func(params *tStoreCreateDDStoreFenceParams) (retVal interface{}, errCode string, err error) { globals.SugarLogger.Debugf("进入callCreateDDStoreFence") - payload := make(map[string]map[string]string) + payload := make(map[string]string) + //payload := make(map[string]map[string]string) info := make(map[string]map[string]string) if result, err := utils.Unmarshal2Map([]byte(params.Payload), &payload); err == nil { globals.SugarLogger.Debugf("result===========%v", result) From e8ff0beaa2f106249c6ce7c2ce38b9a4382936be Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 15:27:12 +0800 Subject: [PATCH 07/10] tomap --- controllers/cms_store.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 29820a560..773d19b2d 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1520,7 +1520,7 @@ func (c *StoreController) GetDDScope() { func (c *StoreController) CreateDDStoreFence() { c.callCreateDDStoreFence(func(params *tStoreCreateDDStoreFenceParams) (retVal interface{}, errCode string, err error) { globals.SugarLogger.Debugf("进入callCreateDDStoreFence") - payload := make(map[string]string) + payload := make(map[string]interface{}) //payload := make(map[string]map[string]string) info := make(map[string]map[string]string) if result, err := utils.Unmarshal2Map([]byte(params.Payload), &payload); err == nil { From e25d2f5896d4d2d82b60577114af8cd3c793f1d2 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 15:32:19 +0800 Subject: [PATCH 08/10] tomap --- controllers/cms_store.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 773d19b2d..a39df3e9b 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1521,11 +1521,9 @@ func (c *StoreController) CreateDDStoreFence() { c.callCreateDDStoreFence(func(params *tStoreCreateDDStoreFenceParams) (retVal interface{}, errCode string, err error) { globals.SugarLogger.Debugf("进入callCreateDDStoreFence") payload := make(map[string]interface{}) - //payload := make(map[string]map[string]string) info := make(map[string]map[string]string) - if result, err := utils.Unmarshal2Map([]byte(params.Payload), &payload); err == nil { - globals.SugarLogger.Debugf("result===========%v", result) - for i, j := range result { + if err := utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil { + for i, j := range payload { if temp, err := tiktok_store.ToMap(j); err != nil { globals.SugarLogger.Debugf("tomap err==============%v", err) return nil, "", err From fae0091a853f3254c1fd3d083606947182a84be4 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 15:35:11 +0800 Subject: [PATCH 09/10] tomap --- business/partner/purchase/tiktok_store/store.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index 2cfe7117b..e566d790c 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -1103,6 +1103,7 @@ func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, vendorOrgCode string, func ToMap(actual interface{}) (map[string]string, error) { var res []string value := reflect.ValueOf(actual) + globals.SugarLogger.Debugf("value.Kind()=========%s", value.Kind()) if value.Kind() != reflect.Map { return nil, errors.New("parse error") } From 706e29a429bc1afd0c2f199c40b298d7d5bc569e Mon Sep 17 00:00:00 2001 From: richboo111 Date: Tue, 22 Nov 2022 16:03:19 +0800 Subject: [PATCH 10/10] tomap --- business/jxstore/cms/store.go | 13 +++--- .../partner/purchase/tiktok_store/store.go | 8 +++- controllers/cms_store.go | 41 ++++++++++--------- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index ecfccc264..0d9323c13 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -6016,7 +6016,7 @@ func GetVendorOrgCode(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendorID i } //批量辅助创建电子围栏 -func AssistCreateFence(relInfo map[string]map[string]string) (string, error) { +func AssistCreateFence(relInfo map[string][]tiktok_store.RelInfo) (string, error) { var ( db = dao.GetDB() FreightTemplate = &model.FreightTemplate{} @@ -6024,12 +6024,12 @@ func AssistCreateFence(relInfo map[string]map[string]string) (string, error) { errList := errlist.New() globals.SugarLogger.Debugf("进入AssistCreateFence") for k, v := range relInfo { - for i, j := range v { - if fenceID, err := tiktok_store.CreateFenceByStore(k, utils.Str2Int64(i)); err != nil { - errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s) 创建电子围栏失败:%v", j, i, err)) + for _, i := range v { + if fenceID, err := tiktok_store.CreateFenceByStore(k, utils.Str2Int64(i.StoreID)); err != nil { + errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s) 创建电子围栏失败:%v", i.VendorStoreID, i.StoreID, err)) } else { - if err := tiktok_store.BindFenceByStore(k, utils.Str2Int64(j), []string{fenceID}); err != nil { - errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)绑定电子围栏失败:%v", j, i, err)) + if err := tiktok_store.BindFenceByStore(k, utils.Str2Int64(i.VendorStoreID), []string{fenceID}); err != nil { + errList.AddErr(fmt.Errorf("平台门店(%s),门店(%s)绑定电子围栏失败:%v", i.VendorStoreID, i.StoreID, err)) } } } @@ -6043,6 +6043,7 @@ func AssistCreateFence(relInfo map[string]map[string]string) (string, error) { } } if errList.GetErrListAsOne() != nil { + globals.SugarLogger.Debugf("errList.GetErrListAsOne()===========%v", errList.GetErrListAsOne()) return fmt.Sprintf("批量创建电子围栏错误,请根据提示处理:%v", errList.GetErrListAsOne()), nil } return "", nil diff --git a/business/partner/purchase/tiktok_store/store.go b/business/partner/purchase/tiktok_store/store.go index e566d790c..05c81016b 100644 --- a/business/partner/purchase/tiktok_store/store.go +++ b/business/partner/purchase/tiktok_store/store.go @@ -194,7 +194,7 @@ func CreateOrUpdateAll(vendorOrgCode string, storeID, vendorStoreID, deliveryFee if err != nil || len(warehouseID) == 0 || utils.IsNil(warehouseID) { globals.SugarLogger.Debugf("门店(%d) 创建仓库失败:%v", storeID, err) errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err)) - } else { //绑定 + } 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)) @@ -318,7 +318,7 @@ func CreateAndBindAllV2(vendorOrgCode string, storeID, vendorStoreID, deliveryFe if err != nil || len(warehouseID) == 0 || utils.IsNil(warehouseID) { globals.SugarLogger.Debugf("门店(%d) 创建仓库失败:%v", storeID, err) errList.AddErr(fmt.Errorf("门店(%d) 创建仓库失败:%v", storeID, err)) - } else { //绑定 + } 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)) @@ -1099,6 +1099,10 @@ func (p *PurchaseHandler) GetSkus(ctx *jxcontext.Context, vendorOrgCode string, } //以下为辅助函数 +type RelInfo struct { + StoreID string + VendorStoreID string +} func ToMap(actual interface{}) (map[string]string, error) { var res []string diff --git a/controllers/cms_store.go b/controllers/cms_store.go index a39df3e9b..a40b4bb85 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -1520,27 +1520,28 @@ func (c *StoreController) GetDDScope() { func (c *StoreController) CreateDDStoreFence() { c.callCreateDDStoreFence(func(params *tStoreCreateDDStoreFenceParams) (retVal interface{}, errCode string, err error) { globals.SugarLogger.Debugf("进入callCreateDDStoreFence") - payload := make(map[string]interface{}) - info := make(map[string]map[string]string) + payload := make(map[string][]tiktok_store.RelInfo) + //info := make(map[string]map[string]string) if err := utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil { - for i, j := range payload { - if temp, err := tiktok_store.ToMap(j); err != nil { - globals.SugarLogger.Debugf("tomap err==============%v", err) - return nil, "", err - } else { - for k, v := range temp { - info[i] = map[string]string{k: v} - } - } - } - if len(info) > 0 { - for _, i := range info { - for k, v := range i { - globals.SugarLogger.Debugf("preTest info k=%s,v=%s", k, v) - } - } - } - retVal, err = cms.AssistCreateFence(info) + retVal, err = cms.AssistCreateFence(payload) + //for i, j := range payload { + // if temp, err := tiktok_store.ToMap(j); err != nil { + // globals.SugarLogger.Debugf("tomap err==============%v", err) + // return nil, "", err + // } else { + // for k, v := range temp { + // info[i] = map[string]string{k: v} + // } + // } + //} + //if len(info) > 0 { + // for _, i := range info { + // for k, v := range i { + // globals.SugarLogger.Debugf("preTest info k=%s,v=%s", k, v) + // } + // } + //} + //retVal, err = cms.AssistCreateFence(info) } return retVal, "", err })