skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRuleController.java
@@ -1,8 +1,11 @@ package cn.gistack.sm.alarmRule.controller; import cn.gistack.sm.alarmRule.entity.AlarmRule; import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail; import cn.gistack.sm.alarmRule.service.AlarmRuleDetailService; import cn.gistack.sm.alarmRule.service.AlarmRuleService; import cn.gistack.sm.alarmRule.vo.AlarmRuleVO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -13,6 +16,7 @@ import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; /** * 告警规则控制层 @@ -25,6 +29,8 @@ public class AlarmRuleController extends BladeController { private final AlarmRuleService alarmRuleService; private final AlarmRuleDetailService alarmRuleDetailService; /** * 分页列表查询 @@ -59,8 +65,21 @@ */ @ApiOperation(value="告警规则-添加", notes="告警规则-添加") @PostMapping(value = "/add") public R add(@RequestBody AlarmRule alarmRule) { return R.data(alarmRuleService.save(alarmRule)); public R add(@RequestBody AlarmRuleVO alarmRule) { boolean flag = false; boolean save = alarmRuleService.save(alarmRule); // 新增成功 if (save){ if (alarmRule.getAlarmRuleDetailList().size() > 0){ for (AlarmRuleDetail alarmRuleDetail : alarmRule.getAlarmRuleDetailList()) { alarmRuleDetail.setAlarmRuleId(alarmRule.getId()); // 新增明细 flag = alarmRuleDetailService.save(alarmRuleDetail); } } } // 返回结果 return R.status(flag); } /** @@ -71,8 +90,25 @@ */ @ApiOperation(value="告警规则-编辑", notes="告警规则-编辑") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public R edit(@RequestBody AlarmRule alarmRule) { return R.data(alarmRuleService.updateById(alarmRule)); public R edit(@RequestBody AlarmRuleVO alarmRule) { boolean flag = false; // 更新 boolean update = alarmRuleService.updateById(alarmRule); if (update){ if (alarmRule.getAlarmRuleDetailList().size() > 0){ for (AlarmRuleDetail alarmRuleDetail : alarmRule.getAlarmRuleDetailList()) { alarmRuleDetail.setAlarmRuleId(alarmRule.getId()); if (null == alarmRuleDetail.getId()){ // 新增明细 flag = alarmRuleDetailService.save(alarmRuleDetail); }else { // 修改 flag = alarmRuleDetailService.updateById(alarmRuleDetail); } } } } return R.status(flag); } /** @@ -82,9 +118,9 @@ * @return */ @ApiOperation(value="告警规则-通过id删除", notes="告警规则-通过id删除") @DeleteMapping(value = "/delete") @PostMapping(value = "/delete") public R delete(@RequestParam(name="id",required=true) String id) { return R.data(alarmRuleService.removeById(id)); return R.status(alarmRuleService.removeById(id)); } /** @@ -94,9 +130,22 @@ * @return */ @ApiOperation(value="告警规则-批量删除", notes="告警规则-批量删除") @DeleteMapping(value = "/deleteBatch") @PostMapping(value = "/deleteBatch") public R deleteBatch(@RequestParam(name="ids",required=true) String ids) { return R.data(this.alarmRuleService.removeByIds(Arrays.asList(ids.split(",")))); boolean flag = false; // boolean remove = alarmRuleService.removeByIds(Arrays.asList(ids.split(","))); if (remove){ // 查询明细 List<String> idList = Arrays.asList(ids.split(",")); for (String id : idList) { QueryWrapper<AlarmRuleDetail> wrapper = new QueryWrapper<>(); wrapper.eq("alarm_rule_id",id); // 删除明细 flag = alarmRuleDetailService.remove(wrapper); } } return R.status(flag); } /** @@ -112,4 +161,16 @@ return R.data(alarmRule); } /** * 通过id查询 * * @param id * @return */ @ApiOperation(value="告警规则-通过id查询", notes="告警规则-通过id查询") @GetMapping(value = "/detail") public R getDetail(@RequestParam(name="id",required=true) String id) { return R.data(alarmRuleService.getDetail(id)); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRuleDetailController.java
New file @@ -0,0 +1,114 @@ package cn.gistack.sm.alarmRule.controller; import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail; import cn.gistack.sm.alarmRule.service.AlarmRuleDetailService; import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; import java.util.Arrays; /** * 告警规则明细控制层 * @author zhongrj * @date 2023-05-29 */ @RestController @AllArgsConstructor @RequestMapping("/alarmRuleDetail/alarmRuleDetail") public class AlarmRuleDetailController{ private final AlarmRuleDetailService alarmRuleDetailService; /** * 分页列表查询 * * @param alarmRuleDetail * @return */ @ApiOperation(value="告警规则明细-分页列表查询", notes="告警规则明细-分页列表查询") @GetMapping(value = "/list") public R queryPageList(AlarmRuleDetail alarmRuleDetail, Query query) { IPage<AlarmRuleDetail> pageList = alarmRuleDetailService.page(Condition.getPage(query), Condition.getQueryWrapper(alarmRuleDetail)); return R.data(pageList); } /** * 自定义分页列表查询 * @param query * @param alarmRuleDetail * @return */ @ApiOperation(value="告警规则明细-自定义分页列表查询", notes="告警规则明细-自定义分页列表查询") @GetMapping(value = "/page") public R page(AlarmRuleDetailVO alarmRuleDetail, Query query) { return R.data( alarmRuleDetailService.selectAlarmRuleDetailPage(Condition.getPage(query),alarmRuleDetail)); } /** * 添加 * * @param alarmRuleDetail * @return */ @ApiOperation(value="告警规则明细-添加", notes="告警规则明细-添加") @PostMapping(value = "/add") public R add(@RequestBody AlarmRuleDetail alarmRuleDetail) { return R.data(alarmRuleDetailService.save(alarmRuleDetail)); } /** * 编辑 * * @param alarmRuleDetail * @return */ @ApiOperation(value="告警规则明细-编辑", notes="告警规则明细-编辑") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public R edit(@RequestBody AlarmRuleDetail alarmRuleDetail) { return R.data(alarmRuleDetailService.updateById(alarmRuleDetail)); } /** * 通过id删除 * * @param id * @return */ @ApiOperation(value="告警规则明细-通过id删除", notes="告警规则明细-通过id删除") @PostMapping(value = "/delete") public R delete(@RequestParam(name="id",required=true) String id) { return R.data(alarmRuleDetailService.removeById(id)); } /** * 批量删除 * * @param ids * @return */ @ApiOperation(value="告警规则明细-批量删除", notes="告警规则明细-批量删除") @PostMapping(value = "/deleteBatch") public R deleteBatch(@RequestParam(name="ids",required=true) String ids) { return R.data(this.alarmRuleDetailService.removeByIds(Arrays.asList(ids.split(",")))); } /** * 通过id查询 * * @param id * @return */ @ApiOperation(value="告警规则明细-通过id查询", notes="告警规则明细-通过id查询") @GetMapping(value = "/queryById") public R queryById(@RequestParam(name="id",required=true) String id) { AlarmRuleDetail alarmRuleDetail = alarmRuleDetailService.getById(id); return R.data(alarmRuleDetail); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRecord.java
@@ -14,7 +14,7 @@ public class AlarmRecord extends BaseEntity { /** * 区域编号 * 区域名称 */ private String areaName; @@ -49,6 +49,11 @@ private String reservoirNumber; /** * 水库名称 */ private String reservoirName; /** * 告警测站编号 */ private String alarmSurveyStationCode; skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRule.java
@@ -54,11 +54,6 @@ private String alarmLevel; /** * 告警方式 */ private String alarmMode; /** * 告警频次 */ private String alarmFrequency; @@ -69,17 +64,7 @@ private String alarmPerson; /** * 告警内容 */ private String alarmContent; /** * 备注 */ private String alarmRemark; /** * 模板id */ private String templateId; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRuleDetail.java
New file @@ -0,0 +1,51 @@ package cn.gistack.sm.alarmRule.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springblade.core.mp.base.BaseEntity; import java.io.Serializable; /** * 告警规则明细 * @author zhongrj * @date 2023-05-29 */ @Data @TableName("sm_alarm_rule_detail") public class AlarmRuleDetail implements Serializable { /** * 主键id */ @JsonSerialize(using = ToStringSerializer.class) @TableId(value = "id",type = IdType.ASSIGN_ID) private Long id; /** * 告警规则id */ @JsonSerialize(using = ToStringSerializer.class) private Long alarmRuleId; /** * 告警方式 */ private String alarmMode; /** * 模板id */ private String templateId; /** * 备注 */ private String alarmRemark; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordMapper.xml
@@ -4,13 +4,19 @@ <!--自定义分页列表查询--> <select id="selectAlarmRecordPage" resultType="cn.gistack.sm.alarmRule.vo.AlarmRecordVO"> select sar.* from sm_alarm_record sar left join sm_alarm_rule sar1 on sar.alarm_rule_id = sar1.id where is_deleted = 0 select sar.*, sar1.type,sar1.alarm_rule_type as alarmRuleType,sar1.create_alarm_type as createAlarmType from sm_alarm_record sar left join sm_alarm_rule sar1 on sar.alarm_rule_id = sar1.id and sar1.is_deleted = 0 where sar.is_deleted = 0 <if test="alarmRecord.alarmSurveyStationName!=null and alarmRecord.alarmSurveyStationName!=''"> and alarm_survey_station_name like concat(concat('%',#{alarmRecord.alarmSurveyStationName}),'%') </if> <if test="alarmRecord.reservoirName!=null and alarmRecord.reservoirName!=''"> and reservoir_name like concat(concat('%',#{alarmRecord.reservoirName}),'%') </if> <if test="alarmRecord.type!=null and alarmRecord.type!=''"> and sar1.type = #{alarmRule.type} and sar1.type = #{alarmRecord.type} </if> <if test="alarmRecord.alarmRuleType!=null and alarmRecord.alarmRuleType!=''"> and sar1.alarm_rule_type = #{alarmRecord.alarmRuleType} skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRuleDetailMapper.java
New file @@ -0,0 +1,24 @@ package cn.gistack.sm.alarmRule.mapper; import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail; import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import java.util.List; /** * 告警规则详情mapper映射层 * @author zhongrj * @date 2023-05-29 */ public interface AlarmRuleDetailMapper extends BaseMapper<AlarmRuleDetail> { /** * 自定义分页列表查询 * @param page * @param alarmRuleDetail * @return */ List<AlarmRuleDetailVO> selectAlarmRuleDetailPage(IPage<AlarmRuleDetailVO> page,@Param("alarmRuleDetail") AlarmRuleDetailVO alarmRuleDetail); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRuleDetailMapper.xml
New file @@ -0,0 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.gistack.sm.alarmRule.mapper.AlarmRuleDetailMapper"> <!--自定义分页列表查询--> <select id="selectAlarmRuleDetailPage" resultType="cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO"> select * from sm_alarm_rule_detail </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRuleMapper.java
@@ -1,6 +1,8 @@ package cn.gistack.sm.alarmRule.mapper; import cn.gistack.sm.alarmRule.entity.AlarmRule; import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail; import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO; import cn.gistack.sm.alarmRule.vo.AlarmRuleVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -22,4 +24,18 @@ * @return */ List<AlarmRuleVO> selectAlarmRulePage(IPage<AlarmRuleVO> page,@Param("alarmRule") AlarmRuleVO alarmRule); /** * 通过id查询 * @param id * @return */ AlarmRuleVO getDetailById(@Param("id") String id); /** * 查询告警规则详情信息 * @param id 告警规则id * @return */ List<AlarmRuleDetailVO> getAlarmRuleDetailList(@Param("id") String id); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRuleMapper.xml
@@ -19,4 +19,16 @@ </if> </select> <!--通过id查询--> <select id="getDetailById" resultType="cn.gistack.sm.alarmRule.vo.AlarmRuleVO"> select * from sm_alarm_rule where is_deleted = 0 and id = #{id} </select> <!--通过id查询--> <select id="getAlarmRuleDetailList" resultType="cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO"> select sard.*,sst.content as alarmContent from sm_alarm_rule_detail sard left join sm_sms_template sst on sard.template_id = sst.template_id where sard.alarm_rule_id = #{id} </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRuleDetailService.java
New file @@ -0,0 +1,22 @@ package cn.gistack.sm.alarmRule.service; import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail; import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; /** * 告警规则详情服务层 * @author zhongrj * @date 2023-05-29 */ public interface AlarmRuleDetailService extends IService<AlarmRuleDetail> { /** * 自定义分页列表查询 * @param page * @param alarmRuleDetail * @return */ IPage<AlarmRuleDetailVO> selectAlarmRuleDetailPage(IPage<AlarmRuleDetailVO> page, AlarmRuleDetailVO alarmRuleDetail); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRuleService.java
@@ -19,4 +19,11 @@ * @return */ IPage<AlarmRuleVO> selectAlarmRulePage(IPage<AlarmRuleVO> page, AlarmRuleVO alarmRule); /** * 通过id查询 * @param id * @return */ AlarmRuleVO getDetail(String id); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRuleDetailServiceImpl.java
New file @@ -0,0 +1,29 @@ package cn.gistack.sm.alarmRule.service.impl; import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail; import cn.gistack.sm.alarmRule.mapper.AlarmRuleDetailMapper; import cn.gistack.sm.alarmRule.service.AlarmRuleDetailService; import cn.gistack.sm.alarmRule.vo.AlarmRuleDetailVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * 告警规则详情服务实现层 * @author zhongrj * @date 2023-05-29 */ @Service public class AlarmRuleDetailServiceImpl extends ServiceImpl<AlarmRuleDetailMapper, AlarmRuleDetail> implements AlarmRuleDetailService { /** * 自定义分页列表查询 * @param page * @param alarmRuleDetail * @return */ @Override public IPage<AlarmRuleDetailVO> selectAlarmRuleDetailPage(IPage<AlarmRuleDetailVO> page, AlarmRuleDetailVO alarmRuleDetail) { return page.setRecords(baseMapper.selectAlarmRuleDetailPage(page,alarmRuleDetail)); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRuleServiceImpl.java
@@ -26,4 +26,18 @@ public IPage<AlarmRuleVO> selectAlarmRulePage(IPage<AlarmRuleVO> page, AlarmRuleVO alarmRule) { return page.setRecords(baseMapper.selectAlarmRulePage(page,alarmRule)); } /** * 通过id查询 * @param id * @return */ @Override public AlarmRuleVO getDetail(String id) { AlarmRuleVO alarmRule = baseMapper.getDetailById(id); // 查询详情信息 alarmRule.setAlarmRuleDetailList(baseMapper.getAlarmRuleDetailList(id)); // 返回 return alarmRule; } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRuleDetailVO.java
New file @@ -0,0 +1,18 @@ package cn.gistack.sm.alarmRule.vo; import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail; import lombok.Data; /** * 告警记录详情vo * @author zhongrj * @date 2023-05-29 */ @Data public class AlarmRuleDetailVO extends AlarmRuleDetail { /** * 告警内容 */ private String alarmContent; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRuleVO.java
@@ -1,7 +1,10 @@ package cn.gistack.sm.alarmRule.vo; import cn.gistack.sm.alarmRule.entity.AlarmRule; import cn.gistack.sm.alarmRule.entity.AlarmRuleDetail; import lombok.Data; import java.util.List; /** * 告警规则vo @@ -10,4 +13,9 @@ */ @Data public class AlarmRuleVO extends AlarmRule{ /** * 规则明细 */ private List<AlarmRuleDetailVO> alarmRuleDetailList; }