@@ -1279,89 +1279,107 @@ func SyncSkuExperfixAndWatermark(ctx *jxcontext.Context) (err error) {
return err
}
func SetMTPSStatus ( ctx * jxcontext . Context ) {
globals . SugarLogger . Debug ( "StoreOpenAll skuID is start" )
func SetMTPSStatus ( ctx * jxcontext . Context , StoreId , CourierStatus int ) {
globals . SugarLogger . Debug ( "StoreOpenAll skuID is start " )
globals . SugarLogger . Debug ( "StoreId" , "CourierStatus" , StoreId , CourierStatus )
/*获取美团门店信息*/
StoreInfoList , _ := api . MtpsAPI . GetStoreStatusAll ( )
StoreInfoList2 := make ( map [ str ing ] string )
for _ , store := range StoreInfoList {
for _ , data := range s tore. DataList {
StoreInfoList2 [ data . OuterPoiID ] = data . PoiName
if StoreId != 0 && CourierStatus != 0 {
StoreLists , _ := dao . GetStoreList ( nil , [ ] int { StoreId } , nil , nil , nil , "" )
StoreInfoList , _ := api . MtpsAPI . GetStoreStatus ( StoreLists [ 0 ] . Name )
i f StoreInfoList != nil && S toreInfoList . PoiName != "" {
//若存在且名字不为空,就是找到了
if StoreInfoList . OpenType != CourierStatus {
sl := make ( map [ string ] interface { } )
sl [ "vendorStoreID" ] = StoreInfoList . OuterPoiID
sl [ "status" ] = StoreInfoList . OpenType
sl [ "vendorStatus" ] = StoreInfoList . OpenType
globals . SugarLogger . Debugf ( "被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s" ,
StoreInfoList . OuterPoiID , StoreInfoList . PoiName , strconv . Itoa ( StoreInfoList . OpenType ) , strconv . Itoa ( StoreLists [ 0 ] . Status ) )
UpdateStoreCourierMap ( ctx , nil , StoreId , model . VendorIDMTPS , sl , ctx . GetUserName ( ) )
}
}
}
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 {
i f StoreCourierList1 . Status ! = StoreInfoList11 . OpenType {
sl := make ( map [ string ] interface { } )
sl [ "vendorStoreID" ] = StoreInfoList11 . OuterPoiID
sl [ "status" ] = StoreInfoList11 . OpenTyp e
sl [ "vendorStatus" ] = StoreInfoList11 . OpenType
globals . SugarLogger . Debugf ( "被修改配送状态的VendorStoreID是:%s,名称是:%s,美团状态是:%s,本地状态是:%s" ,
StoreInfo List11 . OuterPoiID , StoreInfoList11 . PoiName , strconv . Itoa ( StoreInfoList11 . OpenType ) , strconv . Itoa ( StoreCourierList1 . Status ) )
UpdateStoreCourierMap ( ctx , nil , StoreCourierList1 . StoreID , StoreCourier List1 . VendorID , sl , ctx . GetUserName ( ) )
break
} else {
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 . Get StoreCourierList( db , [ ] int { } , model . StoreStatusAll , model . StoreStatusAll )
/*循环美团*/
for _ , StoreInfoList1 := range StoreInfoList {
for _ , StoreInfoList11 := range StoreInfoList1 . DataList {
/*循环京西*/
for _ , StoreCourierList1 : = range StoreCourierList {
/*只比较美团*/
if StoreCourierList1 . VendorID ! = model . VendorIDMTPS {
continu e
}
/*如果门店ID相同的时候进入判断,一个门店只用判断一次就行*/
if StoreCourier List1 . VendorStoreID == StoreInfoList11 . OuterPoiID {
if StoreCourierList1 . Status != StoreInfo List11 . 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
/* 美团配送的门店是否存在, 调用美团配送的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
}
dif f = true
}
if diff {
if _ , err := Delete StoreCourierMap ( ctx , db , StoreCourierList1 . StoreID , StoreCourierList1 . VendorID , ctx . GetUserName ( ) ) ; err != nil {
globals . SugarLogger . Debug ( err . Error ( ) )
return
i f 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
}
//break test
}
}
globals . SugarLogger . Debug ( "StoreOpenAll skuID is Complete" )