lixuesong 1 жил өмнө
parent
commit
e6a3cacd07

+ 2 - 0
db/v2.0/20240126.sql

@@ -0,0 +1,2 @@
+alter table sys_user
+    add re_signed_agreement int default 1 null comment '是否已补签协议';

+ 5 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/SysUser.java

@@ -234,4 +234,9 @@ public class SysUser implements Serializable {
 	 */
 	private Boolean ageReminder;
 
+	/**
+	 * 是否已补签协议
+	 */
+	private Integer reSignedAgreement;
+
 }

+ 4 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/vo/UserVO.java

@@ -226,6 +226,10 @@ public class UserVO implements Serializable {
 	 */
 	private Boolean ageReminder;
 
+	/**
+	 * 是否已补签协议
+	 */
+	private Integer reSignedAgreement;
 
 	@TableField(exist = false)
 	private List<WmQuizResultModel> quizResult;

+ 1 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -802,6 +802,7 @@ public class ApiController {
 			mapOne.put("userSign", sysU.getUserSign());
 			mapOne.put("certRemark", sysU.getCertRemark());
 			mapOne.put("taxHelperAgreementSignature", sysU.getTaxHelperAgreementSignature());
+			mapOne.put("reSignedAgreement", sysU.getReSignedAgreement());
 			mapOne.put("bankCardNumber", sysU.getBankCardNumber());
 			mapOne.put("bankPhone", sysU.getBankPhone());
 			mapOne.put("bankName", sysU.getBankName());

+ 24 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserSignCertController.java

@@ -192,6 +192,30 @@ public class SysUserSignCertController {
 		return R.ok();
 	}
 
+	/**
+	 * 补签协议
+	 *
+	 * @param userSignCertDTO 参数
+	 * @return 结果
+	 */
+	@SysLog("补签协议")
+	@PostMapping("/re-sign-agreement")
+	public R<?> reSignAgreement(@RequestBody UserSignCertDTO userSignCertDTO) {
+		if (userSignCertDTO.getUserId() == null) {
+			return R.failed("userId不能为空");
+		}
+		if (StrUtil.isBlank(userSignCertDTO.getAgreementUrl())) {
+			return R.failed("协议不能为空");
+		}
+		if (userSignCertDTO.getSubjectLocation() == null) {
+			return R.failed("税源地不能为空");
+		}
+
+		sysUserSignCertService.reSignAgreement(userSignCertDTO);
+
+		return R.ok();
+	}
+
 	/**
 	 * 身份证图片保存
 	 *

+ 7 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/SysUserSignCertService.java

@@ -75,6 +75,13 @@ public interface SysUserSignCertService {
 	 */
 	void signAgreement(UserSignCertDTO userSignCertDTO);
 
+	/**
+	 * 补签协议
+	 *
+	 * @param userSignCertDTO 参数
+	 */
+	void reSignAgreement(UserSignCertDTO userSignCertDTO);
+
 	/**
 	 * 人身验证
 	 *

+ 42 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/gig/impl/SysUserSignCertServiceImpl.java

@@ -33,6 +33,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysUserSubService;
 import com.qunzhixinxi.hnqz.admin.service.gig.SysUserSignCertService;
 import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
 import com.qunzhixinxi.hnqz.common.core.entity.BaseMap;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.rabbitmq.client.RabbitMqClient;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
@@ -529,6 +530,42 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		sysUserSubService.update(updateWrapper);
 	}
 
+	/**
+	 * 补签协议
+	 *
+	 * @param userSignCertDTO 参数
+	 */
+	@Override
+	public void reSignAgreement(UserSignCertDTO userSignCertDTO) {
+		SysUser sysUser = sysUserService.getById(userSignCertDTO.getUserId());
+
+		if (sysUser.getReSignedAgreement().equals(1)) {
+			throw new BizException("已补签");
+		}
+
+		LocalDateTime now = LocalDateTime.now();
+		// 更新user
+		SysUser updateUser = new SysUser();
+		updateUser.setUserId(userSignCertDTO.getUserId());
+		updateUser.setReSignedAgreement(1);
+		updateUser.setUpdateTime(now);
+		sysUserService.updateById(updateUser);
+		// 更新userSub
+		LambdaUpdateWrapper<SysUserSub> updateWrapper = Wrappers.lambdaUpdate();
+		updateWrapper.eq(SysUserSub::getUserId, userSignCertDTO.getUserId());
+		updateWrapper.eq(SysUserSub::getDeptId, sysUser.getDeptId());
+		if (userSignCertDTO.getSubjectLocation() != null) {
+			updateWrapper.eq(SysUserSub::getSubjectLocation, userSignCertDTO.getSubjectLocation());
+		}
+		updateWrapper.set(SysUserSub::getAgreementUrl, userSignCertDTO.getAgreementUrl());
+		updateWrapper.set(SysUserSub::getUpdateUser, SecurityUtils.getUser().getId());
+		updateWrapper.set(SysUserSub::getUpdateTime, now);
+		sysUserSubService.update(updateWrapper);
+
+		// 推送认证mq
+		this.batchChannelCert(userSignCertDTO);
+	}
+
 	/**
 	 * 人身验证
 	 *
@@ -703,6 +740,11 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 					return true;
 				}
 
+				// 需要补签协议的,可以发起
+				if (sysUser.getReSignedAgreement().equals(0)) {
+					return true;
+				}
+
 				// 已认证不发起
 				if (OladingCertStatus.CERT.getCode().equals(String.valueOf(userSub.getCertStatus()))) {
 					return false;

+ 2 - 1
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/SysUserMapper.xml

@@ -646,7 +646,8 @@
 	  	u.bank_name,
 		u.tax_helper_agreement_signature,
 		u.sign_agreement,
-		u.age_reminder
+		u.age_reminder,
+		u.re_signed_agreement
 		FROM
 		sys_user  u
 		LEFT JOIN sys_dept  d ON d.dept_id = u.dept_id