Эх сурвалжийг харах

feat: 保存银行卡新增开户行字段

李学松 2 жил өмнө
parent
commit
5194367669

+ 5 - 0
db/v2.0/230410.sql

@@ -0,0 +1,5 @@
+alter table sys_user
+    add bank_name varchar(32) null comment '开户行';
+
+alter table sys_user_sub
+    add bank_name varchar(64) null comment '开户行' after bank_phone;

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

@@ -269,6 +269,11 @@ public class SysUser implements Serializable {
 	 */
 	private String bankPhone;
 
+	/**
+	 * 开户行
+	 */
+	private String bankName;
+
 	/**
 	 * 人力家认证状态
 	 */

+ 9 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserSignCertController.java

@@ -85,12 +85,13 @@ public class SysUserSignCertController {
 		if (StrUtil.length(userSignCertDTO.getBankCardNumber()) < 16 || StrUtil.length(userSignCertDTO.getBankCardNumber()) > 19) {
 			return R.failed("银行卡号不正确");
 		}
-		SysUser sysUser = new SysUser();
-		sysUser.setUserId(userSignCertDTO.getUserId());
-		sysUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
-		sysUser.setBankPhone(userSignCertDTO.getBankPhone());
+		if (StrUtil.isBlank(userSignCertDTO.getBankName())) {
+			return R.failed("开户行不能为空");
+		}
+
+		sysUserSignCertService.saveBankInfo(userSignCertDTO);
 
-		return R.ok(sysUserService.updateById(sysUser));
+		return R.ok();
 	}
 
 	/**
@@ -117,6 +118,9 @@ public class SysUserSignCertController {
 		if (StrUtil.isNotBlank(userSignCertDTO.getIdCardNumber()) && !Validator.isCitizenId(userSignCertDTO.getIdCardNumber())) {
 			return R.failed("身份证号不正确");
 		}
+		if (StrUtil.isBlank(userSignCertDTO.getBankName())) {
+			return R.failed("开户行不能为空");
+		}
 
 		// 校验是否配置了结算限制
 		Integer deptId = SecurityUtils.getUser().getDeptId();

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/SysUserSub.java

@@ -91,6 +91,11 @@ public class SysUserSub extends Model<SysUserSub> {
 	 */
 	private String bankCardNumber;
 
+	/**
+	 * 开户行
+	 */
+	private String bankName;
+
 	/**
 	 * 身份证照片-正面
 	 */

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/dto/UserSignCertDTO.java

@@ -38,6 +38,11 @@ public class UserSignCertDTO implements Serializable {
 	 */
 	private String bankPhone;
 
+	/**
+	 * 开户行
+	 */
+	private String bankName;
+
 	/**
 	 * 身份证照片-正面
 	 */

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

@@ -180,6 +180,35 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		return null;
 	}
 
+	/**
+	 * 保存银行卡信息
+	 *
+	 * @param userSignCertDTO
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void saveBankInfo(UserSignCertDTO userSignCertDTO) {
+		SysUser sysUser = new SysUser();
+		sysUser.setUserId(userSignCertDTO.getUserId());
+		sysUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+		sysUser.setBankPhone(userSignCertDTO.getBankPhone());
+		sysUser.setBankName(userSignCertDTO.getBankName());
+		sysUserService.updateById(sysUser);
+
+		List<SysUserSub> queryUserSubs = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
+				.eq(SysUserSub::getUserId, userSignCertDTO.getUserId()));
+		queryUserSubs.forEach(queryUserSub -> {
+			SysUserSub updateUserSub = new SysUserSub();
+			updateUserSub.setId(queryUserSub.getId());
+			updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+			updateUserSub.setBankPhone(userSignCertDTO.getBankPhone());
+			updateUserSub.setBankName(userSignCertDTO.getBankName());
+			updateUserSub.setUpdateTime(LocalDateTime.now());
+			updateUserSub.setUpdateUser(SecurityUtils.getUser().getId());
+			sysUserSubService.updateById(updateUserSub);
+		});
+	}
+
 	/**
 	 * 保存用户基础信息
 	 *
@@ -201,6 +230,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			updateUser.setIdCardNumber(userSignCertDTO.getIdCardNumber());
 			updateUser.setBankPhone(userSignCertDTO.getBankPhone());
 			updateUser.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+			updateUser.setBankName(userSignCertDTO.getBankName());
 			updateUser.setUpdateTime(LocalDateTime.now());
 			sysUserService.updateById(updateUser);
 		}
@@ -234,6 +264,8 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			updateUserSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
 			updateUserSub.setGigChannel(gigChannel);
 			updateUserSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
+			updateUserSub.setBankPhone(userSignCertDTO.getBankPhone());
+			updateUserSub.setBankName(userSignCertDTO.getBankName());
 			updateUserSub.setUpdateTime(LocalDateTime.now());
 			updateUserSub.setUpdateUser(operateUserId);
 			sysUserSubService.updateById(updateUserSub);
@@ -247,6 +279,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 			userSub.setCallbackStatus(GigCallBackStatus.NOT_SUBMIT);
 			userSub.setBankCardNumber(userSignCertDTO.getBankCardNumber());
 			userSub.setBankPhone(userSignCertDTO.getBankPhone());
+			userSub.setBankName(userSignCertDTO.getBankName());
 			userSub.setCreateUser(operateUserId);
 			userSub.setCreateTime(LocalDateTime.now());
 			sysUserSubService.save(userSub);
@@ -816,7 +849,7 @@ public class SysUserSignCertServiceImpl implements SysUserSignCertService {
 		userInfoModel.setPayChannel(PayChannel.BANK_CARD);
 		userInfoModel.setBankPhone(userSub.getBankPhone());
 		userInfoModel.setBankCard(userSub.getBankCardNumber());
-		userInfoModel.setBankName("交通银行"); // TODO
+		userInfoModel.setBankName(userSub.getBankName());
 		userInfoModel.setUploadFaceID(uploadFaceID);
 		userInfoModel.setIdCardFront(StrUtil.isBlank(userSub.getIdCardFrontUrl())
 				? userExtRecord.getIdCardFrontUrl() : userSub.getIdCardFrontUrl().startsWith("https")