|
|
@@ -8,10 +8,12 @@ import (
|
|
|
"mtp2_if/logger"
|
|
|
"mtp2_if/models"
|
|
|
"mtp2_if/utils"
|
|
|
+ "strings"
|
|
|
|
|
|
reqModels "mtp2_if/services/asign"
|
|
|
|
|
|
faceid "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/faceid/v20180301"
|
|
|
+ "github.com/xormplus/builder"
|
|
|
)
|
|
|
|
|
|
type BankCard4Rsp struct {
|
|
|
@@ -40,7 +42,7 @@ func BankCard4EVerification(req reqModels.BankCard4Req) (rsp BankCard4Rsp, err e
|
|
|
var authinfo []byte
|
|
|
var record models.Useresignrecord
|
|
|
var has bool
|
|
|
- has, err = db.GetEngine().Where("TEMPLATETYPE = 1 AND USERID = ?", req.UserId).Get(&record)
|
|
|
+ has, err = db.GetEngine().Where("TEMPLATETYPE = 5 AND USERID = ?", req.UserId).Get(&record)
|
|
|
if err != nil {
|
|
|
return
|
|
|
}
|
|
|
@@ -81,7 +83,7 @@ func BankCard4EVerification(req reqModels.BankCard4Req) (rsp BankCard4Rsp, err e
|
|
|
SET RECORDSTATUS = 1,
|
|
|
UPDATETIME = SYSDATE,
|
|
|
AUTHINFO = '%v'
|
|
|
- WHERE USERID = %v AND TEMPLATETYPE = 1
|
|
|
+ WHERE USERID = %v AND TEMPLATETYPE = 5
|
|
|
`, string(authinfo), req.UserId)
|
|
|
_, err = db.GetEngine().Exec(sql)
|
|
|
if err != nil {
|
|
|
@@ -115,7 +117,7 @@ func BankCard4EVerification(req reqModels.BankCard4Req) (rsp BankCard4Rsp, err e
|
|
|
SET RECORDSTATUS = 1,
|
|
|
UPDATETIME = SYSDATE,
|
|
|
AUTHINFO = '%v'
|
|
|
- WHERE USERID = %v AND TEMPLATETYPE = 1
|
|
|
+ WHERE USERID = %v AND TEMPLATETYPE = 5
|
|
|
`, string(authinfo), req.UserId)
|
|
|
_, err = db.GetEngine().Exec(sql)
|
|
|
if err != nil {
|
|
|
@@ -132,7 +134,7 @@ func BankCard4EVerification(req reqModels.BankCard4Req) (rsp BankCard4Rsp, err e
|
|
|
UPDATE useresignrecord
|
|
|
SET RECORDSTATUS = 3,
|
|
|
UPDATETIME = SYSDATE
|
|
|
- WHERE USERID = %v AND TEMPLATETYPE = 1
|
|
|
+ WHERE USERID = %v AND TEMPLATETYPE = 5
|
|
|
`, req.UserId)
|
|
|
_, err = db.GetEngine().Exec(sql)
|
|
|
if err == nil {
|
|
|
@@ -164,6 +166,55 @@ func BankCard4EVerification(req reqModels.BankCard4Req) (rsp BankCard4Rsp, err e
|
|
|
logger.GetLogger().Error("调用腾讯云实名认证接口发生错误:", err.Error())
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 记录流水
|
|
|
+ feeFlag := 2 // 是否计费
|
|
|
+ // - 收费结果码:
|
|
|
+ // '0': '认证通过'。
|
|
|
+ // '-1': '认证未通过'。
|
|
|
+ // '-6': '持卡人信息有误'。
|
|
|
+ // '-7': '未开通无卡支付'。
|
|
|
+ // '-8': '此卡被没收'。
|
|
|
+ // '-9': '无效卡号'。
|
|
|
+ // '-10': '此卡无对应发卡行'。
|
|
|
+ // '-11': '该卡未初始化或睡眠卡'。
|
|
|
+ // '-12': '作弊卡、吞卡'。
|
|
|
+ // '-13': '此卡已挂失'。
|
|
|
+ // '-14': '该卡已过期'。
|
|
|
+ // '-15': '受限制的卡'。
|
|
|
+ // '-16': '密码错误次数超限'。
|
|
|
+ // '-17': '发卡行不支持此交易'。
|
|
|
+
|
|
|
+ // - 不收费结果码:
|
|
|
+ // '-2': '姓名校验不通过'。
|
|
|
+ // '-3': '身份证号码有误'。
|
|
|
+ // '-4': '银行卡号码有误'。
|
|
|
+ // '-5': '手机号码不合法'。
|
|
|
+ // '-18': '验证中心服务繁忙'。
|
|
|
+ // '-19': '验证次数超限,请次日重试'。
|
|
|
+ // '-20': '该证件号暂不支持核验,当前仅支持二代身份证'。
|
|
|
+ switch *response.Response.Result {
|
|
|
+ case "0", "-1", "-6", "-7", "-8", "-9", "-10", "-11", "-12", "-13", "-14", "-15", "-16", "-17":
|
|
|
+ feeFlag = 1
|
|
|
+ }
|
|
|
+ var sql string
|
|
|
+ sql, _ = builder.Insert(
|
|
|
+ builder.Eq{
|
|
|
+ "LOGID": "SEQ_USERESIGNRECORDLOG.nextval",
|
|
|
+ "RECORDID": record.RECORDID,
|
|
|
+ "USERID": record.USERID,
|
|
|
+ "TEMPLATECONFIGID": record.TEMPLATECONFIGID,
|
|
|
+ "TEMPLATETYPE": record.TEMPLATETYPE,
|
|
|
+ "REQSTATUS": 2,
|
|
|
+ "FEEFLAG": feeFlag,
|
|
|
+ "REQCOMMENT": response.ToJsonString(),
|
|
|
+ "CREATETIME": "SYSDATE",
|
|
|
+ },
|
|
|
+ ).Into("USERESIGNRECORDLOG").ToBoundSQL()
|
|
|
+ sql = strings.ReplaceAll(sql, "'SEQ_USERESIGNRECORDLOG.nextval'", "SEQ_USERESIGNRECORDLOG.nextval")
|
|
|
+ sql = strings.ReplaceAll(sql, "'SYSDATE'", "SYSDATE")
|
|
|
+ db.GetEngine().Exec(sql)
|
|
|
+
|
|
|
if *response.Response.Result != "0" {
|
|
|
err = errors.New("返回结果失败,错误码(" + *response.Response.Result + "),返回信息(" + response.ToJsonString() + ")")
|
|
|
logger.GetLogger().Error("调用腾讯云实名认证接口返回结果不成功:", err.Error())
|
|
|
@@ -171,11 +222,11 @@ func BankCard4EVerification(req reqModels.BankCard4Req) (rsp BankCard4Rsp, err e
|
|
|
}
|
|
|
|
|
|
// 返回结果结果,更新记录状态
|
|
|
- sql := fmt.Sprintf(`
|
|
|
+ sql = fmt.Sprintf(`
|
|
|
UPDATE useresignrecord
|
|
|
SET RECORDSTATUS = 3,
|
|
|
UPDATETIME = SYSDATE
|
|
|
- WHERE USERID = %v AND TEMPLATETYPE = 1
|
|
|
+ WHERE USERID = %v AND TEMPLATETYPE = 5
|
|
|
`, req.UserId)
|
|
|
_, err = db.GetEngine().Exec(sql)
|
|
|
if err == nil {
|