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