ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleForm.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleSetForm.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/query/DefaultRuleQuery.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/Rule.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/controller/DefaultRuleController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/DefaultRuleService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/impl/DefaultRuleServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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) { ycl-pojo/src/main/java/com/ycl/platform/domain/form/DefaultRuleSetForm.java
New file @@ -0,0 +1,22 @@ package com.ycl.platform.domain.form; import lombok.Data; /** * 启用停用-违约规则 * * @author:xp * @date:2024/3/6 11:16 */ @Data public class DefaultRuleSetForm { private Integer id; /** * true 启用 * false 停用 */ private Boolean flag; } 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; } ycl-pojo/src/main/java/com/ycl/platform/domain/vo/Rule.java
New file @@ -0,0 +1,18 @@ package com.ycl.platform.domain.vo; import lombok.Data; /** * @author:xp * @date:2024/3/6 10:49 */ @Data public class Rule { /** 超时未处理工单数 */ private Integer overTime; /** 工单处理失败数 */ private Integer failNum; } 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); } 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); } 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("操作成功"); } }