提交 46133c57 作者: xiaowang

法大大认证信息

上级 1760d6eb
......@@ -3,6 +3,7 @@ package com.mmc.iuav.user.controller.fdd;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.controller.BaseController;
import com.mmc.iuav.user.model.fdd.resp.CompanyVerifyResp;
import com.mmc.iuav.user.model.fdd.resp.PersonVerifyResp;
import com.mmc.iuav.user.service.fdd.UserFddAuthService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -32,13 +33,12 @@ public class UserFddAuthController extends BaseController {
return userFddAuthService.register(uid, accountType);
}
// @ApiOperation(value = "获取个人实名认证地址")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = PersonVerifyResp.class)})
// @ApiIgnore
// @GetMapping("getPersonVerifyUrl")
// public PersonVerifyResp getPersonVerifyUrl(@RequestParam String customerId) {
// return userFddAuthService.getPersonVerifyUrl(customerId);
// }
@ApiOperation(value = "获取个人实名认证地址")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = PersonVerifyResp.class)})
@GetMapping("getPersonVerifyUrl")
public ResultBody getPersonVerifyUrl(HttpServletRequest request) {
return userFddAuthService.getPersonVerifyUrl(this.getUserLoginInfoFromRedis(request).getUserAccountId());
}
@ApiOperation(value = "获取企业实名认证url")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = CompanyVerifyResp.class)})
......@@ -54,14 +54,14 @@ public class UserFddAuthController extends BaseController {
public ResultBody notifyECertRes(@RequestParam Map<String, String> map) {
return userFddAuthService.notifyECertRes(map);
}
//
// @ApiOperation(value = "app获取企业实名认证信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppEVerifyInfoDTO.class)})
// @GetMapping("findCompanyCertInfo")
// public ResultBody findCompanyCertInfo(@RequestParam String unionId) {
// return userFddAuthService.findCompanyCertInfo(unionId);
// }
//
// @ApiOperation(value = "app获取认证信息")
// @ApiResponses({@ApiResponse(code = 200, message = "OK", response = AppUserFddDTO.class)})
// @GetMapping("getAppUserFddInfo")
......
......@@ -11,11 +11,11 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface UserFddAuthDao {
UserFddDO checkRegisterFdd(String unionId);
UserFddDO checkRegisterFdd(String unionId, Integer flag);
void insertAppUserFdd(UserFddDO userFddDO);
FddVerifyInfoDO getCompanyVerifyUrl(String customerId);
FddVerifyInfoDO getVerifyUrl(String customerId);
void insertVerifyInfo(FddVerifyInfoDO verifyInfoDO1);
......
package com.mmc.iuav.user.service.fdd;
import com.mmc.iuav.user.model.fdd.resp.PersonVerifyResp;
/**
* author:zhenjie
* Date:2022/7/16
......@@ -9,9 +7,7 @@ import com.mmc.iuav.user.model.fdd.resp.PersonVerifyResp;
*/
public interface FddService {
String register(String uid, String accountType);
PersonVerifyResp getPersonVerifyUrl(String customerId);
//
// ResultBody findPersonCertInfo(String verifiedSerialNo);
//
......
......@@ -3,7 +3,6 @@ package com.mmc.iuav.user.service.fdd;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.fdd.resp.PersonVerifyResp;
import java.util.Map;
......@@ -15,7 +14,7 @@ import java.util.Map;
public interface UserFddAuthService {
String register(String uid, String accountType);
PersonVerifyResp getPersonVerifyUrl(String customerId);
ResultBody getPersonVerifyUrl(Integer userAccountId);
ResultBody getCompanyVerifyUrl(Integer port, LoginSuccessDTO loginSuccessDTO);
......
package com.mmc.iuav.user.service.fdd.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.fadada.sdk.base.client.FddBaseClient;
import com.fadada.sdk.base.model.req.RegisterAccountParams;
import com.fadada.sdk.verify.client.FddVerifyClient;
import com.fadada.sdk.verify.model.req.ApplyCertParams;
import com.fadada.sdk.verify.model.req.PersonVerifyUrlParams;
import com.mmc.iuav.user.constant.fdd.FddConnectConstant;
import com.mmc.iuav.user.constant.fdd.FddConstant;
import com.mmc.iuav.user.model.fdd.resp.PersonVerifyResp;
import com.mmc.iuav.user.dao.UserServiceDao;
import com.mmc.iuav.user.service.fdd.FddService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* author:zhenjie
* Date:2022/7/16
......@@ -23,6 +23,9 @@ import org.springframework.stereotype.Service;
@Slf4j
public class FddServiceImpl implements FddService {
@Resource
UserServiceDao userServiceDao;
@Override
public String register(String uid, String accountType) {
FddBaseClient baseClient = new FddBaseClient(FddConnectConstant.APP_ID, FddConnectConstant.APP_KEY, FddConnectConstant.VERSION, FddConnectConstant.HOST);
......@@ -41,43 +44,6 @@ public class FddServiceImpl implements FddService {
return JSONObject.parseObject(result).getString(FddConstant.DATA);
}
@Override
public PersonVerifyResp getPersonVerifyUrl(String customerId) {
FddVerifyClient client = new FddVerifyClient(FddConnectConstant.APP_ID, FddConnectConstant.APP_KEY, FddConnectConstant.VERSION, FddConnectConstant.HOST);
PersonVerifyUrlParams params = new PersonVerifyUrlParams();
//客户编号
params.setCustomerId(customerId);
//实名认证套餐类型
params.setVerifiedWay("0");
//是否允许用户页面修改 1允许 2不允许
params.setPageModify("1");
// 以下是非必填参数
// params.setNotifyUrl(""); //异步回调地址
// params.setReturnUrl(""); //同步通知url
// params.setCustomerName(""); //姓名
// params.setCustomerIdentType(""); //证件类型
// params.setCustomerIdentNo(""); //证件号码
// params.setMobile(""); //手机号码
// params.setIdentFrontPath(""); //证件正面照下载地址
// params.setIdentBackPath(""); //证件反面照下载地址
// params.setResultType(""); //刷脸是否显示结果页面
// params.setCertFlag(""); //是否认证成功后自动申请实名证书
// params.setCertType(""); //证件类型
// params.setBankCardNo(""); //个人银行卡
// params.setOption(""); //不传默认add
// params.setIdPhotoOptional(""); //是否需要上传身份照片
// params.setIsMinProgram(""); //是否跳转法大大公证处小程序认证
// params.setLang("zh"); //zh:中文;en:英文
// params.setIsAllowOverseasBankCardAuth(""); //海外用户是否支持银行卡认证
// params.setIdentFrontImg(new File("")); //证件正面照图片文件
// params.setIdentBackImg(new File("")); //证件反面照图片文件
String result = client.invokePersonVerifyUrl(params);
if (!JSONObject.parseObject(result).getString(FddConstant.CODE).equals(FddConstant.SUCCESS)) {
return null;
}
return JSON.parseObject(JSONObject.parseObject(result).getString(FddConstant.DATA), PersonVerifyResp.class);
}
// @Override
// public ResultBody findPersonCertInfo(String verifiedSerialNo) {
// FddVerifyClient client = new FddVerifyClient(FddConnectConstant.APP_ID, FddConnectConstant.APP_KEY, FddConnectConstant.VERSION, FddConnectConstant.HOST);
......
......@@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.fadada.sdk.utils.crypt.FddEncryptTool;
import com.fadada.sdk.verify.client.FddVerifyClient;
import com.fadada.sdk.verify.model.req.CompanyVerifyUrlParams;
import com.fadada.sdk.verify.model.req.PersonVerifyUrlParams;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.constant.fdd.FddConnectConstant;
......@@ -48,10 +49,71 @@ public class UserFddAuthServiceImpl implements UserFddAuthService {
}
@Override
public ResultBody getPersonVerifyUrl(Integer userAccountId) {
UserAccountDO userInfo = userServiceDao.getUserAccountById(userAccountId);
String unionId = this.replaceUnableString(userInfo.getUnionId());
//验证是否注册个人
String customerId = this.checkRegisterFdd(unionId, 1);
if (customerId == null) {
return ResultBody.error(ResultEnum.REQUEST_PARAM_ILLEGAL_ERROR);
}
UserFddDO userFddDO = userFddAuthDao.checkRegisterFdd(unionId, 1);
if (userFddDO == null) {
return ResultBody.error(ResultEnum.NOT_FOUND);
}
//查看原来是否有申请
FddVerifyInfoDO verifyInfoDO = userFddAuthDao.getVerifyUrl(userFddDO.getCustomerId());
if (verifyInfoDO == null) {
PersonVerifyResp personVerifyResp = this.getPersonVerifyUrl(customerId);
if (personVerifyResp == null) {
return ResultBody.error(ResultEnum.REQUEST_PARAM_ILLEGAL_ERROR);
}
FddVerifyInfoDO verifyInfoDO1 = new FddVerifyInfoDO();
verifyInfoDO1.setUserFddId(userFddDO.getId());
verifyInfoDO1.setCustomerId(customerId);
verifyInfoDO1.setTransactionNo(personVerifyResp.getTransactionNo());
verifyInfoDO1.setUrl(personVerifyResp.getUrl());
userFddAuthDao.insertVerifyInfo(verifyInfoDO1);
return ResultBody.success(personVerifyResp.getUrl());
}
return ResultBody.success(verifyInfoDO.getUrl());
}
public PersonVerifyResp getPersonVerifyUrl(String customerId) {
return fddService.getPersonVerifyUrl(customerId);
FddVerifyClient client = new FddVerifyClient(FddConnectConstant.APP_ID, FddConnectConstant.APP_KEY, FddConnectConstant.VERSION, FddConnectConstant.HOST);
PersonVerifyUrlParams params = new PersonVerifyUrlParams();
params.setCustomerId(customerId); //客户编号
params.setVerifiedWay("0"); //实名认证套餐类型
params.setPageModify("1"); //是否允许用户页面修改 1允许 2不允许
// 以下是非必填参数
params.setNotifyUrl(FddConnectConstant.MMC_URL + FddConstant.NOTIFY_E_CERT_RES); //异步回调地址
// params.setReturnUrl(""); //同步通知url
// params.setCustomerName(""); //姓名
// params.setCustomerIdentType(""); //证件类型
// params.setCustomerIdentNo(""); //证件号码
// params.setMobile(""); //手机号码
// params.setIdentFrontPath(""); //证件正面照下载地址
// params.setIdentBackPath(""); //证件反面照下载地址
// params.setResultType(""); //刷脸是否显示结果页面
// params.setCertFlag(""); //是否认证成功后自动申请实名证书
// params.setCertType(""); //证件类型
// params.setBankCardNo(""); //个人银行卡
// params.setOption(""); //不传默认add
// params.setIdPhotoOptional(""); //是否需要上传身份照片
// params.setIsMinProgram(""); //是否跳转法大大公证处小程序认证
// params.setLang("zh"); //zh:中文;en:英文
// params.setIsAllowOverseasBankCardAuth(""); //海外用户是否支持银行卡认证
// params.setIdentFrontImg(new File("")); //证件正面照图片文件
// params.setIdentBackImg(new File("")); //证件反面照图片文件
String result = client.invokePersonVerifyUrl(params);
if (!com.alibaba.fastjson.JSONObject.parseObject(result).getString(FddConstant.CODE).equals(FddConstant.SUCCESS)) {
return null;
}
PersonVerifyResp data = com.alibaba.fastjson.JSON.parseObject(com.alibaba.fastjson.JSONObject.parseObject(result).getString(FddConstant.DATA), PersonVerifyResp.class);
return data;
}
@Override
public ResultBody getCompanyVerifyUrl(Integer port, LoginSuccessDTO loginSuccessDTO) {
String uId;
......@@ -63,16 +125,16 @@ public class UserFddAuthServiceImpl implements UserFddAuthService {
uId = loginSuccessDTO.getUserAccountId().toString();
}
//验证是否注册企业
String customerId = this.checkRegisterFdd(uId);
String customerId = this.checkRegisterFdd(uId, 2);
if (customerId == null) {
return ResultBody.error(ResultEnum.REQUEST_PARAM_ILLEGAL_ERROR);
}
UserFddDO userFddDO = userFddAuthDao.checkRegisterFdd(uId);
UserFddDO userFddDO = userFddAuthDao.checkRegisterFdd(uId, 2);
if (userFddDO == null) {
return ResultBody.error(ResultEnum.NOT_FOUND);
}
//查看原来是否有申请
FddVerifyInfoDO verifyInfoDO = userFddAuthDao.getCompanyVerifyUrl(userFddDO.getCustomerId());
FddVerifyInfoDO verifyInfoDO = userFddAuthDao.getVerifyUrl(userFddDO.getCustomerId());
if (verifyInfoDO == null) {
CompanyVerifyResp companyVerifyResp = this.reqCompanyVerifyUrl(customerId);
if (companyVerifyResp == null) {
......@@ -115,23 +177,16 @@ public class UserFddAuthServiceImpl implements UserFddAuthService {
} catch (Exception e) {
return ResultBody.error(ResultEnum.NOT_FOUND);
}
FddVerifyInfoDO verifyInfoDO = userFddAuthDao.getCompanyVerifyUrl(customerId);
FddVerifyInfoDO verifyInfoDO = userFddAuthDao.getVerifyUrl(customerId);
if (verifyInfoDO == null) {
return ResultBody.error(ResultEnum.NOT_FOUND);
}
//修改认证状态
userFddAuthDao.updateCompanyCertStatus(customerId, status);
//通过需要申请证书
if (status.equals("4")) {
if ((authenticationType.equals("2") && status.equals("4")) || (authenticationType.equals("1") && status.equals("2"))) {
fddService.getApplyCert(verifyInfoDO.getCustomerId(), verifyInfoDO.getTransactionNo());
}
// // 已认证实时同步到小程序用户
// if(status.equals("4")){
// UserFddDO appUserFddDO = appUserFddAuthDao.getAppUserFddInfoByCustomerId(customerId);
// if(appUserFddDO!=null){
// mallUserClient.feingUpdateEntVerify(appUserFddDO.getUnionId(),1,appUserFddDO.getCreateTime());
// }
// }
return ResultBody.success();
}
......@@ -180,24 +235,23 @@ public class UserFddAuthServiceImpl implements UserFddAuthService {
return data;
}
private String checkRegisterFdd(String unionId) {
private String checkRegisterFdd(String unionId, Integer flag) {
//查看是否已注册
UserFddDO userFddDO = userFddAuthDao.checkRegisterFdd(unionId);
UserFddDO userFddDO = userFddAuthDao.checkRegisterFdd(unionId, flag);
String customerId;
if (userFddDO == null) {
//账号类型1个人 2企业
Integer accountType = 2;
customerId = this.register(unionId, accountType.toString());
customerId = this.register(unionId, flag.toString());
if (customerId == null) {
return null;
}
UserFddDO userFddDO1 = new UserFddDO();
userFddDO1.setUnionId(unionId);
userFddDO1.setCustomerId(customerId);
userFddDO1.setAccountType(accountType);
userFddDO1.setEntVerifyStatus(0);
userFddDO1.setPersonVerifyStatus(0);
userFddAuthDao.insertAppUserFdd(userFddDO1);
UserFddDO userFdd = new UserFddDO();
userFdd.setUnionId(unionId);
userFdd.setCustomerId(customerId);
userFdd.setAccountType(flag);
userFdd.setEntVerifyStatus(0);
userFdd.setPersonVerifyStatus(0);
userFddAuthDao.insertAppUserFdd(userFdd);
} else {
customerId = userFddDO.getCustomerId();
}
......
......@@ -42,9 +42,10 @@
update_time
from user_fdd
where union_id = #{unionId}
and account_type = #{flag}
and is_deleted = 0
</select>
<select id="getCompanyVerifyUrl" resultType="com.mmc.iuav.user.entity.fdd.FddVerifyInfoDO">
<select id="getVerifyUrl" resultType="com.mmc.iuav.user.entity.fdd.FddVerifyInfoDO">
select id, user_fdd_id, customer_id, transaction_no, url, create_time, update_time
from fdd_verify_info
where customer_id = #{customerId}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论