验证微信

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" "bytes"
"encoding/base64" "encoding/base64"
"errors" "errors"
"fmt"
"regexp" "regexp"
"strings" "strings"
"time" "time"
@@ -475,3 +476,16 @@ func DeletedTokenInfoWithoutParam(authInfo *AuthInfo) (err error) {
} }
return err 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/globals"
"git.rosy.net.cn/jx-callback/business/auth2"
"git.rosy.net.cn/jx-callback/business/jxstore/financial" "git.rosy.net.cn/jx-callback/business/jxstore/financial"
"git.rosy.net.cn/baseapi/utils" "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 { if job.FinishedAt.Sub(time.Now()) <= 0 {
return errCode, fmt.Errorf("任务截止日期必须大于今天!") return errCode, fmt.Errorf("任务截止日期必须大于今天!")
} }
// authBinds, err := dao.GetUserBindAuthInfo(dao.GetDB(), job.UserID, model.AuthBindTypeAuth, []string{"weixinapp"}, "", "", "wx70d0943e61e0d15c") //验证微信绑定
// if err != nil { if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil {
// return errCode, err return "", err
// } }
// if len(authBinds) == 0 {
// return errCode, fmt.Errorf("请绑定微信认证方式!")
// }
//发布任务要扣除任务总额的保证金,不够扣就要进行充值 //发布任务要扣除任务总额的保证金,不够扣就要进行充值
userBill, err := dao.GetUserBill(db, job.UserID, "") userBill, err := dao.GetUserBill(db, job.UserID, "")
if userBill == nil { 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 { 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("未找到该任务或该任务状态不正常,无法接单!") return errCode, fmt.Errorf("未找到该任务或该任务状态不正常,无法接单!")
} }
// num, err = checkJobOrders(db, 0, "<= "+utils.Int2Str(model.JobOrderStatusAccept), userID, utils.ZeroTimeValue, utils.ZeroTimeValue) num, err = checkJobOrders(db, 0, "<= "+utils.Int2Str(model.JobOrderStatusAccept), userID, utils.ZeroTimeValue, utils.ZeroTimeValue)
// if num >= AcceptMaxCount { if num >= AcceptMaxCount {
// return errCode, fmt.Errorf("每人最多接取" + utils.Int2Str(AcceptMaxCount) + "个任务,请核实!") return errCode, fmt.Errorf("每人最多接取" + utils.Int2Str(AcceptMaxCount) + "个任务,请核实!")
// } }
num, err = checkJobOrders(db, jobID, "<= "+utils.Int2Str(model.JobOrderStatusWaitAudit), userID, utils.ZeroTimeValue, utils.ZeroTimeValue) num, err = checkJobOrders(db, jobID, "<= "+utils.Int2Str(model.JobOrderStatusWaitAudit), userID, utils.ZeroTimeValue, utils.ZeroTimeValue)
if num > 0 { if num > 0 {
return errCode, fmt.Errorf("您还有此任务未完成,请完成后再接取!") return errCode, fmt.Errorf("您还有此任务未完成,请完成后再接取!")
@@ -629,6 +627,10 @@ func RechargeMtMembers(ctx *jxcontext.Context, phone int) (errCode string, err e
if err != nil { if err != nil {
return errCode, err return errCode, err
} }
//验证微信绑定
if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil {
return "", err
}
if err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink); err == nil { if err = api.MtMemberAPI.RechargeExchange(phone, mtMember.ShortLink); err == nil {
mtMember.DeletedAt = time.Now() mtMember.DeletedAt = time.Now()
dao.UpdateEntity(db, mtMember, "DeletedAt") dao.UpdateEntity(db, mtMember, "DeletedAt")
@@ -665,6 +667,10 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod
if err != nil { if err != nil {
return errCode, err return errCode, err
} }
//验证微信绑定
if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil {
return "", err
}
if userBill.AccountBalance < dOrder.PayPrice { if userBill.AccountBalance < dOrder.PayPrice {
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!") return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!")
} }

View File

@@ -4,6 +4,8 @@ import (
"fmt" "fmt"
"time" "time"
"git.rosy.net.cn/jx-callback/business/auth2"
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
@@ -23,9 +25,8 @@ func CreateOrder(ctx *jxcontext.Context, orderType, price int, lng, lat float64)
db = dao.GetDB() db = dao.GetDB()
order *model.Order order *model.Order
) )
authBinds, err := dao.GetUserBindAuthInfo(db, ctx.GetUserID(), model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "") if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil {
if len(authBinds) == 0 { return "", err
return "", fmt.Errorf("请绑定微信认证方式!")
} }
address, dCode, cCode, err := getAddressInfoFromCoord(db, lng, lat) address, dCode, cCode, err := getAddressInfoFromCoord(db, lng, lat)
order = &model.Order{ order = &model.Order{

View File

@@ -547,6 +547,10 @@ func InvestMember(ctx *jxcontext.Context, memberID int) (errCode string, err err
memberCard = v memberCard = v
} }
} }
//验证微信绑定
if err = auth2.CheckWeixinminiAuthBind(ctx.GetUserID()); err != nil {
return "", err
}
if userBill.AccountBalance < memberCard.Price { if userBill.AccountBalance < memberCard.Price {
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!") return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("用户余额不足,请充值!")
} }

View File

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