Explorar o código

feat: 任务类型百分比限制-表结构、实体

李学松 %!s(int64=2) %!d(string=hai) anos
pai
achega
ddfc01c24a

+ 21 - 0
db/v2.0/221222.sql

@@ -0,0 +1,21 @@
+-- 任务提交百分比限制规则表
+create table wm_task_sub_percent_rule
+(
+    rule_id       int(20) auto_increment comment '规则ID'
+        primary key,
+    dept_id       int(20)                            not null comment '企业id',
+    sub_cate      varchar(32)                        not null comment '次级分类',
+    task_type_ids varchar(64)                        null comment '任务类型id',
+    sub_rule      json                               null comment '规则',
+    opt_flag      varchar(32)                        not null comment '操作标记',
+    create_time   datetime default CURRENT_TIMESTAMP not null comment '创建时间',
+    update_time   datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间'
+)
+    comment '任务提交百分比限制规则表' charset = utf8mb4;
+
+create index idx_dept_id
+    on wm_task_sub_percent_rule (dept_id);
+
+create index idx_sub_cate
+    on wm_task_sub_percent_rule (sub_cate);
+

+ 103 - 0
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskSubmissionPercentRule.java

@@ -0,0 +1,103 @@
+package com.qunzhixinxi.hnqz.admin.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
+import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
+import lombok.Data;
+import lombok.ToString;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 任务提交规则
+ *
+ * @author lixuesong
+ * @version 1.0.0
+ * @date 2022-12-22 14:43
+ */
+@Data
+@ToString
+@TableName(value = "wm_task_sub_percent_rule", autoResultMap = true)
+public class WmTaskSubmissionPercentRule extends Model<WmTaskSubmissionPercentRule> {
+
+	private static final long serialVersionUID = -2370239048359430285L;
+
+	/**
+	 * 提交规则id
+	 */
+	@TableId(value = "rule_id", type = IdType.AUTO)
+	private Integer ruleId;
+
+	/**
+	 * 企业id
+	 */
+	private Integer deptId;
+
+	/**
+	 * 二级分类
+	 */
+	@TableField(value = "sub_cate")
+	private UpmsType.TaskSubCategory subCategory;
+
+	/**
+	 * 任务类型id列表
+	 */
+	private Integer[] taskTypeIds;
+
+	/**
+	 * 任务规则
+	 */
+	@TableField(value = "sub_rule", typeHandler = FastjsonTypeHandler.class)
+	private List<PercentRule> rule;
+
+	/**
+	 * 可操作标记
+	 */
+	private CommonFlag.OptFlag optFlag;
+
+	/**
+	 * 创建时间
+	 */
+	private LocalDateTime createTime;
+
+	/**
+	 * 创建时间
+	 */
+	private LocalDateTime updateTime;
+
+
+	/**
+	 * 提交规则实体
+	 */
+	@Data
+	@ToString
+	public static class PercentRule implements Serializable {
+
+		private static final long serialVersionUID = -9205151158528196927L;
+
+		/**
+		 * 任务类型列表
+		 */
+		private Integer[] taskTypeIds;
+
+		/**
+		 * 积分包值:积分包值大于这个值的包,才限制这个规则
+		 */
+		private Integer startScore;
+
+		/**
+		 * 百分比:达到要求的积分包,上述所选的任务总完成积分值不得大于积分包值*百分比
+		 */
+		private Float limitPercent;
+	}
+
+
+}