From eb5dcd2435b110de2eab8e46204d36b93f51bb1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 16 Jan 2020 15:20:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=90=84=E5=B9=B3=E5=8F=B0co?= =?UTF-8?q?okie=E6=98=AF=E5=90=A6=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/event/event.go | 87 ++++++++++++++++++++++++++++++++- business/jxstore/misc/misc.go | 9 +++- controllers/event.go | 8 ++- 3 files changed, 100 insertions(+), 4 deletions(-) diff --git a/business/jxstore/event/event.go b/business/jxstore/event/event.go index 8b78a7e24..8c59ccdbb 100644 --- a/business/jxstore/event/event.go +++ b/business/jxstore/event/event.go @@ -4,6 +4,14 @@ import ( "strings" "time" + "git.rosy.net.cn/jx-callback/globals" + + "git.rosy.net.cn/jx-callback/business/partner/purchase/jd" + + "git.rosy.net.cn/jx-callback/globals/api/apimanager" + + "git.rosy.net.cn/jx-callback/globals/api" + "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -14,6 +22,11 @@ import ( "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" ) +type CheckCookie struct { + VendorID int `json:"vendorID"` + Status string `json:"status"` +} + func AddOperateEvent(ctx *jxcontext.Context, accessUUID string) (err error) { var ( apiFunction string @@ -23,8 +36,10 @@ func AddOperateEvent(ctx *jxcontext.Context, accessUUID string) (err error) { if url != "" { apiFunction = url[strings.LastIndex(url, "/")+1 : len(url)] } - if apiFunction[0:2] == "Get" { - return err + if apiFunction != "" { + if apiFunction[0:3] == "Get" { + return err + } } event := &model.OperateEvent{ CreatedAt: time.Now(), @@ -97,3 +112,71 @@ func GetOperateEvents(ctx *jxcontext.Context, apiFunction, name string, operateT } return pageInfo, err } + +func GetCheckVendorCookie(ctx *jxcontext.Context, vendorIDs []int, isAuto bool) (ccList []*CheckCookie, err error) { + var ( + ebaiOrderID = "1577329467196263592" + ebaiErr = "return not json" + mtOrderID = "69761763472881638" + mtStoreID = "6976176" + jdUpcCode = "6952395700895" + jdErr = "请输入用户名" + errMsg = "" + ) + for _, v := range vendorIDs { + cc := &CheckCookie{} + switch v { + case 3: + resultMap, err := api.EbaiAPI.GetStoreOrderInfo(ebaiOrderID) + if len(resultMap) < 1 && err != nil { + if errExt, ok := err.(*utils.ErrorWithCode); ok { + if strings.Contains(errExt.ErrMsg(), ebaiErr) { + //Cookie无效了 + errMsg += " 饿百Cookie无效了!" + cc.VendorID = v + cc.Status = "无效" + } + } + } else { + //Cookie有效 + cc.VendorID = v + cc.Status = "有效" + } + case 1: + result, err := api.MtwmAPI.GetDistributeOrderDetail(mtOrderID, mtStoreID) + if result == nil && err == nil { + //Cookie无效 + errMsg += " 美团Cookie无效了!" + cc.VendorID = v + cc.Status = "无效" + } else if result != nil { + //Cookie有效 + cc.VendorID = v + cc.Status = "有效" + } + case 0: + for _, vv := range apimanager.CurAPIManager.GetAppOrgCodeList(v) { + result, err := jd.GetAPI(vv).GetJdUpcCodeByName("", jdUpcCode, 1, 5) + if len(result) < 1 && err != nil { + if errExt, ok := err.(*utils.ErrorWithCode); ok { + if strings.Contains(errExt.ErrMsg(), jdErr) { + //Cookie无效 + errMsg += " 京东Cookie无效了!" + cc.VendorID = v + cc.Status = "无效" + } + } + } else { + //Cookie有效 + cc.VendorID = v + cc.Status = "有效" + } + } + } + ccList = append(ccList, cc) + } + if isAuto && len(ccList) > 0 { + globals.SugarLogger.Warnf("GetCheckVendorCookie", errMsg) + } + return ccList, err +} diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index 846662330..cf14db6d3 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -41,6 +41,10 @@ var ( "01:00:00", } createStorePriceTimeList = []string{ + "08:00:00", + "18:00:00", + } + checkCookieList = []string{ "02:00:00", } refreshPageActTimeList = []string{ @@ -151,6 +155,9 @@ func Init() { ScheduleTimerFunc("AutoFocusStoreSkusForTopSkus", func() { cms.AutoFocusStoreSkusForTopSkus(jxcontext.AdminCtx, true, true) }, createStorePriceTimeList) + ScheduleTimerFunc("GetCheckVendorCookie", func() { + event.GetCheckVendorCookie(jxcontext.AdminCtx, []int{0, 1, 3}, true) + }, checkCookieList) } ScheduleTimerFunc("AutoSaleStoreSku", func() { cms.AutoSaleStoreSku(jxcontext.AdminCtx, nil, false) @@ -229,7 +236,7 @@ func doDailyWork() { //刷新京东门店的等级 cms.RefreshJdLevel(jxcontext.AdminCtx) //删除操作日志 - event.DeleteOperateEventAndDetail(jxcontext.AdminCtx, time.Now().AddDate(0, 0, -7)) + event.DeleteOperateEventAndDetail(jxcontext.AdminCtx, time.Now().AddDate(0, -1, 0)) } func RefreshRealMobile(ctx *jxcontext.Context, vendorID int, fromTime, toTime time.Time, isAsync, isContinueWhenError bool) (hint string, err error) { diff --git a/controllers/event.go b/controllers/event.go index 87ab75db7..87338f611 100644 --- a/controllers/event.go +++ b/controllers/event.go @@ -44,5 +44,11 @@ func (c *EventController) GetOperateEvents() { // @Failure 200 {object} controllers.CallResult // @router /GetCheckVendorCookie [get] func (c *EventController) GetCheckVendorCookie() { - + var vendorIDList []int + c.callGetCheckVendorCookie(func(params *tEventGetCheckVendorCookieParams) (retVal interface{}, errCode string, err error) { + if jxutils.Strings2Objs(params.VendorIDs, &vendorIDList); err == nil { + retVal, err = event.GetCheckVendorCookie(params.Ctx, vendorIDList, false) + } + return retVal, "", err + }) }