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