From bc3463501fa84fd4be4acbf00ef6a2ec83164feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 8 Dec 2020 11:07:45 +0800 Subject: [PATCH] aa --- business/jxstore/cms/job.go | 26 +++++++++++++++++++++++--- business/model/dao/dao_job.go | 11 +++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index 22d03a5ea..fdd38a07d 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -7,6 +7,8 @@ import ( "strings" "time" + "git.rosy.net.cn/jx-callback/business/jxutils/ddmsg" + "git.rosy.net.cn/baseapi/platformapi/jdeclpapi" "git.rosy.net.cn/jx-callback/globals" @@ -624,11 +626,25 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e var ( db = dao.GetDB() ) + dao.Begin(db) + defer func() { + if r := recover(); r != nil { + dao.Rollback(db) + panic(r) + } else { + dao.Commit(db) + } + }() + mtMembers, err := dao.GetMtMembers(db) + if len(mtMembers) < 10 { + ddmsg.SendUserMessage(msgType, userID, title, content) + } mtMember, err := dao.GetMtMember(db) if mtMember == nil { - return errCode, fmt.Errorf("美团会员数量不足,请等待补充!") + return errCode, fmt.Errorf("补券中,请稍后再试!") } if err != nil { + dao.Rollback(db) return errCode, err } //验证微信绑定 @@ -637,8 +653,12 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e } if err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink); err == nil { mtMember.DeletedAt = time.Now() - dao.UpdateEntity(db, mtMember, "DeletedAt") - + if _, err = dao.UpdateEntity(db, mtMember, "DeletedAt"); err == nil { + dao.Commit(db) + } else { + dao.Rollback(db) + return errCode, err + } job, err := dao.GetJob(db, nil, nil, nil, []int{model.JobTypeMtMember}, utils.ZeroTimeValue, utils.ZeroTimeValue, false) errCode, err = AcceptJob(ctx, job.ID) if errCode != "" { diff --git a/business/model/dao/dao_job.go b/business/model/dao/dao_job.go index 9ef3d2623..bc3a2fb4d 100644 --- a/business/model/dao/dao_job.go +++ b/business/model/dao/dao_job.go @@ -368,6 +368,17 @@ func GetMtMember(db *DaoDB) (mtMember *model.MtMember, err error) { return mtMember, err } +func GetMtMembers(db *DaoDB) (mtMembers []*model.MtMember, err error) { + sql := ` + SELECT * + FROM mt_member + WHERE deleted_at = ? + ` + sqlParams := []interface{}{utils.DefaultTimeValue} + err = GetRow(db, &mtMembers, sql, sqlParams) + return mtMembers, err +} + func GetJobTimers(db *DaoDB, status int) (jobTimers []*model.JobTimer, err error) { sql := ` SELECT *