Просмотр исходного кода

feat: 任务类型百分比限制-校验1

李学松 2 лет назад
Родитель
Сommit
e62d3f97d2

+ 10 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmTaskSubmissionPercentRuleService.java

@@ -2,6 +2,8 @@ package com.qunzhixinxi.hnqz.admin.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
+import com.qunzhixinxi.hnqz.common.core.util.R;
 
 /**
  * 任务提交百分比规则
@@ -10,4 +12,12 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
  * @date 2022/12/22 15:32
  */
 public interface WmTaskSubmissionPercentRuleService extends IService<WmTaskSubmissionPercentRule> {
+
+	/**
+	 * 校验任务百分比限制规则(达到要求的积分包,【任务配置】-【百分比限制】所选的任务总完成积分值不得大于积分包值*百分比)
+	 *
+	 * @param scorePackage
+	 * @return
+	 */
+	R<?> checkPercentRule(WmScorePackage scorePackage, Integer deptId);
 }

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

@@ -1,11 +1,21 @@
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
+import com.qunzhixinxi.hnqz.admin.entity.WmTask;
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskSubmissionPercentRuleMapper;
+import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
+import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
+import com.qunzhixinxi.hnqz.common.core.util.R;
+import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * 任务提交百分比规则
  *
@@ -13,7 +23,37 @@ import org.springframework.stereotype.Service;
  * @date 2022/12/22 15:35
  */
 @Service
+@AllArgsConstructor
 public class WmTaskSubmissionPercentRuleServiceImpl
 		extends ServiceImpl<WmTaskSubmissionPercentRuleMapper, WmTaskSubmissionPercentRule>
 		implements WmTaskSubmissionPercentRuleService {
+
+	private final WmTaskService wmTaskService;
+
+	/**
+	 * 校验任务百分比限制规则(达到要求的积分包,【任务配置】-【百分比限制】所选的任务总完成积分值不得大于积分包值*百分比)
+	 *
+	 * @param scorePackage
+	 * @return
+	 */
+	@Override
+	public R<?> checkPercentRule(WmScorePackage scorePackage, Integer deptId) {
+
+		// 查询配置的百分比规则
+		List<WmTaskSubmissionPercentRule> percentRules = this.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+				.eq(WmTaskSubmissionPercentRule::getDeptId, deptId)
+				.eq(WmTaskSubmissionPercentRule::getOptFlag, CommonFlag.OptFlag.OK));
+
+		percentRules.forEach(percentRule -> {
+			List<WmTask> wmTaskList = wmTaskService.list(Wrappers.<WmTask>lambdaQuery()
+					.eq(WmTask::getRealFlag, "0")
+					.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val())
+					.in(WmTask::getScorePackageId, scorePackage.getId())
+					.in(WmTask::getTaskTypeId, "15", "30")
+					.ne(WmTask::getTaskStatus, "4"));
+		});
+		// TODO
+
+		return null;
+	}
 }

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

@@ -30,7 +30,7 @@ import java.util.stream.Collectors;
 
 /**
 * @author snows
-* @description 针对表【wm_dept_task_type(任务类型二级分类表)】的数据库操作Service实现
+* @description 针对表【wm_task_type_sub_cate2(任务类型二级分类表)】的数据库操作Service实现
 * @createDate 2022-12-22 23:57:19
 */
 @Service