Browse Source

feat: 任务类型百分比限制CRUD

李学松 2 năm trước cách đây
mục cha
commit
d5c09e9223

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

@@ -5,7 +5,6 @@ create table wm_task_sub_percent_rule
         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 '创建时间',

+ 15 - 9
hnqz-upms/hnqz-upms-api/src/main/java/com/qunzhixinxi/hnqz/admin/api/entity/WmTaskSubmissionPercentRule.java

@@ -11,6 +11,10 @@ import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
 import lombok.Data;
 import lombok.ToString;
 
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.time.LocalDateTime;
 import java.util.List;
@@ -39,24 +43,23 @@ public class WmTaskSubmissionPercentRule extends Model<WmTaskSubmissionPercentRu
 	/**
 	 * 企业id
 	 */
+	@NotNull(message = "deptId不能为空")
 	private Integer deptId;
 
 	/**
 	 * 二级分类
 	 */
+	@NotNull(message = "subCategory不能为空")
 	@TableField(value = "sub_cate")
 	private UpmsType.TaskSubCategory subCategory;
 
-	/**
-	 * 任务类型id列表
-	 */
-	private Integer[] taskTypeIds;
-
 	/**
 	 * 任务规则
 	 */
+	@Valid
+	@NotNull(message = "rule不能为空")
 	@TableField(value = "sub_rule", typeHandler = FastjsonTypeHandler.class)
-	private List<PercentRule> rule;
+	private PercentRule rule;
 
 	/**
 	 * 可操作标记
@@ -81,22 +84,25 @@ public class WmTaskSubmissionPercentRule extends Model<WmTaskSubmissionPercentRu
 	@ToString
 	public static class PercentRule implements Serializable {
 
-		private static final long serialVersionUID = -9205151158528196927L;
+		private static final long serialVersionUID = -6254889506697833544L;
 
 		/**
 		 * 任务类型列表
 		 */
-		private Integer[] taskTypeIds;
+		@NotEmpty(message = "taskTypeIds不能为空")
+		private String[] taskTypeIds;
 
 		/**
 		 * 积分包值:积分包值大于这个值的包,才限制这个规则
 		 */
+		@NotNull(message = "startScore不能为空")
 		private Integer startScore;
 
 		/**
 		 * 百分比:达到要求的积分包,上述所选的任务总完成积分值不得大于积分包值*百分比
 		 */
-		private Float limitPercent;
+		@NotBlank(message = "limitPercent不能为空")
+		private String limitPercent;
 	}
 
 

+ 39 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskSubmissionPercentRuleController.java

@@ -1,14 +1,16 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSubmissionPercentRule;
 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.http.MediaType;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * 任务提交百分比规则
@@ -23,14 +25,46 @@ public class WmTaskSubmissionPercentRuleController {
 
 	private final WmTaskSubmissionPercentRuleService wmTaskSubmissionPercentRuleService;
 
+	/**
+	 * 获取企业的限制规则
+	 *
+	 * @param deptId
+	 * @return
+	 */
+	@GetMapping
+	public R<List<WmTaskSubmissionPercentRule>> listDeptRules(@RequestParam(value = "deptId") Integer deptId) {
+		return R.ok(wmTaskSubmissionPercentRuleService.list(Wrappers.<WmTaskSubmissionPercentRule>lambdaQuery()
+				.eq(WmTaskSubmissionPercentRule::getDeptId, deptId)
+				.eq(WmTaskSubmissionPercentRule::getOptFlag, CommonFlag.OptFlag.OK)));
+	}
+
 	/**
 	 * 保存
 	 *
+	 * @param rule
 	 * @return
 	 */
 	@PostMapping
-	public R<Boolean> save(@RequestBody WmTaskSubmissionPercentRule rule) {
+	public R<Boolean> save(@Validated @RequestBody WmTaskSubmissionPercentRule rule) {
+		// 默认正常
+		rule.setOptFlag(CommonFlag.OptFlag.OK);
+
 		return R.ok(wmTaskSubmissionPercentRuleService.save(rule));
 	}
 
+	/**
+	 * 更新
+	 *
+	 * @param rule
+	 * @return
+	 */
+	@PutMapping
+	public R<Boolean> update(@RequestBody WmTaskSubmissionPercentRule rule) {
+		if (rule.getRuleId() == null) {
+			return R.failed("ruleId不能为空");
+		}
+
+		return R.ok(wmTaskSubmissionPercentRuleService.updateById(rule));
+	}
+
 }