From 0bc820b3e5810955cc9a3af1053b9828816f3823 Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Fri, 14 May 2021 17:45:47 +0800 Subject: [PATCH] aa --- business/jxstore/misc/misc.go | 2 + business/jxstore/report/report.go | 73 ++++++++++++++++++++++++++++--- business/jxstore/tempop/tempop.go | 32 +------------- 3 files changed, 70 insertions(+), 37 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index a8771dd12..7b76f61bb 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -417,6 +417,8 @@ func doDailyWork2() { orderman.RefreshJdShopOrdersEarningPrice(jxcontext.AdminCtx, utils.Time2Str(time.Now().AddDate(0, 0, -2)), utils.Time2Str(time.Now())) //刷新门店分组管理 cms.RefreshStoreBind(jxcontext.AdminCtx) + //刷新京东会员 + report.RefreshJDMembers(jxcontext.AdminCtx) } func doDailyWork() { diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 81657baa3..31c891be0 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -3,6 +3,8 @@ package report import ( "errors" "fmt" + "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/globals/api" "math" "sort" "strings" @@ -632,12 +634,69 @@ func CalculateCoverArea(coordinate []string, vendorID int) (area float64) { } func RefreshJDMembers(ctx *jxcontext.Context) (err error) { - //var ( - // db = dao.GetDB() - //) - //if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageCookie", model.ConfigTypeCookie, ""); err == nil { - // api.JdAPI.SetJdCookie(configs[0].Value) - //} - //api.JdAPI.QueryMemberTransListByCondition(1, 10) + var ( + db = dao.GetDB() + pageSize = 50 + page int + pages []int + memberMap = make(map[string]*model.UserMember) + ) + if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageCookie", model.ConfigTypeCookie, ""); err == nil { + api.JdAPI.SetJdCookie(configs[0].Value) + } + userMemebers, _ := dao.GetUserMember(db, "", "", "", model.VendorIDJD, 0, -1) + for _, v := range userMemebers { + memberMap[v.Mobile] = v + } + pageResult, err := api.JdAPI.QueryMemberTransListByCondition("", "", page, pageSize) + if err != nil { + if strings.Contains(err.Error(), "cookie") { + globals.SugarLogger.Warnf("京东cookie过期了!") + } + } + if pageResult.Total%pageSize == 0 { + page = pageResult.Total / pageSize + } else { + page = pageResult.Total/pageSize + 1 + } + for ; page > 0; page-- { + pages = append(pages, page) + } + task := tasksch.NewParallelTask2("RefreshJDMembers", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, + func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, successCount int, err error) { + pageNo := batchItemList[0].(int) + pageResult2, err := api.JdAPI.QueryMemberTransListByCondition("", "", pageNo, pageSize) + for _, v := range pageResult2.Rows { + if utils.Str2Time(v.Endtimestr+" 23:59:59").Sub(time.Now()) >= 0 { + if memberMap[v.Merchantcardno] != nil { //库里有这个人的会员信息了 + if utils.Time2Str(memberMap[v.Merchantcardno].EndAt) != v.Endtimestr+" 23:59:59" { //可能这个人续费了,续存了 + memberMap[v.Merchantcardno].EndAt = utils.Str2Time(v.Endtimestr + " 23:59:59") + dao.UpdateEntity(db, memberMap[v.Merchantcardno], "EndAt") + } + } else { + userMember := &model.UserMember{ + VendorOrderID: v.Orderid, + VendorID: model.VendorIDJD, + Mobile: v.Merchantcardno, + MemberType: 1, + EndAt: utils.Str2Time(v.Endtimestr + " 23:59:59"), + } + dao.WrapAddIDCULDEntity(userMember, "jxadmin") + if v.Createtime != "" { + userMember.CreatedAt = utils.Str2Time(v.Createtime) + } else { + userMember.CreatedAt = utils.Str2Time(v.Cardcreatetime) + } + if userMember.EndAt.Sub(time.Now()) <= 0 { + userMember.DeletedAt = time.Now() + } + dao.CreateEntity(db, userMember) + } + } + } + return retVal, successCount, err + }, pages) + tasksch.HandleTask(task, nil, true).Run() + task.GetID() return err } diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index d16448980..c86896a1a 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "fmt" + "git.rosy.net.cn/jx-callback/business/jxstore/report" "regexp" "strings" "time" @@ -1907,36 +1908,6 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // } // } // } - //京东会员数据 - var ( - db = dao.GetDB() - pageSize = 20 - page = 7697 - ) - for ; page >= 1; page-- { - results, _ := api.JdAPI.QueryMemberTransListByCondition(page, pageSize) - for _, v := range results { - if utils.Str2Time(v.Endtimestr+" 23:59:59").Sub(time.Now()) >= 0 { - userMember := &model.UserMember{ - VendorOrderID: v.Orderid, - VendorID: model.VendorIDJD, - Mobile: v.Merchantcardno, - MemberType: 1, - EndAt: utils.Str2Time(v.Endtimestr + " 23:59:59"), - } - dao.WrapAddIDCULDEntity(userMember, "jxadmin") - if v.Createtime != "" { - userMember.CreatedAt = utils.Str2Time(v.Createtime) - } else { - userMember.CreatedAt = utils.Str2Time(v.Cardcreatetime) - } - if userMember.EndAt.Sub(time.Now()) <= 0 { - userMember.DeletedAt = time.Now() - } - dao.CreateEntity(db, userMember) - } - } - } //刷新京东真实订单号 //var ( // db = dao.GetDB() @@ -1953,6 +1924,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) { // dao.UpdateEntity(db, v, "ConsigneeMobile2") // } //} + report.RefreshJDMembers(jxcontext.AdminCtx) return err }