From 26d0470f278de9b7094dc0569ce0d741567f2c8c Mon Sep 17 00:00:00 2001
From: 邱宇豪 <qyh123230312>
Date: 星期二, 07 十一月 2023 17:05:24 +0800
Subject: [PATCH] 20231107_qiuyh_隐患举报

---
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerImgEntity.java         |   37 +++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/HiddenDangerService.java          |   31 ++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java            |   35 +++
 hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml                                                |  215 +++++++++++++++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java            |   81 +++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/controller/HiddenDangerController.java    |   92 ++++++++
 hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java |  120 ++++++++++
 7 files changed, 611 insertions(+), 0 deletions(-)

diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/controller/HiddenDangerController.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/controller/HiddenDangerController.java
new file mode 100644
index 0000000..103d901
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/controller/HiddenDangerController.java
@@ -0,0 +1,92 @@
+package com.thhy.secure.modules.biz.hiddenDanger.controller;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity;
+import com.thhy.secure.modules.biz.hiddenDanger.service.HiddenDangerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-07 14:26:39
+ * 隐患举报控制层
+ */
+@RestController
+@RequestMapping(value = "hiddendanger")
+public class HiddenDangerController {
+
+	@Autowired
+	private HiddenDangerService hiddenDangerService;
+
+	/**
+	 * 新增
+	 * @param hiddenDangerEntity
+	 * @return
+	 */
+	@PostMapping(value = "insert")
+	BasicResult insert(@RequestBody HiddenDangerEntity hiddenDangerEntity){
+		return hiddenDangerService.insert(hiddenDangerEntity);
+	}
+
+	/**
+	 * 修改接口
+	 * @param hiddenDangerEntity
+	 * @return
+	 */
+	@PostMapping(value = "update")
+	BasicResult update(@RequestBody HiddenDangerEntity hiddenDangerEntity){
+		return hiddenDangerService.update(hiddenDangerEntity);
+	}
+
+	/**
+	 * 删除
+	 * @param id
+	 * @return
+	 */
+	@GetMapping(value = "delete")
+	BasicResult delete(@RequestParam String id){
+		return hiddenDangerService.delete(id);
+	}
+
+	/**
+	 * web端列表
+	 * @param map
+	 * @return
+	 */
+	@PostMapping(value = "selectPageList")
+	BasicResult selectPageList(@RequestBody Map<String,Object> map){
+		return hiddenDangerService.selectPageList(map);
+	}
+
+	/**
+	 * 小程序
+	 * @param map
+	 * @return
+	 */
+	@PostMapping(value = "selectNoPageList")
+	BasicResult selectNoPageList(@RequestBody Map<String,Object> map){
+		return hiddenDangerService.selectNoPageList(map);
+	}
+
+	/**
+	 * web、小程序详情
+	 * @param id
+	 * @return
+	 */
+	@GetMapping(value = "selectInfo")
+	BasicResult selectInfo(@RequestParam String id){
+		return hiddenDangerService.selectInfo(id);
+	}
+
+	/**
+	 * web审核接口
+	 * @param hiddenDangerEntity
+	 * @return
+	 */
+	@PostMapping(value = "examine")
+	BasicResult examine(@RequestBody HiddenDangerEntity hiddenDangerEntity){
+		return hiddenDangerService.examine(hiddenDangerEntity);
+	}
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java
new file mode 100644
index 0000000..473f4a6
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerEntity.java
@@ -0,0 +1,81 @@
+package com.thhy.secure.modules.biz.hiddenDanger.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-07 14:27:33
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class HiddenDangerEntity implements Serializable {
+
+	private String id;
+
+	/**
+	 * 隐患地点
+	 */
+	private String dangerLocation;
+
+	/**
+	 * 隐患标题
+	 */
+	private String title;
+
+	/**
+	 * 隐患时间
+	 */
+	private Date createTime;
+
+	/**
+	 * 隐患审核状态 审核状态 0未审核 1审核通过 2审核失败
+	 */
+	private Integer auditStatus;
+	private String auditStatusName;
+
+	public String getAuditStatusName() {
+		String name = "";
+		switch (auditStatus){
+			case 0:
+				name = "未审核";
+				break;
+			case 1:
+				name = "已审核";
+				break;
+			case 2:
+				name = "审核失败";
+				break;
+		}
+		return name;
+	}
+
+	/**
+	 * 1Y0N
+	 */
+	private Integer isUse;
+
+	private String createUser;
+	private String updateUser;
+	private Date updateTime;
+	private String companyId;
+
+	/**
+	 * 积分
+	 */
+	private Double integral;
+
+	/**
+	 * 图片集合
+	 */
+	private List<HiddenDangerImgEntity> imgEntities;
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerImgEntity.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerImgEntity.java
new file mode 100644
index 0000000..37fd8e5
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/entity/HiddenDangerImgEntity.java
@@ -0,0 +1,37 @@
+package com.thhy.secure.modules.biz.hiddenDanger.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-07 14:56:00
+ * 隐患图片实体
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class HiddenDangerImgEntity implements Serializable {
+
+	private String id;
+
+	/**
+	 * 隐患id
+	 */
+	private String hiddenDangerId;
+
+	/**
+	 * 图片名称
+	 */
+	private String imgName;
+
+	/**
+	 * 图片地址
+	 */
+	private String imgPath;
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java
new file mode 100644
index 0000000..ea497c1
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/mapper/HiddenDangerMapper.java
@@ -0,0 +1,35 @@
+package com.thhy.secure.modules.biz.hiddenDanger.mapper;
+
+import com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity;
+import com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerImgEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-07 14:31:40
+ * 隐患mapper
+ */
+
+@Mapper
+public interface HiddenDangerMapper {
+
+	void insert(HiddenDangerEntity hiddenDangerEntity);
+
+	void update(HiddenDangerEntity hiddenDangerEntity);
+
+	void delete(String id);
+
+	List<HiddenDangerEntity> selectPageList(Map<String,Object> map);
+
+	HiddenDangerEntity selectInfo(String id);
+
+	List<HiddenDangerImgEntity> selectImgList(String hiddenDangerId);
+
+	void deleteImg(String hiddenDangerId);
+
+	void insertImg(HiddenDangerImgEntity hiddenDangerImgEntity);
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/HiddenDangerService.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/HiddenDangerService.java
new file mode 100644
index 0000000..663f49a
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/HiddenDangerService.java
@@ -0,0 +1,31 @@
+package com.thhy.secure.modules.biz.hiddenDanger.service;
+
+import com.thhy.general.common.BasicResult;
+import com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-07 14:32:02
+ * 隐患接口
+ */
+public interface HiddenDangerService {
+
+	BasicResult insert(HiddenDangerEntity hiddenDangerEntity);
+
+	BasicResult update(HiddenDangerEntity hiddenDangerEntity);
+
+	BasicResult delete(String id);
+
+	BasicResult selectPageList(Map<String,Object> map);
+
+	BasicResult selectNoPageList(Map<String,Object> map);
+
+	BasicResult selectInfo(String id);
+
+	BasicResult examine(HiddenDangerEntity hiddenDangerEntity);
+
+
+}
diff --git a/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
new file mode 100644
index 0000000..47fc2ef
--- /dev/null
+++ b/hd/pipe/secure/src/main/java/com/thhy/secure/modules/biz/hiddenDanger/service/impl/HiddenDangerServiceImpl.java
@@ -0,0 +1,120 @@
+package com.thhy.secure.modules.biz.hiddenDanger.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.thhy.general.common.BasicResult;
+import com.thhy.general.config.SysUserInfo;
+import com.thhy.general.utils.UUIDUtils;
+import com.thhy.general.utils.UserInfoUtils;
+import com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity;
+import com.thhy.secure.modules.biz.hiddenDanger.mapper.HiddenDangerMapper;
+import com.thhy.secure.modules.biz.hiddenDanger.service.HiddenDangerService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author QiuYuHao
+ * @CreateDate 2023-11-07 14:32:29
+ * 隐患逻辑
+ */
+@Service
+public class HiddenDangerServiceImpl implements HiddenDangerService {
+
+	@Autowired
+	private HiddenDangerMapper hiddenDangerMapper;
+
+	private static final Object Lock = new Object();
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public BasicResult insert(HiddenDangerEntity hiddenDangerEntity) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		String hiddenDangerId = UUIDUtils.create();
+		hiddenDangerEntity.setId(hiddenDangerId);
+		hiddenDangerEntity.setCreateUser(sysUserInfo.getUserId());
+		hiddenDangerEntity.setCompanyId(sysUserInfo.getCompanyId());
+		synchronized (Lock){
+			hiddenDangerMapper.insert(hiddenDangerEntity);
+			//图片
+			hiddenDangerEntity.getImgEntities().forEach(obj->{
+				obj.setId(UUIDUtils.create());
+				obj.setHiddenDangerId(hiddenDangerId);
+				hiddenDangerMapper.insertImg(obj);
+			});
+		}
+		return BasicResult.success();
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public BasicResult update(HiddenDangerEntity hiddenDangerEntity) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		String userId = sysUserInfo.getUserId();
+		hiddenDangerEntity.setUpdateUser(userId);
+		hiddenDangerEntity.setUpdateTime(new Date());
+		synchronized (Lock){
+			hiddenDangerMapper.update(hiddenDangerEntity);
+			//删除图片
+			hiddenDangerMapper.deleteImg(hiddenDangerEntity.getId());
+			//图片
+			hiddenDangerEntity.getImgEntities().forEach(obj->{
+				obj.setId(UUIDUtils.create());
+				obj.setHiddenDangerId(hiddenDangerEntity.getId());
+				hiddenDangerMapper.insertImg(obj);
+			});
+		}
+		return BasicResult.success();
+	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public BasicResult delete(String id) {
+		synchronized (Lock) {
+			hiddenDangerMapper.delete(id);
+			hiddenDangerMapper.deleteImg(id);
+		}
+		return BasicResult.success();
+	}
+
+	@Override
+	public BasicResult selectPageList(Map<String, Object> map) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		map.put("companyId",sysUserInfo.getCompanyId());
+		int pageNum = (int) map.get("pageNum");
+		int pageSize = (int) map.get("pageSize");
+		PageHelper.startPage(pageNum,pageSize);
+		List<HiddenDangerEntity> hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+		hiddenDangerEntities.forEach(obj ->{
+			String id = obj.getId();
+			obj.setImgEntities(hiddenDangerMapper.selectImgList(id));
+		});
+		return BasicResult.success(new PageInfo<>(hiddenDangerEntities));
+	}
+
+	@Override
+	public BasicResult selectNoPageList(Map<String, Object> map) {
+		SysUserInfo sysUserInfo = UserInfoUtils.getInstance().getUserInfo();
+		map.put("companyId",sysUserInfo.getCompanyId());
+		List<HiddenDangerEntity> hiddenDangerEntities = hiddenDangerMapper.selectPageList(map);
+		hiddenDangerEntities.forEach(obj ->{
+			String id = obj.getId();
+			obj.setImgEntities(hiddenDangerMapper.selectImgList(id));
+		});
+		return BasicResult.success(hiddenDangerEntities);
+	}
+
+	@Override
+	public BasicResult selectInfo(String id) {
+		return BasicResult.success(hiddenDangerMapper.selectInfo(id));
+	}
+
+	@Override
+	public BasicResult examine(HiddenDangerEntity hiddenDangerEntity) {
+		hiddenDangerMapper.update(hiddenDangerEntity);
+		return BasicResult.success();
+	}
+}
diff --git a/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml b/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
new file mode 100644
index 0000000..d7fcce8
--- /dev/null
+++ b/hd/pipe/secure/src/main/resources/mapping/HiddenDangerMapper.xml
@@ -0,0 +1,215 @@
+<?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="com.thhy.secure.modules.biz.hiddenDanger.mapper.HiddenDangerMapper">
+
+    <!--插入操作-->
+    <insert id="insert">
+        insert into t_hidden_danger
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+            <if test="id != null">
+                id,
+            </if>
+            <if test="dangerLocation != null">
+                dangerLocation,
+            </if>
+            <if test="title != null">
+                title,
+            </if>
+            <if test="createTime != null">
+                createTime,
+            </if>
+            <if test="auditStatus != null">
+                auditStatus,
+            </if>
+            <if test="isUse != null">
+                isUse,
+            </if>
+            <if test="createUser != null">
+                createUser,
+            </if>
+            <if test="updateUser != null">
+                updateUser,
+            </if>
+            <if test="updateTime != null">
+                updateTime,
+            </if>
+            <if test="companyId != null">
+                companyId,
+            </if>
+            <if test="integral != null">
+                integral,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+
+            <if test="id != null">
+                #{id,jdbcType=VARCHAR},
+            </if>
+            <if test="dangerLocation != null">
+                #{dangerLocation,jdbcType=VARCHAR},
+            </if>
+            <if test="title != null">
+                #{title,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="auditStatus != null">
+                #{auditStatus,jdbcType=INTEGER},
+            </if>
+            <if test="isUse != null">
+                #{isUse,jdbcType=INTEGER},
+            </if>
+            <if test="createUser != null">
+                #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="updateUser != null">
+                #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="companyId != null">
+                #{companyId,jdbcType=TIMESTAMP},
+            </if>
+            <if test="integral != null">
+                #{integral,jdbcType=DOUBLE},
+            </if>
+        </trim>
+    </insert>
+
+
+    <!--更新操作-->
+    <update id="update">
+        update t_hidden_danger
+        <set>
+            <if test="dangerLocation != null">
+                dangerLocation = #{dangerLocation,jdbcType=VARCHAR},
+            </if>
+            <if test="title != null">
+                title = #{title,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime != null">
+                createTime = #{createTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="auditStatus != null">
+                auditStatus = #{auditStatus,jdbcType=INTEGER},
+            </if>
+            <if test="isUse != null">
+                isUse = #{isUse,jdbcType=INTEGER},
+            </if>
+            <if test="createUser != null">
+                createUser = #{createUser,jdbcType=VARCHAR},
+            </if>
+            <if test="updateUser != null">
+                updateUser = #{updateUser,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime != null">
+                updateTime = #{updateTime,jdbcType=TIMESTAMP},
+            </if>
+            <if test="companyId != null">
+                companyId = #{companyId,jdbcType=VARCHAR},
+            </if>
+            <if test="integral != null">
+                integral = #{integral,jdbcType=DOUBLE},
+            </if>
+        </set>
+        where id=#{id,jdbcType=VARCHAR}
+    </update>
+
+    <!--逻辑删除-->
+    <update id="delete">
+        update t_hidden_danger
+        SET isUse = 0
+        where id=#{id}
+    </update>
+
+    <select id="selectInfo" resultType="com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity">
+        select
+                t.id,
+                t.dangerLocation,
+                t.title,
+                t.createTime,
+                t.auditStatus,
+                t.isUse,
+                t.createUser,
+                t.updateUser,
+                t.updateTime,
+                t.companyId
+        from t_hidden_danger t
+        where t.id=#{id}
+    </select>
+
+    <!--查询列表-->
+    <select id="selectPageList" resultType="com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerEntity">
+        SELECT
+                t.id,
+                t.dangerLocation,
+                t.title,
+                t.createTime,
+                t.auditStatus,
+                t.isUse,
+                t.createUser,
+                t.updateUser,
+                t.updateTime,
+                t.companyId
+         from t_hidden_danger t
+         LEFT JOIN sys_users su ON su.user_id = t.createUser
+         LEFT JOIN sys_users su1 ON su1.user_id = t.updateUser
+        WHERE
+            t.isUse = 1
+            and t.companyId = #{companyId}
+            <if test="startTime!= null and endTime!=null and startTime != '' and endTime !=''">
+                and t.createTime BETWEEN #{startTime} and #{endTime}
+            </if>
+        order by t.createUser desc
+    </select>
+
+    <!--根据ID删除-->
+    <delete id="deleteImg">
+        delete from t_hidden_danger_img
+        where hiddenDangerId=#{hiddenDangerId}
+    </delete>
+
+    <select id="selectImgList" resultType="com.thhy.secure.modules.biz.hiddenDanger.entity.HiddenDangerImgEntity">
+        SELECT
+                id,
+                hiddenDangerId,
+                imgName,
+                imgPath
+        FROM t_hidden_danger_img
+        WHERE hiddenDangerId = #{hiddenDangerId}
+    </select>
+
+    <insert id="insertImg">
+        insert into t_hidden_danger_img
+        <trim prefix="(" suffix=")" suffixOverrides="," >
+            <if test="id != null">
+                id,
+            </if>
+            <if test="hiddenDangerId != null">
+                hiddenDangerId,
+            </if>
+            <if test="imgName != null">
+                imgName,
+            </if>
+            <if test="imgPath != null">
+                imgPath,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides="," >
+            <if test="id != null">
+                #{id,jdbcType=VARCHAR},
+            </if>
+            <if test="hiddenDangerId != null">
+                #{hiddenDangerId,jdbcType=VARCHAR},
+            </if>
+            <if test="imgName != null">
+                #{imgName,jdbcType=VARCHAR},
+            </if>
+            <if test="imgPath != null">
+                #{imgPath,jdbcType=VARCHAR},
+            </if>
+        </trim>
+    </insert>
+</mapper>

--
Gitblit v1.9.3