From 0cba434b372ea4772e8445e5c2d1950b6900b9a9 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 01 Jun 2023 17:58:38 +0800
Subject: [PATCH] 新增告警记录详情基础接口

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRecordDetailController.java    |  114 ++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.java            |   25 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.xml             |   11 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRecordDetail.java                  |   69 +++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRecordDetailService.java          |   22 ++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRecordDetailServiceImpl.java |   33 ++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRecordDetailVO.java                    |   15 +++
 7 files changed, 289 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRecordDetailController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRecordDetailController.java
new file mode 100644
index 0000000..c58425b
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/controller/AlarmRecordDetailController.java
@@ -0,0 +1,114 @@
+package cn.gistack.sm.alarmRule.controller;
+
+import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
+import cn.gistack.sm.alarmRule.service.AlarmRecordDetailService;
+import cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+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-31
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/alarmRecordDetail/alarmRecordDetail")
+public class AlarmRecordDetailController{
+
+	private final AlarmRecordDetailService alarmRecordDetailService;
+
+	/**
+	 * 分页列表查询
+	 *
+	 * @param alarmRecordDetail
+	 * @return
+	 */
+	@ApiOperation(value="告警记录详情-分页列表查询", notes="告警记录详情-分页列表查询")
+	@GetMapping(value = "/list")
+	public R queryPageList(AlarmRecordDetail alarmRecordDetail, Query query) {
+		IPage<AlarmRecordDetail> pageList = alarmRecordDetailService.page(Condition.getPage(query), Condition.getQueryWrapper(alarmRecordDetail));
+		return R.data(pageList);
+	}
+
+	/**
+	 * 自定义分页列表查询
+	 * @param query
+	 * @param alarmRecordDetail
+	 * @return
+	 */
+	@ApiOperation(value="告警记录详情-自定义分页列表查询", notes="告警记录详情-自定义分页列表查询")
+	@GetMapping(value = "/page")
+	public R page(AlarmRecordDetailVO alarmRecordDetail, Query query) {
+		return R.data( alarmRecordDetailService.selectAlarmRecordDetailPage(Condition.getPage(query),alarmRecordDetail));
+	}
+
+	/**
+	 * 添加
+	 *
+	 * @param alarmRecordDetail
+	 * @return
+	 */
+	@ApiOperation(value="告警记录详情-添加", notes="告警记录详情-添加")
+	@PostMapping(value = "/add")
+	public R add(@RequestBody AlarmRecordDetail alarmRecordDetail) {
+		return R.data(alarmRecordDetailService.save(alarmRecordDetail));
+	}
+
+	/**
+	 * 编辑
+	 *
+	 * @param alarmRecordDetail
+	 * @return
+	 */
+	@ApiOperation(value="告警记录详情-编辑", notes="告警记录详情-编辑")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public R edit(@RequestBody AlarmRecordDetail alarmRecordDetail) {
+		return R.data(alarmRecordDetailService.updateById(alarmRecordDetail));
+	}
+
+	/**
+	 * 通过id删除
+	 * @param id
+	 * @return
+	 */
+	@ApiOperation(value="告警记录详情-通过id删除", notes="告警记录详情-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public R delete(@RequestParam(name="id",required=true) String id) {
+		return R.data(alarmRecordDetailService.removeById(id));
+	}
+
+	/**
+	 * 批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@ApiOperation(value="告警记录详情-批量删除", notes="告警记录详情-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public R deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		return R.data(this.alarmRecordDetailService.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) {
+		AlarmRecordDetail alarmRecordDetail = alarmRecordDetailService.getById(id);
+		return R.data(alarmRecordDetail);
+	}
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRecordDetail.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRecordDetail.java
new file mode 100644
index 0000000..e578001
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/entity/AlarmRecordDetail.java
@@ -0,0 +1,69 @@
+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.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 告警记录详情
+ * @author zhongrj
+ * @date 2023-05-31
+ */
+@Data
+@TableName("sm_alarm_record_detail")
+public class AlarmRecordDetail implements Serializable {
+
+	/**
+	 * 主键id
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@TableId(value = "id",type = IdType.ASSIGN_ID)
+	private Long id;
+
+	/**
+	 * 告警记录id
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	private Long alarmRecordId;
+
+	/**
+	 * 发送记录id
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	private Long sendRecordId;
+
+	/**
+	 * 告警模式  短信,电话,站内信
+	 */
+	private String alarmMode;
+
+	/**
+	 * 水库编号
+	 */
+	private String reservoirNumber;
+
+	/**
+	 * 告警内容
+	 */
+	private String alarmContent;
+
+	/**
+	 * 创建人
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	private Long createUser;
+
+	/**
+	 * 创建时间
+ 	 */
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createTime;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.java
new file mode 100644
index 0000000..8bff826
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.java
@@ -0,0 +1,25 @@
+package cn.gistack.sm.alarmRule.mapper;
+
+import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
+import cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO;
+import cn.gistack.sm.alarmRule.vo.AlarmRecordVO;
+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-31
+ */
+public interface AlarmRecordDetailMapper extends BaseMapper<AlarmRecordDetail> {
+
+	/**
+	 * 自定义分页列表查询
+	 * @param page
+	 * @param alarmRecordDetail
+	 * @return
+	 */
+    List<AlarmRecordDetailVO> selectAlarmRecordDetailPage(IPage<AlarmRecordDetailVO> page,@Param("alarmRecordDetail") AlarmRecordDetailVO alarmRecordDetail);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.xml
new file mode 100644
index 0000000..e945fb9
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/mapper/AlarmRecordDetailMapper.xml
@@ -0,0 +1,11 @@
+<?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.AlarmRecordDetailMapper">
+
+    <!--自定义分页列表查询-->
+    <select id="selectAlarmRecordDetailPage" resultType="cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO">
+        select * from sm_alarm_record_detail
+        where 1=1
+    </select>
+
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRecordDetailService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRecordDetailService.java
new file mode 100644
index 0000000..f642c69
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/AlarmRecordDetailService.java
@@ -0,0 +1,22 @@
+package cn.gistack.sm.alarmRule.service;
+
+import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
+import cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 告警记录详情服务层
+ * @author zhongrj
+ * @date 2023-05-31
+ */
+public interface AlarmRecordDetailService extends IService<AlarmRecordDetail> {
+
+	/**
+	 * 自定义分页列表查询
+	 * @param page
+	 * @param alarmRecordDetail
+	 * @return
+	 */
+	Object selectAlarmRecordDetailPage(IPage<AlarmRecordDetailVO> page, AlarmRecordDetailVO alarmRecordDetail);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRecordDetailServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRecordDetailServiceImpl.java
new file mode 100644
index 0000000..3f4f377
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/service/impl/AlarmRecordDetailServiceImpl.java
@@ -0,0 +1,33 @@
+package cn.gistack.sm.alarmRule.service.impl;
+
+import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
+import cn.gistack.sm.alarmRule.mapper.AlarmRecordDetailMapper;
+import cn.gistack.sm.alarmRule.service.AlarmRecordDetailService;
+import cn.gistack.sm.alarmRule.vo.AlarmRecordDetailVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * 告警记录详情服务实现层
+ * @author zhongrj
+ * @date 2023-05-31
+ */
+@Service
+public class AlarmRecordDetailServiceImpl extends ServiceImpl<AlarmRecordDetailMapper, AlarmRecordDetail> implements AlarmRecordDetailService {
+
+	/**
+	 * 自定义分页列表查询
+	 * @param page
+	 * @param alarmRecordDetail
+	 * @return
+	 */
+	@Override
+	public Object selectAlarmRecordDetailPage(IPage<AlarmRecordDetailVO> page, AlarmRecordDetailVO alarmRecordDetail) {
+		if (null != alarmRecordDetail.getIsExport()){
+			return baseMapper.selectAlarmRecordDetailPage(null,alarmRecordDetail);
+		}
+		return page.setRecords(baseMapper.selectAlarmRecordDetailPage(page,alarmRecordDetail));
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRecordDetailVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRecordDetailVO.java
new file mode 100644
index 0000000..c031bdb
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/alarmRule/vo/AlarmRecordDetailVO.java
@@ -0,0 +1,15 @@
+package cn.gistack.sm.alarmRule.vo;
+
+import cn.gistack.sm.alarmRule.entity.AlarmRecordDetail;
+import lombok.Data;
+
+/**
+ * 告警记录详情vo
+ * @author zhongrj
+ * @date 2023-05-31
+ */
+@Data
+public class AlarmRecordDetailVO extends AlarmRecordDetail {
+
+	private Integer isExport;
+}

--
Gitblit v1.9.3