From ffb365d67f1336fda08710f1cf7ae95b6c2d8952 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 06 三月 2024 11:34:46 +0800
Subject: [PATCH] 违约规则完善
---
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/Rule.java | 18 ++++++
ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java | 37 ++++++++++++
ycl-pojo/src/main/java/com/ycl/platform/domain/query/DefaultRuleQuery.java | 21 +++++++
ycl-server/src/main/java/com/ycl/platform/controller/DefaultRuleController.java | 11 +++
ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleSetForm.java | 22 +++++++
ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleForm.java | 7 --
ycl-server/src/main/java/com/ycl/platform/service/DefaultRuleService.java | 8 ++
7 files changed, 115 insertions(+), 9 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleForm.java
index 497ddbf..52c5b19 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleForm.java
@@ -29,17 +29,12 @@
@ApiModelProperty("瑙勫垯鍚嶇О")
private String ruleName;
- @NotBlank(message = "瑙勫垯璇︽儏JSON涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @NotBlank(message = "瑙勫垯璁剧疆涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("瑙勫垯璇︽儏JSON")
private String ruleDetail;
- @NotBlank(message = "瑙勫垯鎻忚堪涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("瑙勫垯鎻忚堪")
private String ruleDesc;
-
- @NotBlank(message = "瑙勫垯鐘舵�侊細鍚敤銆佹湭鍚敤涓嶈兘涓虹┖", groups = {Add.class, Update.class})
- @ApiModelProperty("瑙勫垯鐘舵�侊細鍚敤銆佹湭鍚敤")
- private String ruleStatus;
public static DefaultRule getEntityByForm(@NonNull DefaultRuleForm form, DefaultRule entity) {
if(entity == null) {
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleSetForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleSetForm.java
new file mode 100644
index 0000000..9b43579
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleSetForm.java
@@ -0,0 +1,22 @@
+package com.ycl.platform.domain.form;
+
+import lombok.Data;
+
+/**
+ * 鍚敤鍋滅敤-杩濈害瑙勫垯
+ *
+ * @author锛歺p
+ * @date锛�2024/3/6 11:16
+ */
+@Data
+public class DefaultRuleSetForm {
+
+ private Integer id;
+
+ /**
+ * true 鍚敤
+ * false 鍋滅敤
+ */
+ private Boolean flag;
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DefaultRuleQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DefaultRuleQuery.java
index ea0f2a1..306e0d8 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DefaultRuleQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DefaultRuleQuery.java
@@ -1,6 +1,9 @@
package com.ycl.platform.domain.query;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.platform.base.AbsQuery;
+
+import java.util.Date;
import java.util.List;
import org.springframework.lang.NonNull;
import jakarta.validation.constraints.NotBlank;
@@ -19,5 +22,23 @@
@Accessors(chain = true)
@ApiModel(value = "DefaultRule鏌ヨ", description = "杩濈害瑙勫垯鏌ヨ")
public class DefaultRuleQuery extends AbsQuery {
+
+ /**
+ * 瑙勫垯鍚嶇О
+ */
+ private String ruleName;
+
+ /**
+ * 寮�濮嬫椂闂�
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date start;
+
+ /**
+ * 缁撴潫鏃堕棿
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date end;
+
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/Rule.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/Rule.java
new file mode 100644
index 0000000..7ada223
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/Rule.java
@@ -0,0 +1,18 @@
+package com.ycl.platform.domain.vo;
+
+import lombok.Data;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/3/6 10:49
+ */
+@Data
+public class Rule {
+
+ /** 瓒呮椂鏈鐞嗗伐鍗曟暟 */
+ private Integer overTime;
+
+ /** 宸ュ崟澶勭悊澶辫触鏁� */
+ private Integer failNum;
+
+}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DefaultRuleController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DefaultRuleController.java
index fdb208c..6fac87c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/DefaultRuleController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/DefaultRuleController.java
@@ -1,5 +1,6 @@
package com.ycl.platform.controller;
+import com.ycl.platform.domain.form.DefaultRuleSetForm;
import com.ycl.system.domain.group.Update;
import com.ycl.system.domain.group.Add;
import org.springframework.validation.annotation.Validated;
@@ -43,6 +44,12 @@
return defaultRuleService.update(form);
}
+ @PostMapping("/set")
+ @ApiOperation(value = "鍚敤/鍋滅敤", notes = "鍚敤/鍋滅敤")
+ public Result set(@RequestBody DefaultRuleSetForm form) {
+ return defaultRuleService.set(form);
+ }
+
@DeleteMapping("/{id}")
@ApiOperation(value = "ID鍒犻櫎", notes = "ID鍒犻櫎")
public Result removeById(@PathVariable("id") String id) {
@@ -55,9 +62,9 @@
return defaultRuleService.remove(ids);
}
- @GetMapping("/page")
+ @PostMapping("/page")
@ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉")
- public Result page(DefaultRuleQuery query) {
+ public Result page(@RequestBody DefaultRuleQuery query) {
return defaultRuleService.page(query);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/DefaultRuleService.java b/ycl-server/src/main/java/com/ycl/platform/service/DefaultRuleService.java
index 85c5016..b6fc9f7 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/DefaultRuleService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/DefaultRuleService.java
@@ -2,6 +2,7 @@
import com.ycl.platform.domain.entity.DefaultRule;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.platform.domain.form.DefaultRuleSetForm;
import com.ycl.system.Result;
import com.ycl.platform.domain.form.DefaultRuleForm;
import com.ycl.platform.domain.query.DefaultRuleQuery;
@@ -62,4 +63,11 @@
* @return
*/
Result all();
+
+ /**
+ * 鍚敤/鍋滅敤
+ * @param form
+ * @return
+ */
+ Result set(DefaultRuleSetForm form);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java
index fe9ffe7..3b297fc 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java
@@ -1,6 +1,9 @@
package com.ycl.platform.service.impl;
+import com.ycl.exception.ServiceException;
import com.ycl.platform.domain.entity.DefaultRule;
+import com.ycl.platform.domain.entity.YwUnit;
+import com.ycl.platform.domain.form.DefaultRuleSetForm;
import com.ycl.platform.mapper.DefaultRuleMapper;
import com.ycl.platform.service.DefaultRuleService;
import com.ycl.system.Result;
@@ -9,19 +12,23 @@
import com.ycl.platform.domain.vo.DefaultRuleVO;
import com.ycl.platform.domain.query.DefaultRuleQuery;
import java.util.List;
-import org.apache.commons.lang3.StringUtils;
+
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
+import com.ycl.utils.DateUtils;
import org.springframework.stereotype.Service;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.ArrayList;
+import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import lombok.RequiredArgsConstructor;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
/**
* 杩濈害瑙勫垯 鏈嶅姟瀹炵幇绫�
@@ -43,6 +50,7 @@
@Override
public Result add(DefaultRuleForm form) {
DefaultRule entity = DefaultRuleForm.getEntityByForm(form, null);
+ entity.setRuleStatus("鏈惎鐢�");
if(baseMapper.insert(entity) > 0) {
return Result.ok("娣诲姞鎴愬姛");
}
@@ -103,6 +111,11 @@
public Result page(DefaultRuleQuery query) {
IPage<DefaultRule> page = new LambdaQueryChainWrapper<>(baseMapper)
+ .like(StringUtils.hasText(query.getRuleName()), DefaultRule::getRuleName, query.getRuleName())
+ .between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()),
+ DefaultRule::getCreateTime,
+ DateUtils.getDayStart(query.getStart()),
+ DateUtils.getDayEnd(query.getEnd()))
.orderByDesc(DefaultRule::getCreateTime)
.page(PageUtil.getPage(query, DefaultRule.class));
@@ -142,4 +155,26 @@
.collect(Collectors.toList());
return Result.ok().data(vos);
}
+
+ @Override
+ public Result set(DefaultRuleSetForm form) {
+ DefaultRule defaultRule = baseMapper.selectById(form.getId());
+ if (Objects.isNull(defaultRule)) {
+ throw new ServiceException("杩濈害瑙勫垯涓嶅瓨鍦�");
+ }
+ if (form.getFlag()) {
+ // 鍚敤涔嬪墠妫�鏌ユ槸鍚﹀凡缁忔湁鍚敤鐨勮鍒欎簡锛屼繚鎸佷竴涓紑鍚�
+ List<DefaultRule> useList = new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(DefaultRule::getRuleStatus, "鍚敤")
+ .list();
+ if (! CollectionUtils.isEmpty(useList)) {
+ throw new ServiceException("宸茬粡鏈夎鍒欒鍚敤浜嗭紝鍙兘鍚屾椂鍚敤涓�涓鍒�");
+ }
+ defaultRule.setRuleStatus("鍚敤");
+ } else {
+ defaultRule.setRuleStatus("鏈惎鐢�");
+ }
+ baseMapper.updateById(defaultRule);
+ return Result.ok("鎿嶄綔鎴愬姛");
+ }
}
--
Gitblit v1.8.0