- add conf enableJdStoreWrite

- enable enableEbaiStoreWrite on beta
This commit is contained in:
gazebo
2019-04-29 10:35:45 +08:00
parent f403a74bc0
commit c462510b2d
13 changed files with 47 additions and 37 deletions

View File

@@ -436,7 +436,7 @@ func CreateJdPromotion(ctx *jxcontext.Context, isIDJd bool, isAsync, isContinueW
for k, v := range modifyPrices {
modifyPrices2[k] = v.(*jdapi.SkuPriceInfo)
}
if globals.EnableStoreWrite {
if globals.EnableJdStoreWrite {
if _, err = api.JdAPI.UpdateVendorStationPrice(utils.Int2Str(storeID), "", modifyPrices2); err != nil {
return nil, err
}
@@ -1048,7 +1048,7 @@ func getPromotionHander(promotionType int) JdPromotionHandler {
// panic(fmt.Sprintf("unknown promotion type:%d", promotionType))
return nil
}
if !globals.EnableStoreWrite {
if !globals.EnableJdStoreWrite {
promotionHandler = &JdNullHandler{}
}
return promotionHandler

View File

@@ -728,7 +728,7 @@ func TransformJdSpu2Sku(ctx *jxcontext.Context, skuNameIDs []int, count int, isA
skuIDs = append(skuIDs, sku.ID)
locker.Unlock()
if !jxutils.IsFakeID(sku.JdID) {
if globals.EnableStoreWrite {
if globals.EnableJdStoreWrite {
if err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuName.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted)); err != nil {
if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 11004 {
err = nil
@@ -740,7 +740,7 @@ func TransformJdSpu2Sku(ctx *jxcontext.Context, skuNameIDs []int, count int, isA
}
}
}
if err == nil && globals.EnableStoreWrite {
if err == nil && globals.EnableJdStoreWrite {
if err = api.JdAPI.UpdateSpu(utils.Int2Str(skuName.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusOffline)); err == nil {
err = api.JdAPI.UpdateSpu(utils.Int2Str(skuName.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted))
} else if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 11035 {

View File

@@ -9,7 +9,6 @@ import (
"git.rosy.net.cn/jx-callback/business/jxcallback/auth"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego"
)
type IAuther interface {
@@ -71,7 +70,7 @@ func New(notUsed interface{}, token string, w http.ResponseWriter, r *http.Reque
}
}
if err == model.ErrTokenIsInvalid {
if beego.BConfig.RunMode != "prod" {
if !globals.IsProductEnv() {
err = nil
} else {
errCode = model.ErrCodeTokenIsInvalid

View File

@@ -80,7 +80,7 @@ func RefreshConfig(configKey string, expiresTime time.Duration, configGetter fun
}
if handleType != 0 {
if curConfig.Token, curConfig.Date = configGetter(); curConfig.Token == "" {
if beego.BConfig.RunMode == "prod" {
if globals.IsProductEnv() {
globals.SugarLogger.Errorf("RefreshConfig %s get empty token", configKey)
sleepDuration = errRefreshGap
} else {
@@ -154,7 +154,7 @@ func RefreshWeixinToken() (err error) {
func RefreshElmToken() (err error) {
if api.ElmAPI != nil {
err = RefreshConfig("eleme", elmTokenExpires, func() (string, string) {
if beego.BConfig.RunMode == "prod" {
if globals.IsProductEnv() {
if tokenInfo, err := api.ElmAPI.RefreshTokenIndividual(); err == nil {
tokenInfo2 := &ElmTokenForCompatible{
Error: "",
@@ -183,7 +183,7 @@ func RefreshElmToken() (err error) {
func RefreshWeimobToken() (err error) {
if api.WeimobAPI != nil {
err = RefreshConfig("weimob", weimobTokenExpires, func() (string, string) {
if beego.BConfig.RunMode == "prod" {
if globals.IsProductEnv() {
if tokenInfo, err := api.WeimobAPI.RefreshTokenByRefreshToken(); err == nil {
return string(utils.MustMarshal(tokenInfo)), utils.Time2Str(time.Now().Add((time.Duration(tokenInfo.ExpiresIn) - weimobTokenExpires/time.Second) * time.Second))
}
@@ -204,7 +204,7 @@ func RefreshDingDingToken() (err error) {
api.DingDingAPI.RetrieveToken()
return RefreshConfig("dingding", dingdingTokenExpires, func() (string, string) {
globals.SugarLogger.Debugf("RefreshDingDingToken RunMode:%s", beego.BConfig.RunMode)
if true { //beego.BConfig.RunMode == "prod" {
if true { //globals.IsProductEnv() {
if token, err := api.DingDingAPI.RetrieveToken(); err == nil {
globals.SugarLogger.Debugf("RefreshDingDingToken tokenInfo:%s", token)
return token, ""
@@ -232,7 +232,7 @@ func SaveWeimobToken(token *weimobapi.TokenInfo) (err error) {
func RefreshYilianyunToken() (err error) {
return RefreshConfig("yilianyun", yilianyunTokenExpires, func() (string, string) {
globals.SugarLogger.Debugf("RefreshYilianyunToken RunMode:%s", beego.BConfig.RunMode)
if beego.BConfig.RunMode == "prod" {
if globals.IsProductEnv() {
if tokenInfo, err := api.YilianyunAPI.RetrieveToken(); err == nil {
return string(utils.MustMarshal(tokenInfo)), ""
} else {

View File

@@ -59,7 +59,7 @@ func (p *PurchaseHandler) CreateStore(db *dao.DaoDB, storeID int, userName strin
params["category1"] = ""
params["category2"] = ""
params["category3"] = ""
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if globals.EnableEbaiStoreWrite {
intVendorStoreID, err2 := api.EbaiAPI.ShopCreate(params)
if err = err2; err == nil {
return utils.Int64ToStr(intVendorStoreID), err
@@ -160,7 +160,7 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
if err = dao.GetRows(db, &stores, sql, model.VendorIDEBAI, utils.DefaultTimeValue, storeID); err == nil {
for _, store := range stores {
// globals.SugarLogger.Debug(utils.Format4Output(params, false))
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if globals.EnableEbaiStoreWrite {
shopID := 0
if store.SyncStatus&model.SyncFlagDeletedMask == 0 {
shopID = store.ID
@@ -248,7 +248,7 @@ func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask
shopIDs[k] = utils.GetUUID()
}
}
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if globals.EnableEbaiStoreWrite {
err = api.EbaiAPI.ShopIDBatchUpdate(baiduShopIDs, shopIDs)
}
return nil, err

View File

@@ -248,7 +248,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeSku := batchItemList[0].(*tStoreSkuFullInfo)
updateFields := []string{model.FieldEbaiSyncStatus}
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if globals.EnableEbaiStoreWrite {
if storeSku.SkuID == 0 || storeSku.EbaiSyncStatus&model.SyncFlagDeletedMask != 0 {
if storeSku.EbaiSyncStatus&model.SyncFlagNewMask == 0 && storeSku.EbaiID != 0 {
err = api.EbaiAPI.SkuDelete(strStoreID, utils.Int64ToStr(storeSku.EbaiID))
@@ -344,7 +344,7 @@ func (p *PurchaseHandler) DeleteRemoteSkus(ctx *jxcontext.Context, parentTask ta
for k, v := range batchItemList {
strList[k] = v.(string)
}
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if globals.EnableEbaiStoreWrite {
err = api.EbaiAPI.SkuDelete(utils.Int2Str(storeID), strings.Join(strList, ","))
}
return nil, err
@@ -369,7 +369,7 @@ func (p *PurchaseHandler) DeleteRemoteCategories(ctx *jxcontext.Context, parentT
}
task := tasksch.NewParallelTask("DeleteRemoteCategories", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if globals.EnableEbaiStoreWrite {
err = api.EbaiAPI.ShopCategoryDelete(strStoreID, batchItemList[0].(int64))
}
return nil, err
@@ -516,7 +516,7 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
updateFields := []string{model.FieldEbaiSyncStatus}
catInfo := batchItemList[0].(*tStoreCatInfo)
// globals.SugarLogger.Debug(utils.Format4Output(catInfo, false))
if globals.EnableStoreWrite && globals.EnableEbaiStoreWrite {
if globals.EnableEbaiStoreWrite {
if catInfo.EbaiSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
if catInfo.EbaiSyncStatus&model.SyncFlagNewMask == 0 && catInfo.EbaiID != 0 {
err = api.EbaiAPI.ShopCategoryDelete(strStoreID, catInfo.EbaiID)

View File

@@ -147,7 +147,7 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
}
_, params["closeStatus"] = JxStoreStatus2JdStatus(jxutils.MergeStoreStatus(store.Status, store.JdStoreStatus))
globals.SugarLogger.Debug(utils.Format4Output(params, false))
if globals.EnableStoreWrite {
if globals.EnableJdStoreWrite {
if err = api.JdAPI.UpdateStoreInfo4Open(store.VendorStoreID, store.RealLastOperator, params); err != nil {
return err
}
@@ -238,7 +238,7 @@ func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask
if step != stepCount-1 {
storeParams["outSystemId"] = utils.GetUUID()
}
if true { //globals.EnableStoreWrite {
if globals.EnableJdStoreWrite {
err = api.JdAPI.UpdateStoreInfo4Open(store.VendorStoreID, ctx.GetUserName(), storeParams)
}
return nil, err

View File

@@ -108,7 +108,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
}
syncMask := 0
errList := []error{}
if globals.EnableStoreWrite {
if globals.EnableJdStoreWrite {
// todo 以下可以优化为并行操作
globals.SugarLogger.Debug(utils.Format4Output(skuVendibilityList, false), utils.Format4Output(skuPriceInfoList, false), utils.Format4Output(skuStockList, false))
if len(skuVendibilityList) > 0 {
@@ -239,7 +239,7 @@ func (p *PurchaseHandler) syncStoreSkus(ctx *jxcontext.Context, parentTask tasks
}
}
globals.SugarLogger.Debugf("jd syncStoreSkus sync detail, storeID:%d, skuVendibilityList:%s, skuPriceInfoList:%s, skuStockList:%s", storeID, utils.Format4Output(skuVendibilityList, true), utils.Format4Output(skuPriceInfoList, true), utils.Format4Output(skuStockList, true))
if globals.EnableStoreWrite {
if globals.EnableJdStoreWrite {
// todo 以下可以优化为并行操作
if len(skuVendibilityList) > 0 {
_, err = api.JdAPI.BatchUpdateVendibility("", stationNo, skuVendibilityList, ctx.GetUserName())

View File

@@ -35,7 +35,7 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
updateFields := []string{dao.GetSyncStatusStructField(model.VendorNames[model.VendorIDMTWM])}
catInfo := batchItemList[0].(*dao.StoreCatSyncInfo)
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
if globals.EnableMtwmStoreWrite {
if catInfo.MtwmSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
if catInfo.MtwmSyncStatus&model.SyncFlagNewMask == 0 && catInfo.MtwmID != "" {
globals.SugarLogger.Debugf("RetailCatDelete vendorStoreID:%s, MtwmID:%s", vendorStoreID, catInfo.MtwmID)
@@ -129,7 +129,7 @@ func (p *PurchaseHandler) SyncLocalStoreCategory(ctx *jxcontext.Context, db *dao
localCat := catMap[level-1][parentCatName+"/"+catName]
// globals.SugarLogger.Debug(parentCatName, " ", catName, " ", localCat)
if localCat == nil { // 本地分类就没有这个名字,直接删除
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
if globals.EnableMtwmStoreWrite {
globals.SugarLogger.Debugf("RetailCatDelete2 vendorStoreID:%s, catName:%s", vendorStoreID, catName)
if err = api.MtwmAPI.RetailCatDelete(vendorStoreID, catName); err != nil {
return err
@@ -292,7 +292,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
skus[0]["weight"] = skuItem.Weight // weight字段仅限服饰鞋帽、美妆、日用品、母婴、生鲜果蔬、生活超市下的便利店/超市门店品类的商家使用
}
foodData["skus"] = skus
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
if globals.EnableMtwmStoreWrite {
if err = api.MtwmAPI.RetailBatchInitData(vendorStoreID, foodDataList); err == nil {
storeSkuBind.MtwmID = int64(skuItem.ID)
updateFields = append(updateFields, model.FieldMtwmID)
@@ -373,7 +373,7 @@ func (p *PurchaseHandler) DeleteRemoteSkus(ctx *jxcontext.Context, parentTask ta
vendorStoreID := storeDetail.VendorStoreID
task := tasksch.NewParallelTask("mtwm DeleteRemoteSkus", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
if globals.EnableMtwmStoreWrite {
// globals.SugarLogger.Debugf("mtwm RetailDelete vendorStoreID:%s, sku:%s", vendorStoreID, batchItemList[0].(string))
err = api.MtwmAPI.RetailDelete(vendorStoreID, batchItemList[0].(string))
}
@@ -434,7 +434,7 @@ func (p *PurchaseHandler) DeleteRemoteCategories(ctx *jxcontext.Context, parentT
if len(catIDs) > 0 {
task := tasksch.NewParallelTask("mtwm DeleteRemoteCategories paralle", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx,
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
if globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.RetailCatDelete(vendorStoreID, batchItemList[0].(string))
}
return nil, err

View File

@@ -38,7 +38,7 @@ func (p *PurchaseHandler) SyncStoreCategory(ctx *jxcontext.Context, parentTask t
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
updateFields := []string{dao.GetSyncStatusStructField(model.VendorNames[model.VendorIDWSC])}
catInfo := batchItemList[0].(*dao.StoreCatSyncInfo)
if globals.EnableStoreWrite && globals.EnableWscStoreWrite {
if globals.EnableWscStoreWrite {
if catInfo.WscSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
if catInfo.WscSyncStatus&model.SyncFlagNewMask == 0 {
globals.SugarLogger.Debugf("UpdateClassify strStoreID:%s, WscID:%d", strStoreID, catInfo.WscID)
@@ -222,7 +222,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
},
},
}
if globals.EnableStoreWrite && globals.EnableWscStoreWrite {
if globals.EnableWscStoreWrite {
if skuItem.SkuSyncStatus&model.SyncFlagNewMask != 0 {
goodsID, skuMap, err2 := api.WeimobAPI.AddGoods(outerGoodsCode, title, false, []string{skuItem.Img}, skuItem.Comment, isPutAway, 0, categoryId, classifyIdList, b2cGoods, skuList, nil)
if err = err2; err == nil {

View File

@@ -19,8 +19,9 @@ mtwmCallbackURL = "http://callback.jxc4.com"
autonaviKey = "4427170f870af2110becb8852d36ab08"
enableStoreWrite = false
enableJdStoreWrite = false
enableEbaiStoreWrite = false
enableElmStoreWrite = true
enableElmStoreWrite = false
enableMtwmStoreWrite = false
enableWscStoreWrite = false
@@ -139,6 +140,7 @@ weixinSecret = "6bbbed1443cc062c20a015a64c07a531"
dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true"
enableStoreWrite = true
enableJdStoreWrite = true
enableEbaiStoreWrite = true
enableMtwmStoreWrite = true
enableWscStoreWrite = true
@@ -169,6 +171,7 @@ disableMtwm = true
disableWeimob = true
enableStoreWrite = true
enableJdStoreWrite = true
enableEbaiStoreWrite = true
mtpsAppKey = "3c0a05d464c247c19d7ec13accc78605"
@@ -293,6 +296,13 @@ enableMtwmStoreWrite = true
enableWscStoreWrite = false
[beta]
enableStoreWrite = true
enableJdStoreWrite = false
enableEbaiStoreWrite = true
enableElmStoreWrite = false
enableMtwmStoreWrite = false
enableWscStoreWrite = false
jdToken = "ccb10daf-e6f5-4a58-ada5-b97f9073a137"
jdAppKey = "1dba76d40cac446ca500c0391a0b6c9d"
jdSecret = "a88d031a1e7b462cb1579f12e97fe7f4"
@@ -302,8 +312,8 @@ elmToken = ""
elmAppKey = "KLRDcOZGrk"
elmSecret = "1fc221f8265506531da36fb613d5f5ad673f2e9a"
ebaiSource = "34665"
ebaiSecret = "c3db75b754ea2d89"
ebaiSource = "35957"
ebaiSecret = "10013fbb7c2ddad7"
mtpsAppKey = "3c0a05d464c247c19d7ec13accc78605"
mtpsSecret = "b1M}9?:sTbsB[OF2gNORnN(|(iy9rB8(`7]|[wGLnbmt`evfM>E:A90DjHAW:UPE"

View File

@@ -25,6 +25,7 @@ var (
AliSecret string
EnableStoreWrite bool
EnableJdStoreWrite bool
EnableEbaiStoreWrite bool
EnableElmStoreWrite bool
EnableMtwmStoreWrite bool
@@ -55,13 +56,14 @@ func init() {
func Init() {
SugarLogger.Infof("globals RunMode=%s", beego.BConfig.RunMode)
ReallyCallPlatformAPI = (beego.BConfig.RunMode != "dev" && beego.BConfig.RunMode != "test")
ReallySendWeixinMsg = ReallyCallPlatformAPI && beego.BConfig.RunMode == "prod"
ReallyReplyComment = ReallyCallPlatformAPI && beego.BConfig.RunMode == "prod"
ReallySendWeixinMsg = ReallyCallPlatformAPI && IsProductEnv()
ReallyReplyComment = ReallyCallPlatformAPI && IsProductEnv()
AliKey = beego.AppConfig.DefaultString("aliKey", "")
AliSecret = beego.AppConfig.DefaultString("aliSecret", "")
EnableStoreWrite = beego.AppConfig.DefaultBool("enableStoreWrite", false)
EnableJdStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableJdStoreWrite", false)
EnableEbaiStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableEbaiStoreWrite", false)
EnableElmStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableElmStoreWrite", false)
EnableMtwmStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableMtwmStoreWrite", false)

View File

@@ -46,7 +46,7 @@ func Init() {
cms.InitServiceInfo(Version, buildTime, GitCommit)
promotion.Init()
if beego.BConfig.RunMode == "prod" {
if globals.IsProductEnv() {
misc.StartRefreshEbaiRealMobile()
ebai.CurPurchaseHandler.StartRefreshComment()
}
@@ -120,8 +120,7 @@ func main() {
orderman.LoadPendingOrders()
// 延时的原因是等回调准备好
if beego.BConfig.RunMode == "prod" ||
beego.BConfig.RunMode == "jxgy" {
if globals.IsProductEnv() {
utils.AfterFuncWithRecover(2*time.Second, func() {
api.DingDingAPI.DeleteCallback()
if err := api.DingDingAPI.RegisterCallback([]string{dingdingapi.CBTagUserAddOrg, dingdingapi.CBTagUserModifyOrg, dingdingapi.CBTagUserLeaveOrg}, beego.AppConfig.DefaultString("dingdingCallbackToken", ""), beego.AppConfig.DefaultString("dingdingCallbackAESKey", ""), beego.AppConfig.DefaultString("dingdingCallbackURL", "")); err != nil {