|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.MqConstants;
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.MqConstants;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.config.TaxNotifyConfig;
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.UserSignCertDTO;
|
|
@@ -30,6 +31,7 @@ import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -55,6 +57,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
|
|
|
|
private final UpmsConfig upmsConfig;
|
|
private final UpmsConfig upmsConfig;
|
|
|
|
|
|
|
|
+ private final TaxNotifyConfig taxNotifyConfig;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 查询用户签约认证信息
|
|
* 查询用户签约认证信息
|
|
*
|
|
*
|
|
@@ -74,6 +78,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
* @param userSignCertDTO
|
|
* @param userSignCertDTO
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public void saveBaseInfo(UserSignCertDTO userSignCertDTO) {
|
|
public void saveBaseInfo(UserSignCertDTO userSignCertDTO) {
|
|
HnqzUser user = SecurityUtils.getUser();
|
|
HnqzUser user = SecurityUtils.getUser();
|
|
Integer operateUserId = user.getId();
|
|
Integer operateUserId = user.getId();
|
|
@@ -126,6 +131,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
* @param userSignCertDTO
|
|
* @param userSignCertDTO
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public void signAgreement(UserSignCertDTO userSignCertDTO) {
|
|
public void signAgreement(UserSignCertDTO userSignCertDTO) {
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.lambdaUpdate();
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.lambdaUpdate();
|
|
updateWrapper.eq(SysUserSub::getUserId, userSignCertDTO.getUserId());
|
|
updateWrapper.eq(SysUserSub::getUserId, userSignCertDTO.getUserId());
|
|
@@ -145,6 +151,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
* @param userSignCertDTO
|
|
* @param userSignCertDTO
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public void personalIdentityVerification(UserSignCertDTO userSignCertDTO) {
|
|
public void personalIdentityVerification(UserSignCertDTO userSignCertDTO) {
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.lambdaUpdate();
|
|
LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.lambdaUpdate();
|
|
updateWrapper.eq(SysUserSub::getUserId, userSignCertDTO.getUserId());
|
|
updateWrapper.eq(SysUserSub::getUserId, userSignCertDTO.getUserId());
|
|
@@ -201,15 +208,20 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
userInfoModel.setBankPhone(userSub.getBankPhone());
|
|
userInfoModel.setBankPhone(userSub.getBankPhone());
|
|
userInfoModel.setBankCard(userSub.getBankCardNumber());
|
|
userInfoModel.setBankCard(userSub.getBankCardNumber());
|
|
userInfoModel.setIdCardFront(StrUtil.isBlank(userSub.getIdCardFrontUrl())
|
|
userInfoModel.setIdCardFront(StrUtil.isBlank(userSub.getIdCardFrontUrl())
|
|
- ? null : upmsConfig.getClientUrl() + userSub.getIdCardFrontUrl());
|
|
|
|
|
|
+ ? null : userSub.getIdCardFrontUrl().startsWith("https")
|
|
|
|
+ ? userSub.getIdCardFrontUrl() : upmsConfig.getClientUrl() + userSub.getIdCardFrontUrl());
|
|
userInfoModel.setIdCardBack(StrUtil.isBlank(userSub.getIdCardBackUrl())
|
|
userInfoModel.setIdCardBack(StrUtil.isBlank(userSub.getIdCardBackUrl())
|
|
- ? null : upmsConfig.getClientUrl() + userSub.getIdCardBackUrl());
|
|
|
|
|
|
+ ? null : userSub.getIdCardBackUrl().startsWith("https")
|
|
|
|
+ ? userSub.getIdCardBackUrl() : upmsConfig.getClientUrl() + userSub.getIdCardBackUrl());
|
|
userInfoModel.setCertVideo1(StrUtil.isBlank(userSub.getCertVideo1Url())
|
|
userInfoModel.setCertVideo1(StrUtil.isBlank(userSub.getCertVideo1Url())
|
|
- ? null : upmsConfig.getClientUrl() + userSub.getCertVideo1Url());
|
|
|
|
|
|
+ ? null : userSub.getCertVideo1Url().startsWith("https")
|
|
|
|
+ ? userSub.getCertVideo1Url() : upmsConfig.getClientUrl() + userSub.getCertVideo1Url());
|
|
userInfoModel.setCertVideo2(StrUtil.isBlank(userSub.getCertVideo2Url())
|
|
userInfoModel.setCertVideo2(StrUtil.isBlank(userSub.getCertVideo2Url())
|
|
- ? null : upmsConfig.getClientUrl() + userSub.getCertVideo2Url());
|
|
|
|
|
|
+ ? null : userSub.getCertVideo2Url().startsWith("https")
|
|
|
|
+ ? userSub.getCertVideo2Url() : upmsConfig.getClientUrl() + userSub.getCertVideo2Url());
|
|
userInfoModel.setSignImageUrl(StrUtil.isBlank(userSub.getAgreementUrl())
|
|
userInfoModel.setSignImageUrl(StrUtil.isBlank(userSub.getAgreementUrl())
|
|
- ? null : upmsConfig.getClientUrl() + userSub.getAgreementUrl());
|
|
|
|
|
|
+ ? null : userSub.getAgreementUrl().startsWith("https")
|
|
|
|
+ ? userSub.getAgreementUrl() : upmsConfig.getClientUrl() + userSub.getAgreementUrl());
|
|
|
|
|
|
GigInfoModel infoModel = new GigInfoModel();
|
|
GigInfoModel infoModel = new GigInfoModel();
|
|
infoModel.setBaseInfo(baseInfoModel);
|
|
infoModel.setBaseInfo(baseInfoModel);
|
|
@@ -223,13 +235,152 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 税邦云发送绑卡验证码
|
|
|
|
+ *
|
|
|
|
+ * @param userSignCertDTO
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
+ public void bindCardVerification(UserSignCertDTO userSignCertDTO) {
|
|
|
|
+ SysUserSub userSub = sysUserSubService.getOne(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
|
+ .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
|
+ .eq(SysUserSub::getGigType, GigTypeEnum.TAX_HELPOR));
|
|
|
|
+ if (userSub == null) {
|
|
|
|
+ throw new RuntimeException("数据异常");
|
|
|
|
+ }
|
|
|
|
+ // 更新银行预留手机号
|
|
|
|
+ SysUserSub updateUserSub = new SysUserSub();
|
|
|
|
+ updateUserSub.setId(userSub.getId());
|
|
|
|
+ updateUserSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
|
+ sysUserSubService.updateById(updateUserSub);
|
|
|
|
+ // 封装请求数据
|
|
|
|
+ // 查询user
|
|
|
|
+ SysUser sysUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
|
+ // 查询dept
|
|
|
|
+ SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
|
+ // 基础信息
|
|
|
|
+ GigBaseInfoModel baseInfoModel = new GigBaseInfoModel();
|
|
|
|
+ baseInfoModel.setGigType(userSub.getGigType());
|
|
|
|
+ baseInfoModel.setBankCardOpt("captcha");
|
|
|
|
+ baseInfoModel.setNotifyUrl(taxNotifyConfig.getNotifyUrl());
|
|
|
|
+ // 用户信息
|
|
|
|
+ GigUserInfoModel userInfoModel = new GigUserInfoModel();
|
|
|
|
+ userInfoModel.setName(sysUser.getRealname());
|
|
|
|
+ userInfoModel.setUsername(sysUser.getUsername());
|
|
|
|
+ userInfoModel.setEntCode(dept.getTaxCode());
|
|
|
|
+ userInfoModel.setIdCard(sysUser.getIdCardNumber());
|
|
|
|
+ userInfoModel.setBankPhone(userSub.getBankPhone());
|
|
|
|
+ userInfoModel.setBankCard(userSub.getBankCardNumber());
|
|
|
|
+
|
|
|
|
+ GigInfoModel infoModel = new GigInfoModel();
|
|
|
|
+ infoModel.setBaseInfo(baseInfoModel);
|
|
|
|
+ infoModel.setUserInfo(userInfoModel);
|
|
|
|
+ BaseMap gigInfo = new BaseMap();
|
|
|
|
+ gigInfo.put(userSub.getGigType().name(), infoModel);
|
|
|
|
+ // 发送mq
|
|
|
|
+ rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_GIG_BANK_CARD_QUEUE, JSONUtil.toJsonStr(gigInfo));
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 绑卡确认
|
|
* 绑卡确认
|
|
*
|
|
*
|
|
* @param userSignCertDTO
|
|
* @param userSignCertDTO
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
public void bindCardConfirm(UserSignCertDTO userSignCertDTO) {
|
|
public void bindCardConfirm(UserSignCertDTO userSignCertDTO) {
|
|
- // TODO
|
|
|
|
|
|
+ List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
|
+ .eq(SysUserSub::getUserId, userSignCertDTO.getUserId())
|
|
|
|
+ .in(SysUserSub::getGigType, GigTypeEnum.TAX_HELPOR, GigTypeEnum.YEE));
|
|
|
|
+ if (CollUtil.isEmpty(userSubList) || userSubList.size() != 2) {
|
|
|
|
+ throw new RuntimeException("数据异常");
|
|
|
|
+ }
|
|
|
|
+ BaseMap gigInfo = new BaseMap();
|
|
|
|
+ userSubList.forEach(userSub -> {
|
|
|
|
+ // 更新银行预留手机号
|
|
|
|
+ SysUserSub updateUserSub = new SysUserSub();
|
|
|
|
+ updateUserSub.setId(userSub.getId());
|
|
|
|
+ updateUserSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
|
+ sysUserSubService.updateById(updateUserSub);
|
|
|
|
+ userSub.setBankPhone(userSignCertDTO.getBankPhone());
|
|
|
|
+ // 查询user
|
|
|
|
+ SysUser sysUser = sysUserService.getById(userSignCertDTO.getUserId());
|
|
|
|
+ // 查询dept
|
|
|
|
+ SysDept dept = sysDeptService.getById(sysUser.getDeptId());
|
|
|
|
+ // 封装请求数据
|
|
|
|
+ if (GigTypeEnum.TAX_HELPOR.equals(userSub.getGigType())) {
|
|
|
|
+ gigInfo.put(userSub.getGigType().name(), this.buildTaxHelperBindCardConfirmModel(sysUser, userSub, dept));
|
|
|
|
+ } else if (GigTypeEnum.YEE.equals(userSub.getGigType())) {
|
|
|
|
+ gigInfo.put(userSub.getGigType().name(), this.buildYeeBindCardConfirmModel(sysUser, userSub, dept));
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // 发送mq
|
|
|
|
+ rabbitMqClient.sendMessage(MqConstants.DIRECT_MODE_GIG_BANK_CARD_QUEUE, JSONUtil.toJsonStr(gigInfo));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 封装税邦云绑卡model
|
|
|
|
+ *
|
|
|
|
+ * @param sysUser
|
|
|
|
+ * @param userSub
|
|
|
|
+ * @param dept
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public GigInfoModel buildTaxHelperBindCardConfirmModel(SysUser sysUser, SysUserSub userSub, SysDept dept) {
|
|
|
|
+ // 基础信息
|
|
|
|
+ GigBaseInfoModel baseInfoModel = new GigBaseInfoModel();
|
|
|
|
+ baseInfoModel.setGigType(userSub.getGigType());
|
|
|
|
+ baseInfoModel.setCaptcha("134679");
|
|
|
|
+ baseInfoModel.setNotifyUrl(taxNotifyConfig.getNotifyUrl());
|
|
|
|
+ // 用户信息
|
|
|
|
+ GigUserInfoModel userInfoModel = new GigUserInfoModel();
|
|
|
|
+ userInfoModel.setName(sysUser.getRealname());
|
|
|
|
+ userInfoModel.setUsername(sysUser.getUsername());
|
|
|
|
+ userInfoModel.setEntCode(dept.getTaxCode());
|
|
|
|
+ userInfoModel.setIdCard(sysUser.getIdCardNumber());
|
|
|
|
+ userInfoModel.setBankPhone(userSub.getBankPhone());
|
|
|
|
+ userInfoModel.setBankCard(userSub.getBankCardNumber());
|
|
|
|
+ userInfoModel.setNewBankCard(userSub.getBankCardNumber());
|
|
|
|
+ userInfoModel.setAddress("北京市-房山区-长阳镇");
|
|
|
|
+
|
|
|
|
+ GigInfoModel infoModel = new GigInfoModel();
|
|
|
|
+ infoModel.setBaseInfo(baseInfoModel);
|
|
|
|
+ infoModel.setUserInfo(userInfoModel);
|
|
|
|
+
|
|
|
|
+ return infoModel;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 封装易联换绑model
|
|
|
|
+ *
|
|
|
|
+ * @param sysUser
|
|
|
|
+ * @param userSub
|
|
|
|
+ * @param dept
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public GigInfoModel buildYeeBindCardConfirmModel(SysUser sysUser, SysUserSub userSub, SysDept dept) {
|
|
|
|
+ // 基础信息
|
|
|
|
+ GigBaseInfoModel baseInfoModel = new GigBaseInfoModel();
|
|
|
|
+ baseInfoModel.setGigType(userSub.getGigType());
|
|
|
|
+ baseInfoModel.setBankCardOpt("绑卡?");
|
|
|
|
+ // 用户信息
|
|
|
|
+ GigUserInfoModel userInfoModel = new GigUserInfoModel();
|
|
|
|
+ userInfoModel.setName(sysUser.getRealname());
|
|
|
|
+ userInfoModel.setUsername(sysUser.getUsername());
|
|
|
|
+ userInfoModel.setEntCode(dept.getTaxCode());
|
|
|
|
+ userInfoModel.setIdCard(sysUser.getIdCardNumber());
|
|
|
|
+ userInfoModel.setBankPhone(userSub.getBankPhone());
|
|
|
|
+ userInfoModel.setBankCard(userSub.getBankCardNumber());
|
|
|
|
+ userInfoModel.setNewBankCard(userSub.getBankCardNumber());
|
|
|
|
+ userInfoModel.setAddress("北京市-房山区-长阳镇");
|
|
|
|
+
|
|
|
|
+ GigInfoModel infoModel = new GigInfoModel();
|
|
|
|
+ infoModel.setBaseInfo(baseInfoModel);
|
|
|
|
+ infoModel.setUserInfo(userInfoModel);
|
|
|
|
+
|
|
|
|
+ return infoModel;
|
|
}
|
|
}
|
|
}
|
|
}
|