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

feat: pc端点认证更新userSub状态

lixuesong 3 жил өмнө
parent
commit
a4b0a359a7

+ 20 - 22
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/SysUserServiceImpl.java

@@ -613,31 +613,29 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
 		baseMapper.updateById(sysUser);
 
-		// 更新userSub
-		for (String subType : input.getSubList()) {
-			if (!subType.equals(String.valueOf(GigTypeEnum.REN_LI_JIA.getCode()))) {
-				continue;
-			}
-			GigTypeEnum gigTypeEnum = GigTypeEnum.resolve(Integer.parseInt(subType));
-			Integer certStatus = GigTypeEnum.REN_LI_JIA.equals(gigTypeEnum) ?
-					sysUser.getRljCertStatus() : sysUser.getCertStatus();
+		if (ArrayUtil.contains(input.getSubList(), String.valueOf(GigTypeEnum.REN_LI_JIA.getCode()))) {
+			// 更新人力家userSub
 			SysUserSub userSub = sysUserSubMapper.selectOne(Wrappers.<SysUserSub>lambdaQuery()
 					.eq(SysUserSub::getUserId, sysUser.getUserId())
-					.eq(SysUserSub::getGigType, gigTypeEnum));
-			SysUserSub updateUserSub = new SysUserSub();
-			updateUserSub.setId(userSub.getId());
-			updateUserSub.setCertStatus(certStatus);
-			// 发起成功或认证成功,才修改CallbackStatus状态
-			if (RenlijiaCertStatus.CER_STATUS_1.getCode() == certStatus
-					|| RenlijiaCertStatus.CER_STATUS_3.getCode() == certStatus) {
-				updateUserSub.setCallbackStatus(GigCallBackStatus.IN_PROGRESS);
-			} else {
-				updateUserSub.setCallbackStatus(GigCallBackStatus.RETURNED);
+					.eq(SysUserSub::getGigType, GigTypeEnum.REN_LI_JIA));
+			if (userSub != null) {
+				SysUserSub updateUserSub = new SysUserSub();
+				updateUserSub.setId(userSub.getId());
+				updateUserSub.setCertStatus(Optional.ofNullable(sysUser.getRljCertStatus())
+						.orElseGet(RenlijiaCertStatus.CER_STATUS_4::getCode));
+				// 发起成功或认证成功,才修改CallbackStatus状态
+				if (sysUser.getRljCertStatus() != null
+						&& (RenlijiaCertStatus.CER_STATUS_1.getCode() == sysUser.getRljCertStatus()
+						|| RenlijiaCertStatus.CER_STATUS_3.getCode() == sysUser.getRljCertStatus())) {
+					updateUserSub.setCallbackStatus(GigCallBackStatus.IN_PROGRESS);
+				} else {
+					updateUserSub.setCallbackStatus(GigCallBackStatus.RETURNED);
+				}
+				updateUserSub.setCertRemark(resultMsg);
+				updateUserSub.setUpdateTime(LocalDateTime.now());
+				updateUserSub.setUpdateUser(0);
+				sysUserSubMapper.updateById(updateUserSub);
 			}
-			updateUserSub.setCertRemark(resultMsg);
-			updateUserSub.setUpdateTime(LocalDateTime.now());
-			updateUserSub.setUpdateUser(0);
-			sysUserSubMapper.updateById(updateUserSub);
 		}
 
 		return R.ok(null, resultMsg.substring(0, resultMsg.length() - 1));