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