Browse Source

Merge branch 'feat-20240129-signagreement'

lixuesong 1 year ago
parent
commit
c34477e422

+ 20 - 14
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -985,11 +985,23 @@ public class ApiController {
 			}
 
 			// 签署协议信息
-			int honestAgreementCount = sysUserService.count(Wrappers.<SysUser>lambdaQuery()
-					.eq(SysUser::getUsername, sysU.getUsername())
-					.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val())
-					.like(SysUser::getSignAgreement, "HONEST_AGREEMENT"));
-			mapOne.put("signHonestAgreement", honestAgreementCount > 0);
+			Set<String> agreementSet = sysUserList.stream()
+					.filter(userVO -> JSONUtil.isJsonArray(userVO.getSignAgreement()))
+					.flatMap(userVO -> JSONUtil.parseArray(userVO.getSignAgreement()).stream())
+					.map(o -> JSONUtil.parseObj(o).getStr("agreementType"))
+					.collect(Collectors.toSet());
+			mapOne.put("signedAgreement", agreementSet);
+//			int honestAgreementCount = sysUserService.count(Wrappers.<SysUser>lambdaQuery()
+//					.eq(SysUser::getUsername, sysU.getUsername())
+//					.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val())
+//					.like(SysUser::getSignAgreement, SignAgreementDTO.SignAgreementType.HONEST_AGREEMENT.getType()));
+//			mapOne.put("signHonestAgreement", honestAgreementCount > 0);
+//			// 签署协议信息V2
+//			int honestAgreementV2Count = sysUserService.count(Wrappers.<SysUser>lambdaQuery()
+//					.eq(SysUser::getUsername, sysU.getUsername())
+//					.eq(SysUser::getDelFlag, DelEnum.NOT_DEL.val())
+//					.like(SysUser::getSignAgreement, SignAgreementDTO.SignAgreementType.HONEST_AGREEMENT_V2.getType()));
+//			mapOne.put("signHonestAgreementV2", honestAgreementV2Count > 0);
 
 			// 超60周岁是否提醒
 			Map<String, String> checkResult = sysUserService.checkSixtyYearsOld(sysU);
@@ -4152,19 +4164,13 @@ public class ApiController {
 
 
 		for (SysUser user : userList) {
-			List<Object> signAgreementDTOList = new ArrayList<>();
+			Set<Object> signAgreementDTOList = new HashSet<>();
 			if (StrUtil.isBlank(user.getSignAgreement())) {
-				signAgreementDTOList.add(signAgreementDTO);
+				signAgreementDTOList.add(JSONUtil.parseObj(signAgreementDTO));
 			} else {
 				JSONArray agreements = JSONUtil.parseArray(user.getSignAgreement());
+				signAgreementDTOList.add(JSONUtil.parseObj(signAgreementDTO));
 				signAgreementDTOList.addAll(agreements);
-				// 如果已存在该协议,则不再重复保存
-				boolean anyMatch = agreements.stream()
-						.map(o -> BeanUtil.toBean(o, SignAgreementDTO.class))
-						.anyMatch(dto -> SignAgreementDTO.SignAgreementType.HONEST_AGREEMENT.equals(dto.getAgreementType()));
-				if (!anyMatch) {
-					signAgreementDTOList.add(signAgreementDTO);
-				}
 			}
 			sysUserService.update(Wrappers.<SysUser>lambdaUpdate()
 					.eq(SysUser::getUserId, user.getUserId())

+ 2 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/dto/SignAgreementDTO.java

@@ -38,7 +38,8 @@ public class SignAgreementDTO implements Serializable {
     @Getter
     @AllArgsConstructor
     public enum SignAgreementType {
-        HONEST_AGREEMENT("HONEST_AGREEMENT", "廉洁协议");
+        HONEST_AGREEMENT("HONEST_AGREEMENT", "廉洁协议"),
+        HONEST_AGREEMENT_V2("HONEST_AGREEMENT_V2", "廉洁协议V2");
 
         /**
          * 类型