From f265cd405384b058ace196a3da5f0758a430e7bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 20 Nov 2020 17:06:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AA=8C=E8=AF=81=E5=BE=AE=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/auth2/auth2.go | 14 ++++++++++++++ business/jxstore/cms/job.go | 28 +++++++++++++++++----------- business/jxstore/cms/order.go | 7 ++++--- business/jxstore/cms/user2.go | 4 ++++ business/model/error_code.go | 1 + 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/business/auth2/auth2.go b/business/auth2/auth2.go index 42181edf3..ce37b435c 100644 --- a/business/auth2/auth2.go +++ b/business/auth2/auth2.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/base64" "errors" + "fmt" "regexp" "strings" "time" @@ -475,3 +476,16 @@ func DeletedTokenInfoWithoutParam(authInfo *AuthInfo) (err error) { } return err } + +func CheckWeixinminiAuthBind(userID string) (err error) { + var ( + db = dao.GetDB() + ) + authBinds, err := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "") + if len(authBinds) == 0 { + return fmt.Errorf("请绑定微信认证方式!") + } else { + return nil + } + return err +} diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index d62a4d29f..5d6fffb4c 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -11,6 +11,7 @@ import ( "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/business/auth2" "git.rosy.net.cn/jx-callback/business/jxstore/financial" "git.rosy.net.cn/baseapi/utils" @@ -85,13 +86,10 @@ func PublishJob(ctx *jxcontext.Context, jobExt *model.JobExt) (errCode string, e if job.FinishedAt.Sub(time.Now()) <= 0 { return errCode, fmt.Errorf("任务截止日期必须大于今天!") } - // authBinds, err := dao.GetUserBindAuthInfo(dao.GetDB(), job.UserID, model.AuthBindTypeAuth, []string{"weixinapp"}, "", "", "wx70d0943e61e0d15c") - // if err != nil { - // return errCode, err - // } - // if len(authBinds) == 0 { - // return errCode, fmt.Errorf("请绑定微信认证方式!") - // } + //验证微信绑定 + if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil { + return "", err + } //发布任务要扣除任务总额的保证金,不够扣就要进行充值 userBill, err := dao.GetUserBill(db, job.UserID, "") if userBill == nil { @@ -226,10 +224,10 @@ func AcceptJob(ctx *jxcontext.Context, jobID int) (errCode string, err error) { if job.UserID == "" || job.Status == model.JobStatusFailed || job.Status == model.JobStatusOverdue || job.FinishedAt.Sub(time.Now()) <= 0 || job.SurplusCount <= 0 || job.LimitCountType <= 0 { return errCode, fmt.Errorf("未找到该任务或该任务状态不正常,无法接单!") } - // num, err = checkJobOrders(db, 0, "<= "+utils.Int2Str(model.JobOrderStatusAccept), userID, utils.ZeroTimeValue, utils.ZeroTimeValue) - // if num >= AcceptMaxCount { - // return errCode, fmt.Errorf("每人最多接取" + utils.Int2Str(AcceptMaxCount) + "个任务,请核实!") - // } + num, err = checkJobOrders(db, 0, "<= "+utils.Int2Str(model.JobOrderStatusAccept), userID, utils.ZeroTimeValue, utils.ZeroTimeValue) + if num >= AcceptMaxCount { + return errCode, fmt.Errorf("每人最多接取" + utils.Int2Str(AcceptMaxCount) + "个任务,请核实!") + } num, err = checkJobOrders(db, jobID, "<= "+utils.Int2Str(model.JobOrderStatusWaitAudit), userID, utils.ZeroTimeValue, utils.ZeroTimeValue) if num > 0 { return errCode, fmt.Errorf("您还有此任务未完成,请完成后再接取!") @@ -629,6 +627,10 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e if err != nil { return errCode, err } + //验证微信绑定 + if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil { + return "", err + } if err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink); err == nil { mtMember.DeletedAt = time.Now() dao.UpdateEntity(db, mtMember, "DeletedAt") @@ -665,6 +667,10 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod if err != nil { return errCode, err } + //验证微信绑定 + if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil { + return "", err + } if userBill.AccountBalance < dOrder.PayPrice { return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!") } diff --git a/business/jxstore/cms/order.go b/business/jxstore/cms/order.go index f16187241..0727e46b8 100644 --- a/business/jxstore/cms/order.go +++ b/business/jxstore/cms/order.go @@ -4,6 +4,8 @@ import ( "fmt" "time" + "git.rosy.net.cn/jx-callback/business/auth2" + "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/baseapi/utils" @@ -23,9 +25,8 @@ func CreateOrder(ctx *jxcontext.Context, orderType, price int, lng, lat float64) db = dao.GetDB() order *model.Order ) - authBinds, err := dao.GetUserBindAuthInfo(db, ctx.GetUserID(), model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "") - if len(authBinds) == 0 { - return "", fmt.Errorf("请绑定微信认证方式!") + if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil { + return "", err } address, dCode, cCode, err := getAddressInfoFromCoord(db, lng, lat) order = &model.Order{ diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index 37782e4dc..e7013d4f5 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -547,6 +547,10 @@ func InvestMember(ctx *jxcontext.Context, memberID int) (errCode string, err err memberCard = v } } + //验证微信绑定 + if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil { + return "", err + } if userBill.AccountBalance < memberCard.Price { return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!") } diff --git a/business/model/error_code.go b/business/model/error_code.go index f8675a51e..b5136c777 100644 --- a/business/model/error_code.go +++ b/business/model/error_code.go @@ -19,6 +19,7 @@ const ( ErrCodeJsonSyncErr = "-105" ErrCodeAccountBalanceNotEnough = "-201" //余额不足 + ErrCodeNotAuthBindWeixin = "-202" //没有绑定微信认证方式 ) var (