验证微信

This commit is contained in:
苏尹岚
2020-11-20 17:06:33 +08:00
parent f917c96aa3
commit f265cd4053
5 changed files with 40 additions and 14 deletions

View File

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

View File

@@ -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("用户余额不足,请充值!")
}

View File

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

View File

@@ -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("用户余额不足,请充值!")
}

View File

@@ -19,6 +19,7 @@ const (
ErrCodeJsonSyncErr = "-105"
ErrCodeAccountBalanceNotEnough = "-201" //余额不足
ErrCodeNotAuthBindWeixin = "-202" //没有绑定微信认证方式
)
var (