Ver Fonte

feat: 认证前置功能开关-校验修改

lixuesong há 1 ano atrás
pai
commit
f24ea6496d

+ 17 - 12
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -77,6 +77,7 @@ import com.qunzhixinxi.hnqz.admin.entity.input.WmWkAlbumApiInput;
 import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
 import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskTypeVO;
 import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
+import com.qunzhixinxi.hnqz.admin.enums.DeptPermissionEnum;
 import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
 import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
 import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
@@ -2290,18 +2291,22 @@ public class ApiController {
 			return R.failed("积分包已领取");
 		}
 
-		// 校验是否已经认证
-		List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
-				.eq(SysUserSub::getDeptId, userVO.getDeptId())
-				.eq(SysUserSub::getUserId, userId));
-		if (CollUtil.isEmpty(userSubList)) {
-			return R.ok(1, "该积分包需要认证成功后才能领取,请点击“去认证”完成认证");
-		}
-		// 该企业下只要有一个渠道是 “已核身/已认证”就可以领包
-		boolean certNoMatch = userSubList.stream().noneMatch(userSub -> Arrays.asList(1, 15).contains(userSub.getCertStatus())
-				|| (userSub.getCertStatus().equals(2) && GigCallBackStatus.IN_PROGRESS.equals(userSub.getCallbackStatus())));
-		if (certNoMatch) {
-			return R.ok(1, "该积分包需要认证成功后才能领取,请点击“去认证”完成认证");
+		// 校验企业是否开启了认证前置, 开启后则校验认证前置,否则不校验
+		SysDept sysDept = sysDeptService.getById(userVO.getDeptId());
+		if (ArrayUtil.contains(sysDept.getDeptPermissions(), DeptPermissionEnum.PRE_CERT.getVal())) {
+			// 校验是否已经认证
+			List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
+					.eq(SysUserSub::getDeptId, userVO.getDeptId())
+					.eq(SysUserSub::getUserId, userId));
+			if (CollUtil.isEmpty(userSubList)) {
+				return R.ok(1, "该积分包需要认证成功后才能领取,请点击“去认证”完成认证");
+			}
+			// 该企业下只要有一个渠道是 “已核身/已认证”就可以领包
+			boolean certNoMatch = userSubList.stream().noneMatch(userSub -> Arrays.asList(1, 15).contains(userSub.getCertStatus())
+					|| (userSub.getCertStatus().equals(2) && GigCallBackStatus.IN_PROGRESS.equals(userSub.getCallbackStatus())));
+			if (certNoMatch) {
+				return R.ok(1, "该积分包需要认证成功后才能领取,请点击“去认证”完成认证");
+			}
 		}
 
 		// 封装结果

+ 14 - 6
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/DeptPermissionEnum.java

@@ -1,28 +1,36 @@
 package com.qunzhixinxi.hnqz.admin.enums;
 
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
 /**
  * 部门权限定义
  *
  * @author lixuesong
  * @date 2021年05月24日 10:24
  */
+@Getter
+@AllArgsConstructor
 public enum DeptPermissionEnum {
 
 	/**
 	 * 部门权限类型:0:导出
 	 */
-	DEPT_EXPORT("0"),
-	SMS("1"),
-	SETTLEMENT_PROOF("2");
+	DEPT_EXPORT("0", "导出"),
+	SMS("1", "短信通知"),
+	SETTLEMENT_PROOF("2", "请款单"),
+	ASSESSMENT("3", "合规测评"),
+	PRE_CERT("4", "认证前置");
 
 	/**
 	 * 权限类型
 	 */
 	private String val;
 
-	DeptPermissionEnum(String val) {
-		this.val = val;
-	}
+	/**
+	 * 描述
+	 */
+	private final String description;
 
 	public String val() {
 		return this.val;