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

fix: 1.关联积分包分配完毕,不应该下拉列表显示;
2.有效任务类型 没有做提交限制.

lixuesong 1 год назад
Родитель
Сommit
1beb03395b

+ 1 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDeptTaskController.java

@@ -96,7 +96,7 @@ public class WmDeptTaskController {
                         // 是否超过企业任务上限
                         boolean deptLimitFlag = BigDecimal.valueOf(tasksScore)
                                 .compareTo(BigDecimal.valueOf(wmScorePackage.getScore())
-                                        .multiply(wmScorePackage.getEntTaskLimit()).divide(new BigDecimal("100"))) <= 0;
+                                        .multiply(wmScorePackage.getEntTaskLimit()).divide(new BigDecimal("100"))) < 0;
                         // 同时满足以下条件:
                         // 1.可分配积分值大于0的
                         // 2.没有超过企业任务上限

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

@@ -9,6 +9,7 @@ import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
+import com.qunzhixinxi.hnqz.admin.entity.WmScoreTaskType;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
@@ -20,6 +21,7 @@ import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
 import com.qunzhixinxi.hnqz.admin.service.WmDeptTaskService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
+import com.qunzhixinxi.hnqz.admin.service.WmScoreTaskTypeService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskSubmissionPercentRuleService;
@@ -54,6 +56,7 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
     private final WmTaskContentService wmTaskContentService;
     private final WmTaskService wmTaskService;
     private final WmTaskTypeService wmTaskTypeService;
+    private final WmScoreTaskTypeService wmScoreTaskTypeService;
     private final Sequence taskSequence;
     private final RedisTemplate redisTemplate;
 
@@ -80,6 +83,12 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
             throw new RuntimeException("当前企业未开启该任务!");
         }
 
+        int scoreTaskTypeCount = wmScoreTaskTypeService.count(Wrappers.<WmScoreTaskType>lambdaQuery()
+                .eq(WmScoreTaskType::getScoreId, params.getPackageId())
+                .eq(WmScoreTaskType::getTaskTypeId, taskTypeId));
+        if (scoreTaskTypeCount <= 0) {
+            throw new RuntimeException("有效任务类型未启用该任务!");
+        }
 
         // 查询积分包
         WmScorePackage scorePackage = wmScorePackageService.getById(params.getPackageId());
@@ -162,6 +171,13 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
             throw new RuntimeException("当前企业未开启该任务!");
         }
 
+        int scoreTaskTypeCount = wmScoreTaskTypeService.count(Wrappers.<WmScoreTaskType>lambdaQuery()
+                .eq(WmScoreTaskType::getScoreId, params.getPackageId())
+                .eq(WmScoreTaskType::getTaskTypeId, taskTypeId));
+        if (scoreTaskTypeCount <= 0) {
+            throw new RuntimeException("有效任务类型未启用该任务!");
+        }
+
         // 查询积分包
         WmScorePackage scorePackage = wmScorePackageService.getById(params.getPackageId());
         // 查询任务规则积分
@@ -256,6 +272,13 @@ public class WmDeptTaskServiceImpl implements WmDeptTaskService {
             throw new RuntimeException("当前企业未开启该任务!");
         }
 
+        int scoreTaskTypeCount = wmScoreTaskTypeService.count(Wrappers.<WmScoreTaskType>lambdaQuery()
+                .eq(WmScoreTaskType::getScoreId, params.getPackageId())
+                .eq(WmScoreTaskType::getTaskTypeId, taskTypeId));
+        if (scoreTaskTypeCount <= 0) {
+            throw new RuntimeException("有效任务类型未启用该任务!");
+        }
+
         // 查询积分包
         WmScorePackage scorePackage = wmScorePackageService.getById(params.getPackageId());
         // 查询任务规则积分