diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysInterveneRecordController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysInterveneRecordController.java index 75af424..962a159 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysInterveneRecordController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/SysInterveneRecordController.java @@ -13,6 +13,7 @@ import org.dromara.common.log.enums.BusinessType; import org.dromara.common.web.core.BaseController; import org.dromara.scale.domain.bo.SysInterveneRecordBo; import org.dromara.scale.domain.vo.SysInterveneRecordVo; +import org.dromara.scale.domain.vo.TimeAxisVo; import org.dromara.scale.service.ISysInterveneRecordService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -33,15 +34,6 @@ public class SysInterveneRecordController extends BaseController { private final ISysInterveneRecordService sysInterveneRecordService; - /** - * 查询干预记录列表 - */ -// @SaCheckPermission("scale:intervene:pageList") -// @GetMapping("/pageList") -// public TableDataInfo list(SysInterveneRecordBo bo, PageQuery pageQuery) { -// return sysInterveneRecordService.queryPageList(bo, pageQuery); -// } - /** * 导出干预记录列表 */ @@ -75,18 +67,15 @@ public class SysInterveneRecordController extends BaseController { return toAjax(sysInterveneRecordService.insertByBo(bo)); } - - /** - * 修改干预记录 + * 获取干预时间轴信息 + * + * @param userId 主键 */ -// @SaCheckPermission("scale:intervene:edit") -// @Log(title = "干预记录", businessType = BusinessType.UPDATE) -// @RepeatSubmit() -// @PutMapping() -// public R edit(@Validated(EditGroup.class) @RequestBody SysInterveneRecordBo bo) { -// return toAjax(sysInterveneRecordService.updateByBo(bo)); -// } - + @SaCheckPermission("intervene:record:query") + @GetMapping("/times") + public R> getTimes(@NotNull(message = "用户id不能为空") Long userId) { + return R.ok(sysInterveneRecordService.queryInterveneTimeList(userId)); + } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/TimeAxisVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/TimeAxisVo.java new file mode 100644 index 0000000..e4afc1d --- /dev/null +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/TimeAxisVo.java @@ -0,0 +1,22 @@ +package org.dromara.scale.domain.vo; + +import lombok.Data; + +/** + *

时间轴

+ * + * @author cjw + * @version V1.0.0 + * @date 2024/4/24 9:34 + */ +@Data +public class TimeAxisVo { + + private Long id; + + private String name; + + private String time; + + private String type; +} diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysInterveneRecordMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysInterveneRecordMapper.java index ca0787b..83051ce 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysInterveneRecordMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysInterveneRecordMapper.java @@ -4,6 +4,9 @@ import org.apache.ibatis.annotations.Mapper; import org.dromara.scale.domain.SysInterveneRecord; import org.dromara.scale.domain.vo.SysInterveneRecordVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import org.dromara.scale.domain.vo.TimeAxisVo; + +import java.util.List; /** * 干预记录Mapper接口 @@ -13,5 +16,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; */ @Mapper public interface SysInterveneRecordMapper extends BaseMapperPlus { - + List selectTimeList(Long userId); } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysWarnRecordMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysWarnRecordMapper.java index 28817b4..2899484 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysWarnRecordMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysWarnRecordMapper.java @@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.scale.domain.SysWarnRecord; +import org.dromara.scale.domain.vo.TimeAxisVo; import org.dromara.scale.domain.vo.SysEvaluationRecordVo; import org.dromara.scale.domain.vo.SysWarnRecordVo; @@ -30,5 +31,7 @@ public interface SysWarnRecordMapper extends BaseMapperPlus selectUseConfig(); + List selectTimeList(Long userId); + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysInterveneRecordService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysInterveneRecordService.java index 7b148c9..bef6066 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysInterveneRecordService.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysInterveneRecordService.java @@ -3,6 +3,7 @@ package org.dromara.scale.service; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.scale.domain.bo.SysInterveneRecordBo; +import org.dromara.scale.domain.vo.TimeAxisVo; import org.dromara.scale.domain.vo.SysInterveneRecordVo; import java.util.List; @@ -40,4 +41,6 @@ public interface ISysInterveneRecordService { */ Boolean updateByBo(SysInterveneRecordBo bo); + List queryInterveneTimeList(Long userId); + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysInterveneRecordServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysInterveneRecordServiceImpl.java index 892d462..f262c78 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysInterveneRecordServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysInterveneRecordServiceImpl.java @@ -13,14 +13,18 @@ import org.dromara.scale.constant.StatusEnum; import org.dromara.scale.domain.SysInterveneRecord; import org.dromara.scale.domain.bo.SysInterveneRecordBo; import org.dromara.scale.domain.vo.SysInterveneRecordVo; +import org.dromara.scale.domain.vo.TimeAxisVo; import org.dromara.scale.mapper.SysInterveneRecordMapper; +import org.dromara.scale.mapper.SysWarnRecordMapper; import org.dromara.scale.service.ISysInterveneRecordService; import org.dromara.system.domain.SysUser; import org.dromara.system.mapper.SysUserMapper; import org.springframework.stereotype.Service; +import java.util.Comparator; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import static org.dromara.common.satoken.utils.LoginHelper.getLoginUser; @@ -38,6 +42,8 @@ public class SysInterveneRecordServiceImpl implements ISysInterveneRecordService private final SysUserMapper userMapper; + private final SysWarnRecordMapper warnMapper; + /** * 查询干预记录 */ @@ -116,4 +122,11 @@ public class SysInterveneRecordServiceImpl implements ISysInterveneRecordService //TODO 做一些数据校验,如唯一约束 } + @Override + public List queryInterveneTimeList(Long userId) { + List warn = warnMapper.selectTimeList(userId); + List intervene = baseMapper.selectTimeList(userId); + warn.addAll(intervene); + return warn.stream().sorted(Comparator.comparing(TimeAxisVo::getTime).reversed()).collect(Collectors.toList()); + } } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysWarnRecordServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysWarnRecordServiceImpl.java index 2a6e40d..3ee13d4 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysWarnRecordServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysWarnRecordServiceImpl.java @@ -8,12 +8,15 @@ import lombok.RequiredArgsConstructor; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.scale.constant.StatusEnum; import org.dromara.scale.domain.SysWarnRecord; import org.dromara.scale.domain.bo.SysWarnRecordBo; import org.dromara.scale.domain.vo.SysEvaluationRecordVo; import org.dromara.scale.domain.vo.SysWarnRecordVo; import org.dromara.scale.mapper.SysWarnRecordMapper; import org.dromara.scale.service.ISysWarnRecordService; +import org.dromara.system.domain.SysUser; +import org.dromara.system.mapper.SysUserMapper; import org.springframework.stereotype.Service; import java.util.List; @@ -30,6 +33,8 @@ public class SysWarnRecordServiceImpl implements ISysWarnRecordService { private final SysWarnRecordMapper baseMapper; + private final SysUserMapper userMapper; + /** * 查询预警记录 */ @@ -75,6 +80,10 @@ public class SysWarnRecordServiceImpl implements ISysWarnRecordService { .eq(SysWarnRecord::getUserId, add.getUserId())); //保证同一个batch只有一条数据; if (warnRecord == null) { + SysUser record = new SysUser(); + record.setUserId(add.getUserId()); + record.setInterveneStatus(StatusEnum.IN_USE.getValue()); + userMapper.updateById(record); return baseMapper.insert(add) > 0; } else { //取最高严重等级 @@ -112,7 +121,6 @@ public class SysWarnRecordServiceImpl implements ISysWarnRecordService { @Override public Boolean updateWarnConfig(Integer[] ids) { - return baseMapper.updateConfigByIds(StrUtil.join(StrUtil.COMMA, ids)) > 0; } } diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysInterveneRecordMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysInterveneRecordMapper.xml index 9d1c0ff..81e4f2d 100644 --- a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysInterveneRecordMapper.xml +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysInterveneRecordMapper.xml @@ -1,7 +1,14 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysWarnRecordMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysWarnRecordMapper.xml index 57dbdbd..feb1c73 100644 --- a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysWarnRecordMapper.xml +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysWarnRecordMapper.xml @@ -33,4 +33,14 @@ from sys_warn_config where status = 1 + +