Browse Source

feat: 任务类型配置-校验

李学松 2 years ago
parent
commit
ee4a761f15

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

@@ -30,6 +30,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
 import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmAdRecord;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionRule;
 import com.qunzhixinxi.hnqz.admin.api.vo.PersonalScoreRecordVO;
 import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
@@ -3776,6 +3777,18 @@ public class ApiController {
 					}
 				}
 
+				// 查询任务类型启用状态
+				List<WmTaskSubmissionPercentRule> rules = wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+						.eq(WmTaskSubmissionPercentRule::getDeptId, sysUser.getDeptId())
+						.eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG));
+				if (CollUtil.isEmpty(rules)) {
+					throw new RuntimeException("当前企业未开启该任务!");
+				}
+				String[] taskTypeIds = rules.get(0).getRule().getTaskTypeIds();
+				if (!ArrayUtil.contains(taskTypeIds, wmTask.getTaskTypeId())) {
+					throw new RuntimeException("当前企业未开启该任务!");
+				}
+
 				WmTaskType _baseTaskType = wmTaskTypeService.getById(wmTask.getTaskTypeId());
 
 				// 校验任务类型是否启用

+ 14 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmUserSignServiceImpl.java

@@ -3,11 +3,13 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.copier.CopyOptions;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionRule;
 import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
 import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
@@ -106,6 +108,18 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
 		}
 		wmUserSign.setTaskTypeId(taskTypeId);
 
+		// 查询任务类型启用状态
+		List<WmTaskSubmissionPercentRule> taskTypeRules = wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+				.eq(WmTaskSubmissionPercentRule::getDeptId, sysU.getDeptId())
+				.eq(WmTaskSubmissionPercentRule::getSubCategory, UpmsType.TaskSubCategory2.TASK_TYPE_CONFIG));
+		if (CollUtil.isEmpty(taskTypeRules)) {
+			throw new RuntimeException("当前企业未开启该任务!");
+		}
+		String[] taskTypeIds = taskTypeRules.get(0).getRule().getTaskTypeIds();
+		if (!ArrayUtil.contains(taskTypeIds, taskTypeId)) {
+			throw new RuntimeException("当前企业未开启该任务!");
+		}
+
 		// 校验任务类型是否启用
 		WmTaskType _baseTaskType = wmTaskTypeService.getById(taskTypeId);
 		WmTaskType queryTaskType = new WmTaskType();