|
@@ -1,12 +1,9 @@
|
|
|
package user
|
|
|
|
|
|
import (
|
|
|
- "encoding/json"
|
|
|
"encoding/xml"
|
|
|
"eta/eta_mini_ht_api/common/component/cache"
|
|
|
- "eta/eta_mini_ht_api/common/component/config"
|
|
|
logger "eta/eta_mini_ht_api/common/component/log"
|
|
|
- "eta/eta_mini_ht_api/common/contants"
|
|
|
"eta/eta_mini_ht_api/common/exception"
|
|
|
authUtils "eta/eta_mini_ht_api/common/utils/auth"
|
|
|
"eta/eta_mini_ht_api/controllers"
|
|
@@ -557,87 +554,3 @@ type WebhookRequest struct {
|
|
|
Data string `json:"data"`
|
|
|
//EncryptKey string `json:"encryptKey"`
|
|
|
}
|
|
|
-
|
|
|
-// SyncCustomerRiskLevel 风险测评同步接口
|
|
|
-// @Summary 风险测评同步接口
|
|
|
-// @Description 风险测评同步接口
|
|
|
-// @Success 200 {object} controllers.BaseResponse
|
|
|
-// @router /riskLevel [post]
|
|
|
-func (h *UserController) SyncCustomerRiskLevel() {
|
|
|
- controllers.Wrap(&h.BaseController, func() (result *controllers.WrapData, err error) {
|
|
|
- result = h.InitWrapData("同步风险等级")
|
|
|
- htConfig := config.GetConfig(contants.HT).(*config.HTBizConfig)
|
|
|
- webhookRequest := new(WebhookRequest)
|
|
|
- h.GetPostParams(webhookRequest)
|
|
|
- privateKey, err := authUtils.ParsePrivateKey(htConfig.GetWebhookPrivateKey())
|
|
|
- if err != nil {
|
|
|
- err = exception.NewWithException(exception.SysError, err.Error())
|
|
|
- logger.Error("解析私钥失败: %v", err)
|
|
|
- h.FailedResult("解析私钥失败", result)
|
|
|
- return
|
|
|
- }
|
|
|
- decodeData, err := authUtils.DecryptWithRSA(privateKey, webhookRequest.Data)
|
|
|
- if err != nil {
|
|
|
- err = exception.NewWithException(exception.SysError, err.Error())
|
|
|
- logger.Error("解密请求体失败: %v", err)
|
|
|
- h.FailedResult("解密请求体失败", result)
|
|
|
- return
|
|
|
- }
|
|
|
- syncCustomerRiskLevelReq := new(SyncCustomerRiskLevelReq)
|
|
|
- err = json.Unmarshal(decodeData, syncCustomerRiskLevelReq)
|
|
|
- if err != nil {
|
|
|
- err = exception.NewWithException(exception.SyncRiskError, err.Error())
|
|
|
- logger.Error("解析请求体失败: %v", err)
|
|
|
- h.FailedResult("解析请求体失败", result)
|
|
|
- return
|
|
|
- }
|
|
|
- custInfo := syncCustomerRiskLevelReq.CustInfo
|
|
|
- riskInfo := syncCustomerRiskLevelReq.RiskInfo
|
|
|
- if custInfo.ClientName == "" {
|
|
|
- err = exception.New(exception.SyncRiskError)
|
|
|
- h.FailedResult("用户名字不能为空", result)
|
|
|
- return
|
|
|
- }
|
|
|
- if custInfo.MobileTel == "" {
|
|
|
- err = exception.New(exception.SyncRiskError)
|
|
|
- h.FailedResult("手机号码不能为空", result)
|
|
|
- return
|
|
|
- }
|
|
|
- if custInfo.IdNo == "" {
|
|
|
- err = exception.New(exception.SyncRiskError)
|
|
|
- h.FailedResult("身份证号不能为空", result)
|
|
|
- return
|
|
|
- }
|
|
|
- //if !utils.IsValidIDCard(custInfo.IdNo) && !utils.IsValidOldIDCard(custInfo.IdNo) {
|
|
|
- // err = exception.New(exception.SyncRiskError)
|
|
|
- // h.FailedResult("身份证号不合法", result)
|
|
|
- // return
|
|
|
- //}
|
|
|
- if riskInfo.CorpRiskLevel == "" {
|
|
|
- err = exception.New(exception.SyncRiskError)
|
|
|
- h.FailedResult("风险等级不能为空", result)
|
|
|
- return
|
|
|
- }
|
|
|
- if riskInfo.CorpEndDate == "" {
|
|
|
- err = exception.New(exception.SyncRiskError)
|
|
|
- h.FailedResult("风险测评有效结束日期不能为空", result)
|
|
|
- return
|
|
|
- }
|
|
|
- err = userService.UpdateRiskLevelInfo(userService.RiskLevelInfoDTO{
|
|
|
- Name: custInfo.ClientName,
|
|
|
- PhoneNumber: custInfo.MobileTel,
|
|
|
- RiskLevel: riskInfo.CorpRiskLevel,
|
|
|
- RiskValidEndDate: riskInfo.CorpEndDate,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- logger.ErrorWithTraceId(h.Ctx, err.Error())
|
|
|
- h.FailedResult(err.Error(), result)
|
|
|
- err = exception.New(exception.SyncRiskError)
|
|
|
- return
|
|
|
- }
|
|
|
- logger.InfoWithTraceId(h.Ctx, err.Error())
|
|
|
- result = h.InitWrapData("同步风险等级成功")
|
|
|
- h.SuccessResult("success", syncCustomerRiskLevelReq, result)
|
|
|
- return
|
|
|
- })
|
|
|
-}
|