This commit is contained in:
suyl
2021-05-14 17:45:47 +08:00
parent 842d27f8b6
commit 0bc820b3e5
3 changed files with 70 additions and 37 deletions

View File

@@ -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() {

View File

@@ -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
}

View File

@@ -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
}