From d06d6fd184bea0adb24a1dd430164c150f2e4e3e Mon Sep 17 00:00:00 2001 From: qidongsheng Date: Thu, 2 Jul 2020 15:55:31 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku_check.go | 291 ++++++++++++------------ 1 file changed, 145 insertions(+), 146 deletions(-) diff --git a/business/jxstore/cms/store_sku_check.go b/business/jxstore/cms/store_sku_check.go index 9a004cc6c..698d5ee13 100644 --- a/business/jxstore/cms/store_sku_check.go +++ b/business/jxstore/cms/store_sku_check.go @@ -2,8 +2,6 @@ package cms import ( "fmt" - "git.rosy.net.cn/baseapi/platformapi/mtpsapi" - "git.rosy.net.cn/jx-callback/globals/api" "strconv" "strings" "sync" @@ -561,92 +559,92 @@ func CompareJxAndMultiVenderDepot(ctx *jxcontext.Context, vendorMap map[int]bool } } -func StoreOpenAll(ctx *jxcontext.Context) { - globals.SugarLogger.Debug("StoreOpenAll skuID is start") - /*获取美团门店信息*/ - StoreInfoList, _ := api.MtpsAPI.GetStoreStatusAll() - StoreInfoList2 := make(map[string]string) - for _, store := range StoreInfoList { - for _, data := range store.DataList { - StoreInfoList2[data.OuterPoiID] = data.PoiName - } - } - db := dao.GetDB() - /*比较营业状态*/ - /*把获取的京西状态和名称存一下*/ - StoreCourierList, _ := dao.GetStoreCourierList(db, []int{}, model.StoreStatusAll, model.StoreStatusAll) - /*循环美团*/ - for _, StoreInfoList1 := range StoreInfoList { - for _, StoreInfoList11 := range StoreInfoList1.DataList { - /*循环京西*/ - for _, StoreCourierList1 := range StoreCourierList { - /*只比较美团*/ - if StoreCourierList1.VendorID != model.VendorIDMTPS { - continue - } - /*如果门店ID相同的时候进入判断,一个门店只用判断一次就行*/ - if StoreCourierList1.VendorStoreID == StoreInfoList11.OuterPoiID { - if StoreCourierList1.Status != StoreInfoList11.OpenType { - sl := make(map[string]interface{}) - sl["vendorStoreID"] = StoreInfoList11.OuterPoiID - sl["status"] = StoreInfoList11.OpenType - globals.SugarLogger.Debugf("被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s", - StoreInfoList11.OuterPoiID, StoreInfoList11.PoiName, strconv.Itoa(StoreInfoList11.OpenType), strconv.Itoa(StoreCourierList1.Status)) - UpdateStoreCourierMap(ctx, nil, StoreCourierList1.StoreID, StoreCourierList1.VendorID, sl, ctx.GetUserName()) - break - } - } - } - } - } - /* 美团配送的门店是否存在,调用美团配送的api(有可能接了),查询京西门店对应的美团配送门店是否存在,若不存在则要在京西这边解绑美团配送门店 - 怎么解绑可以在网页上门店管理那点一下看看调的什么接口,传的什么参数*/ - /*获取所有门店信息*/ - //test: - for _, StoreCourierList1 := range StoreCourierList { - diff := false - StoreLists, _ := dao.GetStoreList(db, []int{StoreCourierList1.StoreID}, nil, nil, nil, "") - if StoreLists == nil { - globals.SugarLogger.Debugf("StoreID为:%s,在store表未找到", StoreCourierList1.StoreID) - continue - } - if StoreCourierList1.VendorID != model.VendorIDMTPS || StoreCourierList1.VendorStoreID == "" { - continue - } - if StoreCourierList1.Status == model.StoreStatusDisabled || StoreCourierList1.Status == model.StoreStatusClosed { - continue - } - /*京西不为空,容错*/ - //if { - /*调用API获取美团的商店信息*/ - MTPSInfo := new(mtpsapi.ShopInfo) - MTPSInfo, _ = api.MtpsAPI.ShopQuery(StoreCourierList1.VendorStoreID) - if MTPSInfo == nil { - globals.SugarLogger.Debug("美团未找到该门店," + StoreLists[0].Name + strconv.Itoa(StoreCourierList1.StoreID) + " 被解绑,关联的ID为:" + StoreCourierList1.VendorStoreID) - diff = true - } - if MTPSInfo != nil && MTPSInfo.ShopName == "" { - MTPSInfo.ShopName = StoreInfoList2[MTPSInfo.ShopID] - } - if MTPSInfo != nil && MTPSInfo.ShopLng != StoreCourierList1.Lng && MTPSInfo.ShopLat == StoreCourierList1.Lat { - /*平台上但是坐标不同,解绑*/ - globals.SugarLogger.Debug("商店与美团配送上的坐标不同," + StoreLists[0].Name + strconv.Itoa(StoreCourierList1.StoreID) + " 被解绑,关联的ID为:" + StoreCourierList1.VendorStoreID) - if _, err := DeleteStoreCourierMap(ctx, db, StoreCourierList1.StoreID, StoreCourierList1.VendorID, ctx.GetUserName()); err != nil { - globals.SugarLogger.Debug(err.Error()) - return - } - diff = true - } - if diff { - if _, err := DeleteStoreCourierMap(ctx, db, StoreCourierList1.StoreID, StoreCourierList1.VendorID, ctx.GetUserName()); err != nil { - globals.SugarLogger.Debug(err.Error()) - return - } - //break test - } - } - globals.SugarLogger.Debug("StoreOpenAll skuID is Complete") -} +//func StoreOpenAll(ctx *jxcontext.Context) { +// globals.SugarLogger.Debug("StoreOpenAll skuID is start") +// /*获取美团门店信息*/ +// StoreInfoList, _ := api.MtpsAPI.GetStoreStatusAll() +// StoreInfoList2 := make(map[string]string) +// for _, store := range StoreInfoList { +// for _, data := range store.DataList { +// StoreInfoList2[data.OuterPoiID] = data.PoiName +// } +// } +// db := dao.GetDB() +// /*比较营业状态*/ +// /*把获取的京西状态和名称存一下*/ +// StoreCourierList, _ := dao.GetStoreCourierList(db, []int{}, model.StoreStatusAll, model.StoreStatusAll) +// /*循环美团*/ +// for _, StoreInfoList1 := range StoreInfoList { +// for _, StoreInfoList11 := range StoreInfoList1.DataList { +// /*循环京西*/ +// for _, StoreCourierList1 := range StoreCourierList { +// /*只比较美团*/ +// if StoreCourierList1.VendorID != model.VendorIDMTPS { +// continue +// } +// /*如果门店ID相同的时候进入判断,一个门店只用判断一次就行*/ +// if StoreCourierList1.VendorStoreID == StoreInfoList11.OuterPoiID { +// if StoreCourierList1.Status != StoreInfoList11.OpenType { +// sl := make(map[string]interface{}) +// sl["vendorStoreID"] = StoreInfoList11.OuterPoiID +// sl["status"] = StoreInfoList11.OpenType +// globals.SugarLogger.Debugf("被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s", +// StoreInfoList11.OuterPoiID, StoreInfoList11.PoiName, strconv.Itoa(StoreInfoList11.OpenType), strconv.Itoa(StoreCourierList1.Status)) +// UpdateStoreCourierMap(ctx, nil, StoreCourierList1.StoreID, StoreCourierList1.VendorID, sl, ctx.GetUserName()) +// break +// } +// } +// } +// } +// } +// /* 美团配送的门店是否存在,调用美团配送的api(有可能接了),查询京西门店对应的美团配送门店是否存在,若不存在则要在京西这边解绑美团配送门店 +// 怎么解绑可以在网页上门店管理那点一下看看调的什么接口,传的什么参数*/ +// /*获取所有门店信息*/ +// //test: +// for _, StoreCourierList1 := range StoreCourierList { +// diff := false +// StoreLists, _ := dao.GetStoreList(db, []int{StoreCourierList1.StoreID}, nil, nil, nil, "") +// if StoreLists == nil { +// globals.SugarLogger.Debugf("StoreID为:%s,在store表未找到", StoreCourierList1.StoreID) +// continue +// } +// if StoreCourierList1.VendorID != model.VendorIDMTPS || StoreCourierList1.VendorStoreID == "" { +// continue +// } +// if StoreCourierList1.Status == model.StoreStatusDisabled || StoreCourierList1.Status == model.StoreStatusClosed { +// continue +// } +// /*京西不为空,容错*/ +// //if { +// /*调用API获取美团的商店信息*/ +// MTPSInfo := new(mtpsapi.ShopInfo) +// MTPSInfo, _ = api.MtpsAPI.ShopQuery(StoreCourierList1.VendorStoreID) +// if MTPSInfo == nil { +// globals.SugarLogger.Debug("美团未找到该门店," + StoreLists[0].Name + strconv.Itoa(StoreCourierList1.StoreID) + " 被解绑,关联的ID为:" + StoreCourierList1.VendorStoreID) +// diff = true +// } +// if MTPSInfo != nil && MTPSInfo.ShopName == "" { +// MTPSInfo.ShopName = StoreInfoList2[MTPSInfo.ShopID] +// } +// if MTPSInfo != nil && MTPSInfo.ShopLng != StoreCourierList1.Lng && MTPSInfo.ShopLat == StoreCourierList1.Lat { +// /*平台上但是坐标不同,解绑*/ +// globals.SugarLogger.Debug("商店与美团配送上的坐标不同," + StoreLists[0].Name + strconv.Itoa(StoreCourierList1.StoreID) + " 被解绑,关联的ID为:" + StoreCourierList1.VendorStoreID) +// if _, err := DeleteStoreCourierMap(ctx, db, StoreCourierList1.StoreID, StoreCourierList1.VendorID, ctx.GetUserName()); err != nil { +// globals.SugarLogger.Debug(err.Error()) +// return +// } +// diff = true +// } +// if diff { +// if _, err := DeleteStoreCourierMap(ctx, db, StoreCourierList1.StoreID, StoreCourierList1.VendorID, ctx.GetUserName()); err != nil { +// globals.SugarLogger.Debug(err.Error()) +// return +// } +// //break test +// } +// } +// globals.SugarLogger.Debug("StoreOpenAll skuID is Complete") +//} //func StoreOpenAll(ctx *jxcontext.Context) { //db := dao.GetDB() @@ -801,62 +799,63 @@ func StoreOpenAll(ctx *jxcontext.Context) { //} //} -//func StoreOpenAll(ctx *jxcontext.Context) { -// db := dao.GetDB() -// StoreLists, err := dao.GetStoreList(db, nil, nil, []int{1}, nil, "") -// if err != nil { -// globals.SugarLogger.Debugf("商店列表获取失败") -// } -// var StoreMapLists []*model.StoreMap -// for _, StoreList := range StoreLists { -// if StoreMapLists, err = dao.GetStoresMapList(db, []int{0, 1, 3}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { -// globals.SugarLogger.Debugf("商店列表获取失败") -// } -// if len(StoreMapLists) > 0 { -// /*将map查询的结果全部放进数组*/ -// for _, StoreMapList := range StoreMapLists { -// /*二元运算符*/ -// StoreMapList.SyncStatus = StoreMapList.SyncStatus | model.SyncFlagModifiedMask -// StoreMapList.UpdatedAt = time.Now() -// StoreMapList.LastOperator = ctx.GetUserName() -// dao.UpdateEntity(db, StoreMapList, "SyncStatus", "UpdatedAt", "LastOperator") -// //} -// /*同步*/ -// if _, err = CurVendorSync.SyncStore(ctx, db, StoreMapList.VendorID, StoreList.ID, false, ctx.GetUserName()); err != nil { -// globals.SugarLogger.Debugf("同步失败") -// } -// } -// } -// if StoreMapLists, err = dao.GetStoresMapList(db, []int{9}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { -// globals.SugarLogger.Debugf("商店列表获取失败") -// } -// if len(StoreMapLists) == 0 { -// /*遍历,绑定*/ -// Map := &model.StoreMap{} -// Map.VendorStoreID = strconv.Itoa(StoreList.ID) -// Map.AutoPickup = 1 -// Map.DeliveryCompetition = 1 -// Map.PricePercentage = 100 -// Map.IsSync = 1 -// Map.PricePercentagePack = "京西100-100" -// Map.DeliveryFeeDeductionSill = 0 -// Map.DeliveryFeeDeductionFee = 0 -// Map.IsOrder = 0 -// if _, err := AddStoreVendorMap(ctx, db, 9, "", StoreList.ID, Map); err != nil { -// globals.SugarLogger.Debugf("AddStoreVendorMap调用出错,StoreID是" + strconv.Itoa(StoreList.ID)) -// globals.SugarLogger.Debugf(err.Error()) -// } -// } -// /*改配送范围*/ -// //deliverrangetype 3 -// //deliverrange 3000 -// StoreList.DeliveryRange = "3000" -// StoreList.DeliveryRangeType = 3 -// StoreList.UpdatedAt = time.Now() -// StoreList.LastOperator = ctx.GetUserName() -// dao.UpdateEntity(db, StoreList, "DeliveryRange", "DeliveryRangeType", "LastOperator", "UpdatedAt") -// } -//} +func StoreOpenAll(ctx *jxcontext.Context) { + db := dao.GetDB() + StoreLists, err := dao.GetStoreList(db, nil, nil, []int{1}, nil, "") + if err != nil { + globals.SugarLogger.Debugf("商店列表获取失败") + } + var StoreMapLists []*model.StoreMap + for _, StoreList := range StoreLists { + if StoreMapLists, err = dao.GetStoresMapList(db, []int{0, 1, 3}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { + globals.SugarLogger.Debugf("商店列表获取失败") + } + if len(StoreMapLists) > 0 { + /*将map查询的结果全部放进数组*/ + for _, StoreMapList := range StoreMapLists { + /*二元运算符*/ + StoreMapList.SyncStatus = StoreMapList.SyncStatus | model.SyncFlagModifiedMask + StoreMapList.UpdatedAt = time.Now() + StoreMapList.LastOperator = ctx.GetUserName() + dao.UpdateEntity(db, StoreMapList, "SyncStatus", "UpdatedAt", "LastOperator") + //} + /*同步*/ + if _, err = CurVendorSync.SyncStore(ctx, db, StoreMapList.VendorID, StoreList.ID, false, ctx.GetUserName()); err != nil { + globals.SugarLogger.Debugf("同步失败") + } + } + } + if StoreMapLists, err = dao.GetStoresMapList(db, []int{9}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { + globals.SugarLogger.Debugf("商店列表获取失败") + } + if len(StoreMapLists) == 0 { + /*遍历,绑定*/ + Map := &model.StoreMap{} + Map.VendorStoreID = strconv.Itoa(StoreList.ID) + Map.AutoPickup = 1 + Map.DeliveryCompetition = 1 + Map.PricePercentage = 100 + Map.IsSync = 1 + Map.PricePercentagePack = "京西100-100" + Map.DeliveryFeeDeductionSill = 0 + Map.DeliveryFeeDeductionFee = 0 + Map.IsOrder = 0 + if _, err := AddStoreVendorMap(ctx, db, 9, "", StoreList.ID, Map); err != nil { + globals.SugarLogger.Debugf("AddStoreVendorMap调用出错,StoreID是" + strconv.Itoa(StoreList.ID)) + globals.SugarLogger.Debugf(err.Error()) + } + } + /*改配送范围*/ + //deliverrangetype 3 + //deliverrange 3000 + StoreList.DeliveryRange = "3000" + StoreList.DeliveryRangeType = 3 + StoreList.UpdatedAt = time.Now() + StoreList.LastOperator = ctx.GetUserName() + dao.UpdateEntity(db, StoreList, "DeliveryRange", "DeliveryRangeType", "LastOperator", "UpdatedAt") + } + globals.SugarLogger.Debug("StoreOpenAll skuID is Complete") +} func TestDiff(ctx *jxcontext.Context, vendorIDList []int, storeIDList []int) { baseapi.SugarLogger.Debugf("CheckSkuDiffBetweenJxAndVendor start time: %v", time.Now()) @@ -1332,9 +1331,9 @@ func WriteToExcel(task *tasksch.SeqTask, data map[int][]DiffData, depotData map[ } } -func SetJxPrice(jxSkuInfoDataMulti *dao.StoreSkuNamesInfo, storeId int, Vendorid int) (err error) { +func SetJxPrice(jxSkuInfoDataMulti *dao.StoreSkuNamesInfo, storeId int, vendorid int) (err error) { db := dao.GetDB() - storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeId, Vendorid) + storeDetail, err := dao.GetStoreDetail(dao.GetDB(), storeId, vendorid) if err != nil { dao.Rollback(db) return err From 749467b490c2e95e54c0ced3e227e5af64f467bd Mon Sep 17 00:00:00 2001 From: qidongsheng Date: Thu, 2 Jul 2020 16:42:02 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=B5=8B=E8=AF=951?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku_check.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/business/jxstore/cms/store_sku_check.go b/business/jxstore/cms/store_sku_check.go index 698d5ee13..f88950311 100644 --- a/business/jxstore/cms/store_sku_check.go +++ b/business/jxstore/cms/store_sku_check.go @@ -807,6 +807,9 @@ func StoreOpenAll(ctx *jxcontext.Context) { } var StoreMapLists []*model.StoreMap for _, StoreList := range StoreLists { + if StoreList.StoreLevel == "E" { + continue + } if StoreMapLists, err = dao.GetStoresMapList(db, []int{0, 1, 3}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { globals.SugarLogger.Debugf("商店列表获取失败") } From 49cb1c0344da48a873af6530bd151eb16389c2f3 Mon Sep 17 00:00:00 2001 From: qidongsheng Date: Thu, 2 Jul 2020 17:24:37 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=B0=E5=A2=9Estore=5Fcourier=5Fmap?= =?UTF-8?q?=E8=A1=A8vendor=5Fstatus=E5=AD=97=E6=AE=B5=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=BA=E7=BE=8E=E5=9B=A2=E8=90=A5=E4=B8=9A?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/store_sku_check.go | 295 ++++++++++++------------ business/model/store.go | 2 +- 2 files changed, 150 insertions(+), 147 deletions(-) diff --git a/business/jxstore/cms/store_sku_check.go b/business/jxstore/cms/store_sku_check.go index f88950311..1697865d6 100644 --- a/business/jxstore/cms/store_sku_check.go +++ b/business/jxstore/cms/store_sku_check.go @@ -2,6 +2,8 @@ package cms import ( "fmt" + "git.rosy.net.cn/baseapi/platformapi/mtpsapi" + "git.rosy.net.cn/jx-callback/globals/api" "strconv" "strings" "sync" @@ -559,92 +561,93 @@ func CompareJxAndMultiVenderDepot(ctx *jxcontext.Context, vendorMap map[int]bool } } -//func StoreOpenAll(ctx *jxcontext.Context) { -// globals.SugarLogger.Debug("StoreOpenAll skuID is start") -// /*获取美团门店信息*/ -// StoreInfoList, _ := api.MtpsAPI.GetStoreStatusAll() -// StoreInfoList2 := make(map[string]string) -// for _, store := range StoreInfoList { -// for _, data := range store.DataList { -// StoreInfoList2[data.OuterPoiID] = data.PoiName -// } -// } -// db := dao.GetDB() -// /*比较营业状态*/ -// /*把获取的京西状态和名称存一下*/ -// StoreCourierList, _ := dao.GetStoreCourierList(db, []int{}, model.StoreStatusAll, model.StoreStatusAll) -// /*循环美团*/ -// for _, StoreInfoList1 := range StoreInfoList { -// for _, StoreInfoList11 := range StoreInfoList1.DataList { -// /*循环京西*/ -// for _, StoreCourierList1 := range StoreCourierList { -// /*只比较美团*/ -// if StoreCourierList1.VendorID != model.VendorIDMTPS { -// continue -// } -// /*如果门店ID相同的时候进入判断,一个门店只用判断一次就行*/ -// if StoreCourierList1.VendorStoreID == StoreInfoList11.OuterPoiID { -// if StoreCourierList1.Status != StoreInfoList11.OpenType { -// sl := make(map[string]interface{}) -// sl["vendorStoreID"] = StoreInfoList11.OuterPoiID -// sl["status"] = StoreInfoList11.OpenType -// globals.SugarLogger.Debugf("被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s", -// StoreInfoList11.OuterPoiID, StoreInfoList11.PoiName, strconv.Itoa(StoreInfoList11.OpenType), strconv.Itoa(StoreCourierList1.Status)) -// UpdateStoreCourierMap(ctx, nil, StoreCourierList1.StoreID, StoreCourierList1.VendorID, sl, ctx.GetUserName()) -// break -// } -// } -// } -// } -// } -// /* 美团配送的门店是否存在,调用美团配送的api(有可能接了),查询京西门店对应的美团配送门店是否存在,若不存在则要在京西这边解绑美团配送门店 -// 怎么解绑可以在网页上门店管理那点一下看看调的什么接口,传的什么参数*/ -// /*获取所有门店信息*/ -// //test: -// for _, StoreCourierList1 := range StoreCourierList { -// diff := false -// StoreLists, _ := dao.GetStoreList(db, []int{StoreCourierList1.StoreID}, nil, nil, nil, "") -// if StoreLists == nil { -// globals.SugarLogger.Debugf("StoreID为:%s,在store表未找到", StoreCourierList1.StoreID) -// continue -// } -// if StoreCourierList1.VendorID != model.VendorIDMTPS || StoreCourierList1.VendorStoreID == "" { -// continue -// } -// if StoreCourierList1.Status == model.StoreStatusDisabled || StoreCourierList1.Status == model.StoreStatusClosed { -// continue -// } -// /*京西不为空,容错*/ -// //if { -// /*调用API获取美团的商店信息*/ -// MTPSInfo := new(mtpsapi.ShopInfo) -// MTPSInfo, _ = api.MtpsAPI.ShopQuery(StoreCourierList1.VendorStoreID) -// if MTPSInfo == nil { -// globals.SugarLogger.Debug("美团未找到该门店," + StoreLists[0].Name + strconv.Itoa(StoreCourierList1.StoreID) + " 被解绑,关联的ID为:" + StoreCourierList1.VendorStoreID) -// diff = true -// } -// if MTPSInfo != nil && MTPSInfo.ShopName == "" { -// MTPSInfo.ShopName = StoreInfoList2[MTPSInfo.ShopID] -// } -// if MTPSInfo != nil && MTPSInfo.ShopLng != StoreCourierList1.Lng && MTPSInfo.ShopLat == StoreCourierList1.Lat { -// /*平台上但是坐标不同,解绑*/ -// globals.SugarLogger.Debug("商店与美团配送上的坐标不同," + StoreLists[0].Name + strconv.Itoa(StoreCourierList1.StoreID) + " 被解绑,关联的ID为:" + StoreCourierList1.VendorStoreID) -// if _, err := DeleteStoreCourierMap(ctx, db, StoreCourierList1.StoreID, StoreCourierList1.VendorID, ctx.GetUserName()); err != nil { -// globals.SugarLogger.Debug(err.Error()) -// return -// } -// diff = true -// } -// if diff { -// if _, err := DeleteStoreCourierMap(ctx, db, StoreCourierList1.StoreID, StoreCourierList1.VendorID, ctx.GetUserName()); err != nil { -// globals.SugarLogger.Debug(err.Error()) -// return -// } -// //break test -// } -// } -// globals.SugarLogger.Debug("StoreOpenAll skuID is Complete") -//} +func StoreOpenAll(ctx *jxcontext.Context) { + globals.SugarLogger.Debug("StoreOpenAll skuID is start") + /*获取美团门店信息*/ + StoreInfoList, _ := api.MtpsAPI.GetStoreStatusAll() + StoreInfoList2 := make(map[string]string) + for _, store := range StoreInfoList { + for _, data := range store.DataList { + StoreInfoList2[data.OuterPoiID] = data.PoiName + } + } + db := dao.GetDB() + /*比较营业状态*/ + /*把获取的京西状态和名称存一下*/ + StoreCourierList, _ := dao.GetStoreCourierList(db, []int{}, model.StoreStatusAll, model.StoreStatusAll) + /*循环美团*/ + for _, StoreInfoList1 := range StoreInfoList { + for _, StoreInfoList11 := range StoreInfoList1.DataList { + /*循环京西*/ + for _, StoreCourierList1 := range StoreCourierList { + /*只比较美团*/ + if StoreCourierList1.VendorID != model.VendorIDMTPS { + continue + } + /*如果门店ID相同的时候进入判断,一个门店只用判断一次就行*/ + if StoreCourierList1.VendorStoreID == StoreInfoList11.OuterPoiID { + if StoreCourierList1.Status != StoreInfoList11.OpenType { + sl := make(map[string]interface{}) + sl["vendorStoreID"] = StoreInfoList11.OuterPoiID + sl["status"] = StoreInfoList11.OpenType + sl["vendorStatus"] = StoreInfoList11.OpenType + globals.SugarLogger.Debugf("被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s", + StoreInfoList11.OuterPoiID, StoreInfoList11.PoiName, strconv.Itoa(StoreInfoList11.OpenType), strconv.Itoa(StoreCourierList1.Status)) + UpdateStoreCourierMap(ctx, nil, StoreCourierList1.StoreID, StoreCourierList1.VendorID, sl, ctx.GetUserName()) + break + } + } + } + } + } + /* 美团配送的门店是否存在,调用美团配送的api(有可能接了),查询京西门店对应的美团配送门店是否存在,若不存在则要在京西这边解绑美团配送门店 + 怎么解绑可以在网页上门店管理那点一下看看调的什么接口,传的什么参数*/ + /*获取所有门店信息*/ + //test: + for _, StoreCourierList1 := range StoreCourierList { + diff := false + StoreLists, _ := dao.GetStoreList(db, []int{StoreCourierList1.StoreID}, nil, nil, nil, "") + if StoreLists == nil { + globals.SugarLogger.Debugf("StoreID为:%s,在store表未找到", StoreCourierList1.StoreID) + continue + } + if StoreCourierList1.VendorID != model.VendorIDMTPS || StoreCourierList1.VendorStoreID == "" { + continue + } + if StoreCourierList1.Status == model.StoreStatusDisabled || StoreCourierList1.Status == model.StoreStatusClosed { + continue + } + /*京西不为空,容错*/ + //if { + /*调用API获取美团的商店信息*/ + MTPSInfo := new(mtpsapi.ShopInfo) + MTPSInfo, _ = api.MtpsAPI.ShopQuery(StoreCourierList1.VendorStoreID) + if MTPSInfo == nil { + globals.SugarLogger.Debug("美团未找到该门店," + StoreLists[0].Name + strconv.Itoa(StoreCourierList1.StoreID) + " 被解绑,关联的ID为:" + StoreCourierList1.VendorStoreID) + diff = true + } + if MTPSInfo != nil && MTPSInfo.ShopName == "" { + MTPSInfo.ShopName = StoreInfoList2[MTPSInfo.ShopID] + } + if MTPSInfo != nil && MTPSInfo.ShopLng != StoreCourierList1.Lng && MTPSInfo.ShopLat == StoreCourierList1.Lat { + /*平台上但是坐标不同,解绑*/ + globals.SugarLogger.Debug("商店与美团配送上的坐标不同," + StoreLists[0].Name + strconv.Itoa(StoreCourierList1.StoreID) + " 被解绑,关联的ID为:" + StoreCourierList1.VendorStoreID) + if _, err := DeleteStoreCourierMap(ctx, db, StoreCourierList1.StoreID, StoreCourierList1.VendorID, ctx.GetUserName()); err != nil { + globals.SugarLogger.Debug(err.Error()) + return + } + diff = true + } + if diff { + if _, err := DeleteStoreCourierMap(ctx, db, StoreCourierList1.StoreID, StoreCourierList1.VendorID, ctx.GetUserName()); err != nil { + globals.SugarLogger.Debug(err.Error()) + return + } + //break test + } + } + globals.SugarLogger.Debug("StoreOpenAll skuID is Complete") +} //func StoreOpenAll(ctx *jxcontext.Context) { //db := dao.GetDB() @@ -799,66 +802,66 @@ func CompareJxAndMultiVenderDepot(ctx *jxcontext.Context, vendorMap map[int]bool //} //} -func StoreOpenAll(ctx *jxcontext.Context) { - db := dao.GetDB() - StoreLists, err := dao.GetStoreList(db, nil, nil, []int{1}, nil, "") - if err != nil { - globals.SugarLogger.Debugf("商店列表获取失败") - } - var StoreMapLists []*model.StoreMap - for _, StoreList := range StoreLists { - if StoreList.StoreLevel == "E" { - continue - } - if StoreMapLists, err = dao.GetStoresMapList(db, []int{0, 1, 3}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { - globals.SugarLogger.Debugf("商店列表获取失败") - } - if len(StoreMapLists) > 0 { - /*将map查询的结果全部放进数组*/ - for _, StoreMapList := range StoreMapLists { - /*二元运算符*/ - StoreMapList.SyncStatus = StoreMapList.SyncStatus | model.SyncFlagModifiedMask - StoreMapList.UpdatedAt = time.Now() - StoreMapList.LastOperator = ctx.GetUserName() - dao.UpdateEntity(db, StoreMapList, "SyncStatus", "UpdatedAt", "LastOperator") - //} - /*同步*/ - if _, err = CurVendorSync.SyncStore(ctx, db, StoreMapList.VendorID, StoreList.ID, false, ctx.GetUserName()); err != nil { - globals.SugarLogger.Debugf("同步失败") - } - } - } - if StoreMapLists, err = dao.GetStoresMapList(db, []int{9}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { - globals.SugarLogger.Debugf("商店列表获取失败") - } - if len(StoreMapLists) == 0 { - /*遍历,绑定*/ - Map := &model.StoreMap{} - Map.VendorStoreID = strconv.Itoa(StoreList.ID) - Map.AutoPickup = 1 - Map.DeliveryCompetition = 1 - Map.PricePercentage = 100 - Map.IsSync = 1 - Map.PricePercentagePack = "京西100-100" - Map.DeliveryFeeDeductionSill = 0 - Map.DeliveryFeeDeductionFee = 0 - Map.IsOrder = 0 - if _, err := AddStoreVendorMap(ctx, db, 9, "", StoreList.ID, Map); err != nil { - globals.SugarLogger.Debugf("AddStoreVendorMap调用出错,StoreID是" + strconv.Itoa(StoreList.ID)) - globals.SugarLogger.Debugf(err.Error()) - } - } - /*改配送范围*/ - //deliverrangetype 3 - //deliverrange 3000 - StoreList.DeliveryRange = "3000" - StoreList.DeliveryRangeType = 3 - StoreList.UpdatedAt = time.Now() - StoreList.LastOperator = ctx.GetUserName() - dao.UpdateEntity(db, StoreList, "DeliveryRange", "DeliveryRangeType", "LastOperator", "UpdatedAt") - } - globals.SugarLogger.Debug("StoreOpenAll skuID is Complete") -} +//func StoreOpenAll(ctx *jxcontext.Context) { +// db := dao.GetDB() +// StoreLists, err := dao.GetStoreList(db, nil, nil, []int{1}, nil, "") +// if err != nil { +// globals.SugarLogger.Debugf("商店列表获取失败") +// } +// var StoreMapLists []*model.StoreMap +// for _, StoreList := range StoreLists { +// if StoreList.StoreLevel == "E" { +// continue +// } +// if StoreMapLists, err = dao.GetStoresMapList(db, []int{0, 1, 3}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { +// globals.SugarLogger.Debugf("商店列表获取失败") +// } +// if len(StoreMapLists) > 0 { +// /*将map查询的结果全部放进数组*/ +// for _, StoreMapList := range StoreMapLists { +// /*二元运算符*/ +// StoreMapList.SyncStatus = StoreMapList.SyncStatus | model.SyncFlagModifiedMask +// StoreMapList.UpdatedAt = time.Now() +// StoreMapList.LastOperator = ctx.GetUserName() +// dao.UpdateEntity(db, StoreMapList, "SyncStatus", "UpdatedAt", "LastOperator") +// //} +// /*同步*/ +// if _, err = CurVendorSync.SyncStore(ctx, db, StoreMapList.VendorID, StoreList.ID, false, ctx.GetUserName()); err != nil { +// globals.SugarLogger.Debugf("同步失败") +// } +// } +// } +// if StoreMapLists, err = dao.GetStoresMapList(db, []int{9}, []int{StoreList.ID}, nil, 1, -1, "", ""); err != nil { +// globals.SugarLogger.Debugf("商店列表获取失败") +// } +// if len(StoreMapLists) == 0 { +// /*遍历,绑定*/ +// Map := &model.StoreMap{} +// Map.VendorStoreID = strconv.Itoa(StoreList.ID) +// Map.AutoPickup = 1 +// Map.DeliveryCompetition = 1 +// Map.PricePercentage = 100 +// Map.IsSync = 1 +// Map.PricePercentagePack = "京西100-100" +// Map.DeliveryFeeDeductionSill = 0 +// Map.DeliveryFeeDeductionFee = 0 +// Map.IsOrder = 0 +// if _, err := AddStoreVendorMap(ctx, db, 9, "", StoreList.ID, Map); err != nil { +// globals.SugarLogger.Debugf("AddStoreVendorMap调用出错,StoreID是" + strconv.Itoa(StoreList.ID)) +// globals.SugarLogger.Debugf(err.Error()) +// } +// } +// /*改配送范围*/ +// //deliverrangetype 3 +// //deliverrange 3000 +// StoreList.DeliveryRange = "3000" +// StoreList.DeliveryRangeType = 3 +// StoreList.UpdatedAt = time.Now() +// StoreList.LastOperator = ctx.GetUserName() +// dao.UpdateEntity(db, StoreList, "DeliveryRange", "DeliveryRangeType", "LastOperator", "UpdatedAt") +// } +// globals.SugarLogger.Debug("StoreOpenAll skuID is Complete") +//} func TestDiff(ctx *jxcontext.Context, vendorIDList []int, storeIDList []int) { baseapi.SugarLogger.Debugf("CheckSkuDiffBetweenJxAndVendor start time: %v", time.Now()) diff --git a/business/model/store.go b/business/model/store.go index 4acfb3ba0..411d97080 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -459,7 +459,7 @@ type StoreCourierMap struct { VendorStoreID string `orm:"column(vendor_store_id);size(48)" json:"vendorStoreID"` Status int `json:"status"` AuditStatus int `json:"auditStatus"` - + VendorStatus int `json:"vendorStatus"` // 以下数据仅用于同步使用 Lng int `json:"-"` // 乘了10的6次方 Lat int `json:"-"` // 乘了10的6次方 From 61df974d7b28f98fc77eaa5d4111567dfdc57bc2 Mon Sep 17 00:00:00 2001 From: qidongsheng Date: Thu, 2 Jul 2020 17:28:41 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=96=B0=E5=A2=9Estore=5Fcourier=5Fmap?= =?UTF-8?q?=E8=A1=A8vendor=5Fstatus=E5=AD=97=E6=AE=B5=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=B8=BA=E7=BE=8E=E5=9B=A2=E8=90=A5=E4=B8=9A?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/jxstore/cms/sync.go b/business/jxstore/cms/sync.go index 856b5f40e..dabaf2c41 100644 --- a/business/jxstore/cms/sync.go +++ b/business/jxstore/cms/sync.go @@ -1288,6 +1288,7 @@ func SetMTPSStatus(ctx *jxcontext.Context) { sl := make(map[string]interface{}) sl["vendorStoreID"] = StoreInfoList11.OuterPoiID sl["status"] = StoreInfoList11.OpenType + sl["vendorStatus"] = StoreInfoList11.OpenType globals.SugarLogger.Debugf("被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s", StoreInfoList11.OuterPoiID, StoreInfoList11.PoiName, strconv.Itoa(StoreInfoList11.OpenType), strconv.Itoa(StoreCourierList1.Status)) UpdateStoreCourierMap(ctx, nil, StoreCourierList1.StoreID, StoreCourierList1.VendorID, sl, ctx.GetUserName())