Bladeren bron

fix: 任务校验

shc 2 jaren geleden
bovenliggende
commit
cac4da15ab

+ 2 - 1
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskSubmissionRule.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
 import lombok.Data;
@@ -49,7 +50,7 @@ public class WmTaskSubmissionRule implements Serializable {
 	 * 任务规则
 	 */
 	@TableField(value = "sub_rule", typeHandler = FastjsonTypeHandler.class)
-	private List<SubmissionRule> rule;
+	private List<WmTaskSubmissionRule.SubmissionRule> rule;
 
 	/**
 	 * 可操作标记

+ 1 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskTypeSubCategory.java

@@ -33,6 +33,7 @@ public class WmTaskTypeSubCategory implements Serializable {
 	/**
 	 * 任务类型id
 	 */
+	@TableField(value = "type_id")
 	private Integer taskTypeId;
 
 	/**

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

@@ -16,6 +16,8 @@
  */
 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.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -712,7 +714,10 @@ public class WmTaskContentServiceImpl extends ServiceImpl<WmTaskContentMapper, W
 		int betweenDay = 0;
 
 		// 获取限制
-		for (WmTaskSubmissionRule.SubmissionRule r : rules) {
+		for (int i = 0, size = rules.size(); i < size; i++) {
+			Map<String, Object> map = (Map<String, Object>) rules.get(i);
+			WmTaskSubmissionRule.SubmissionRule r = BeanUtil.mapToBean(map, WmTaskSubmissionRule.SubmissionRule.class, true, new CopyOptions());
+
 			if ("举办次数上限".equals(r.getManual())) {
 				betweenDay = (int) r.getFrequency().get(0).get("quantity");
 			}