From 49cb1c0344da48a873af6530bd151eb16389c2f3 Mon Sep 17 00:00:00 2001 From: qidongsheng Date: Thu, 2 Jul 2020 17:24:37 +0800 Subject: [PATCH] =?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次方