提交 c407f394 作者: xiaowang

小程序签署

上级 8d4fda6d
......@@ -54,8 +54,9 @@ public class ContractController extends BaseController {
@GetMapping("/stamp")
public ResultBody stamp(@ApiParam(value = "合同编号") @RequestParam(value = "contractId") String contractId,
@ApiParam(value = "小程序页面跳转地址") @RequestParam(value = "pages", required = false) String pages,
HttpServletRequest request, @ApiParam(value = "端口:0小程序 1后台") @RequestParam(value = "port") Integer port) {
return contractService.stamp(contractId, this.getUserLoginInfoFromRedis(request), pages, port);
HttpServletRequest request, @ApiParam(value = "端口:0小程序 1后台") @RequestParam(value = "port") Integer port,
@ApiParam(value = "认证类型") @RequestParam(value = "customerId", required = false) String customerId) {
return contractService.stamp(contractId, this.getUserLoginInfoFromRedis(request), pages, port, customerId);
}
@ApiOperation(value = "异步处理手动签署信息")
......
......@@ -25,6 +25,8 @@ public interface UserFddAuthDao {
void updatePersonCertStatus(String customerId, String status);
UserFddDO getAppUserFddInfoByCustomerId(String customerId);
// void insertAppUserFdd(UserFddDO appUserFddDO1);
//
// AppEVerifyInfoDO getCompanyVerifyUrl(String customerId);
......
......@@ -27,7 +27,7 @@ public interface ContractService {
ResultBody downloadContract(String contractId);
ResultBody stamp(String contractId, LoginSuccessDTO loginSuccessDTO, String pages, Integer port);
ResultBody stamp(String contractId, LoginSuccessDTO loginSuccessDTO, String pages, Integer port, String customerId);
/**
* 异步回调
......
......@@ -9,7 +9,9 @@ import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.response.ResultEnum;
import com.mmc.iuav.user.constant.fdd.FddConnectConstant;
import com.mmc.iuav.user.constant.fdd.FddConstant;
import com.mmc.iuav.user.dao.UserServiceDao;
import com.mmc.iuav.user.dao.fdd.ContractDao;
import com.mmc.iuav.user.dao.fdd.UserFddAuthDao;
import com.mmc.iuav.user.entity.fdd.ContractInfoDO;
import com.mmc.iuav.user.entity.fdd.UserFddDO;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
......@@ -18,6 +20,7 @@ import com.mmc.iuav.user.model.fdd.vo.ContractVO;
import com.mmc.iuav.user.mq.MqProducer;
import com.mmc.iuav.user.service.fdd.ContractService;
import com.mmc.iuav.user.service.fdd.SealManageService;
import com.mmc.iuav.user.service.fdd.UserFddAuthService;
import com.mmc.iuav.user.util.TDateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
......@@ -43,6 +46,12 @@ public class ContractServiceImpl implements ContractService {
SealManageService sealManageService;
@Resource
private MqProducer mqProducer;
@Resource
UserFddAuthService userFddAuthService;
@Resource
UserServiceDao userServiceDao;
@Resource
UserFddAuthDao userFddAuthDao;
/**
* 上传合同
......@@ -120,12 +129,26 @@ public class ContractServiceImpl implements ContractService {
@Override
public ResultBody stamp(String contractId, LoginSuccessDTO loginSuccessDTO, String pages, Integer port) {
ResultBody resultBody = sealManageService.checkAuthStatus(port, loginSuccessDTO);
if (!resultBody.getCode().equals("200")) {
return resultBody;
public ResultBody stamp(String contractId, LoginSuccessDTO loginSuccessDTO, String pages, Integer port, String customerId) {
UserFddDO userFddDO;
if (port.equals(0)) {
// 根据客户id获取认证信息
userFddDO = userFddAuthDao.getAppUserFddInfoByCustomerId(customerId);
if (null == userFddDO) {
return ResultBody.error(ResultEnum.BUSINESS_LICENSE_CHECK_ERROR);
}
boolean isPersonVerified = userFddDO.getAccountType().equals(1) && userFddDO.getPersonVerifyStatus().equals(2);
boolean isEntVerified = userFddDO.getAccountType().equals(2) && userFddDO.getEntVerifyStatus().equals(4);
if (!isPersonVerified && !isEntVerified) {
return ResultBody.error(ResultEnum.BUSINESS_LICENSE_CHECK_NOT_PASS);
}
} else {
ResultBody resultBody = sealManageService.checkAuthStatus(port, loginSuccessDTO);
if (!resultBody.getCode().equals("200")) {
return resultBody;
}
userFddDO = (UserFddDO) resultBody.getResult();
}
UserFddDO userFddDO = (UserFddDO) resultBody.getResult();
// 获取合同信息
ContractInfoDO contractInfo = contractDao.contractInfoByOrderNo(null, contractId);
FddBaseClient baseClient = new FddBaseClient(FddConnectConstant.APP_ID, FddConnectConstant.APP_KEY, FddConnectConstant.VERSION, FddConnectConstant.HOST);
......@@ -135,7 +158,7 @@ public class ContractServiceImpl implements ContractService {
params.setTransactionId(transactionId);
//此处传入调用上传或填充合同接口成功时定义的合同编号
params.setContractId(contractId);
params.setCustomerId(userFddDO.getCustomerId());
params.setCustomerId(customerId);
params.setDocTitle(contractInfo.getContractTitle());
if (pages != null) {
params.setOpenEnvironment("1");
......
......@@ -67,5 +67,17 @@
from user_fdd
where union_id = #{unionId}
</select>
<select id="getAppUserFddInfoByCustomerId" resultType="com.mmc.iuav.user.entity.fdd.UserFddDO">
select id,
customer_id,
union_id,
person_verify_status,
ent_verify_status,
account_type,
create_time,
update_time
from user_fdd
where customer_id = #{customerId}
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论