龚焕茏
2024-03-01 d17e1cf11d255c68e0bd8c455badb776d64f346b
安全隐患基础功能
16个文件已添加
1048 ■■■■■ 已修改文件
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerInfoController.java 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerInfo.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerTotal.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerTotalBo.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerInfoService.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerInfoController.java
New file
@@ -0,0 +1,113 @@
package org.dromara.demo.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.demo.domain.vo.RsDangerInfoVo;
import org.dromara.demo.domain.bo.RsDangerInfoBo;
import org.dromara.demo.service.IRsDangerInfoService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
 * 安全隐患信息
 *
 * @author gonghl
 * @date 2024-02-27
 */
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/demo/dangerInfo")
public class RsDangerInfoController extends BaseController {
    private final IRsDangerInfoService rsDangerInfoService;
    /**
     * 查询安全隐患信息列表
     */
    @SaCheckPermission("demo:dangerInfo:list")
    @GetMapping("/list")
    public TableDataInfo<RsDangerInfoVo> list(RsDangerInfoBo bo, PageQuery pageQuery) {
        return rsDangerInfoService.queryPageList(bo, pageQuery);
    }
    /**
     * 查询安全隐患类型
     */
    @GetMapping("/getDangerType")
    public List<RsDangerInfoVo> getDangerType() {
        return rsDangerInfoService.getDangerType();
    }
    /**
     * 导出安全隐患信息列表
     */
    @SaCheckPermission("demo:dangerInfo:export")
    @Log(title = "安全隐患信息", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(RsDangerInfoBo bo, HttpServletResponse response) {
        List<RsDangerInfoVo> list = rsDangerInfoService.queryList(bo);
        ExcelUtil.exportExcel(list, "安全隐患信息", RsDangerInfoVo.class, response);
    }
    /**
     * 获取安全隐患信息详细信息
     *
     * @param id 主键
     */
    @SaCheckPermission("demo:dangerInfo:query")
    @GetMapping("/{id}")
    public R<RsDangerInfoVo> getInfo(@NotNull(message = "主键不能为空")
                                     @PathVariable Long id) {
        return R.ok(rsDangerInfoService.queryById(id));
    }
    /**
     * 新增安全隐患信息
     */
    @SaCheckPermission("demo:dangerInfo:add")
    @Log(title = "安全隐患信息", businessType = BusinessType.INSERT)
    @RepeatSubmit()
    @PostMapping()
    public R<Void> add(@Validated(AddGroup.class) @RequestBody RsDangerInfoBo bo) {
        return toAjax(rsDangerInfoService.insertByBo(bo));
    }
    /**
     * 修改安全隐患信息
     */
    @SaCheckPermission("demo:dangerInfo:edit")
    @Log(title = "安全隐患信息", businessType = BusinessType.UPDATE)
    @RepeatSubmit()
    @PutMapping()
    public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsDangerInfoBo bo) {
        return toAjax(rsDangerInfoService.updateByBo(bo));
    }
    /**
     * 删除安全隐患信息
     *
     * @param ids 主键串
     */
    @SaCheckPermission("demo:dangerInfo:remove")
    @Log(title = "安全隐患信息", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public R<Void> remove(@NotEmpty(message = "主键不能为空")
                          @PathVariable Long[] ids) {
        return toAjax(rsDangerInfoService.deleteWithValidByIds(List.of(ids), true));
    }
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java
New file
@@ -0,0 +1,105 @@
package org.dromara.demo.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.demo.domain.vo.RsDangerTotalVo;
import org.dromara.demo.domain.bo.RsDangerTotalBo;
import org.dromara.demo.service.IRsDangerTotalService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
 * 安全隐患统计
 *
 * @author gonghl
 * @date 2024-02-29
 */
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/demo/dangerTotal")
public class RsDangerTotalController extends BaseController {
    private final IRsDangerTotalService rsDangerTotalService;
    /**
     * 查询安全隐患统计列表
     */
    @SaCheckPermission("demo:dangerTotal:list")
    @GetMapping("/list")
    public TableDataInfo<RsDangerTotalVo> list(RsDangerTotalBo bo, PageQuery pageQuery) {
        return rsDangerTotalService.queryPageList(bo, pageQuery);
    }
    /**
     * 导出安全隐患统计列表
     */
    @SaCheckPermission("demo:dangerTotal:export")
    @Log(title = "安全隐患统计", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(RsDangerTotalBo bo, HttpServletResponse response) {
        List<RsDangerTotalVo> list = rsDangerTotalService.queryList(bo);
        ExcelUtil.exportExcel(list, "安全隐患统计", RsDangerTotalVo.class, response);
    }
    /**
     * 获取安全隐患统计详细信息
     *
     * @param id 主键
     */
    @SaCheckPermission("demo:dangerTotal:query")
    @GetMapping("/{id}")
    public R<RsDangerTotalVo> getInfo(@NotNull(message = "主键不能为空")
                                     @PathVariable String id) {
        return R.ok(rsDangerTotalService.queryById(id));
    }
    /**
     * 新增安全隐患统计
     */
    @SaCheckPermission("demo:dangerTotal:add")
    @Log(title = "安全隐患统计", businessType = BusinessType.INSERT)
    @RepeatSubmit()
    @PostMapping()
    public R<Void> add(@Validated(AddGroup.class) @RequestBody RsDangerTotalBo bo) {
        return toAjax(rsDangerTotalService.insertByBo(bo));
    }
    /**
     * 修改安全隐患统计
     */
    @SaCheckPermission("demo:dangerTotal:edit")
    @Log(title = "安全隐患统计", businessType = BusinessType.UPDATE)
    @RepeatSubmit()
    @PutMapping()
    public R<Void> edit(@Validated(EditGroup.class) @RequestBody RsDangerTotalBo bo) {
        return toAjax(rsDangerTotalService.updateByBo(bo));
    }
    /**
     * 删除安全隐患统计
     *
     * @param ids 主键串
     */
    @SaCheckPermission("demo:dangerTotal:remove")
    @Log(title = "安全隐患统计", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public R<Void> remove(@NotEmpty(message = "主键不能为空")
                          @PathVariable String[] ids) {
        return toAjax(rsDangerTotalService.deleteWithValidByIds(List.of(ids), true));
    }
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerInfo.java
New file
@@ -0,0 +1,64 @@
package org.dromara.demo.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serial;
import java.util.Date;
/**
 * 安全隐患信息对象 rs_danger_info
 *
 * @author gonghl
 * @date 2024-02-27
 */
@Data
@TableName("rs_danger_info")
public class RsDangerInfo {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 编号
     */
    @TableId(value = "id")
    private Long id;
    /**
     * 通报时间
     */
    private String notificationTime;
    /**
     * 隐患类型
     */
    private String dangerType;
    /**
     * 责任单位
     */
    private String accountabilityUnit;
    /**
     * 整改时限
     */
    private String rectificationTimeLimit;
    /**
     * 完成情况
     */
    private String performance;
    /**
     * 启用状态 1启用 2未启用
     */
    private Long status;
    /**
     * 创建时间
     */
    private Date createTime;
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerTotal.java
New file
@@ -0,0 +1,69 @@
package org.dromara.demo.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serial;
import java.util.Date;
/**
 * 安全隐患统计对象 rs_danger_total
 *
 * @author gonghl
 * @date 2024-02-29
 */
@Data
@TableName("rs_danger_total")
public class RsDangerTotal {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 编号
     */
    @TableId(value = "id")
    private String id;
    /**
     * 镇街名称
     */
    private String townStreetName;
    /**
     * 年度/月度 1年度 2月度
     */
    private Long period;
    /**
     * 周期
     */
    private String periodDate;
    /**
     * 发现安全隐患
     */
    private Long findSecurityRisks;
    /**
     * 下发通知书
     */
    private Long issueNotice;
    /**
     * 处置安全隐患
     */
    private Long dealWithSecurityRisks;
    /**
     * 启用状态 1启用 2未启用
     */
    private Long status;
    /**
     * 创建时间
     */
    private Date createTime;
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java
New file
@@ -0,0 +1,66 @@
package org.dromara.demo.domain.bo;
import org.dromara.demo.domain.RsDangerInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
 * 安全隐患信息业务对象 rs_danger_info
 *
 * @author gonghl
 * @date 2024-02-27
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = RsDangerInfo.class, reverseConvertGenerate = false)
public class RsDangerInfoBo extends BaseEntity {
    /**
     * 编号
     */
    @NotNull(message = "编号不能为空", groups = { EditGroup.class })
    private Long id;
    /**
     * 通报时间
     */
    @NotBlank(message = "通报时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String notificationTime;
    /**
     * 隐患类型
     */
    @Size(min = 1, max = 15, message = "隐患类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dangerType;
    /**
     * 责任单位
     */
    @Size(min = 1, max = 15, message = "责任单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String accountabilityUnit;
    /**
     * 整改时限
     */
    @NotBlank(message = "整改时限不能为空", groups = { AddGroup.class, EditGroup.class })
    private String rectificationTimeLimit;
    /**
     * 完成情况
     */
    @Size(min = 1, max = 15, message = "完成情况不能为空", groups = { AddGroup.class, EditGroup.class })
    private String performance;
    /**
     * 启用状态 1启用 2未启用
     */
    @NotNull(message = "启用状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerTotalBo.java
New file
@@ -0,0 +1,72 @@
package org.dromara.demo.domain.bo;
import org.dromara.demo.domain.RsDangerTotal;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
 * 安全隐患统计业务对象 rs_danger_total
 *
 * @author gonghl
 * @date 2024-02-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = RsDangerTotal.class, reverseConvertGenerate = false)
public class RsDangerTotalBo extends BaseEntity {
    /**
     * 编号
     */
    @NotBlank(message = "编号不能为空", groups = { EditGroup.class })
    private String id;
    /**
     * 镇街名称
     */
    @NotBlank(message = "镇街名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String townStreetName;
    /**
     * 年度/月度 1年度 2月度
     */
    @NotNull(message = "年度/月度 1年度 2月度不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long period;
    /**
     * 周期
     */
    @NotBlank(message = "统计周期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String periodDate;
    /**
     * 发现安全隐患
     */
    @PositiveOrZero(message = "发现安全隐患不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long findSecurityRisks;
    /**
     * 下发通知书
     */
    @PositiveOrZero(message = "下发通知书不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long issueNotice;
    /**
     * 处置安全隐患
     */
    @PositiveOrZero(message = "处置安全隐患不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long dealWithSecurityRisks;
    /**
     * 启用状态 1启用 2未启用
     */
    @NotNull(message = "启用状态 1启用 2未启用不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java
New file
@@ -0,0 +1,78 @@
package org.dromara.demo.domain.vo;
import org.dromara.demo.domain.RsDangerInfo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
 * 安全隐患信息视图对象 rs_danger_info
 *
 * @author gonghl
 * @date 2024-02-27
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = RsDangerInfo.class)
public class RsDangerInfoVo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 编号
     */
    @ExcelProperty(value = "编号")
    private Long id;
    /**
     * 通报时间
     */
    @ExcelProperty(value = "通报时间")
    private String notificationTime;
    /**
     * 隐患类型
     */
    @ExcelProperty(value = "隐患类型")
    private String dangerType;
    /**
     * 责任单位
     */
    @ExcelProperty(value = "责任单位")
    private String accountabilityUnit;
    /**
     * 整改时限
     */
    @ExcelProperty(value = "整改时限")
    private String rectificationTimeLimit;
    /**
     * 完成情况
     */
    @ExcelProperty(value = "完成情况")
    private String performance;
    /**
     * 启用状态 1启用 2未启用
     */
    @ExcelProperty(value = "启用状态 1启用 2未启用")
    private Long status;
    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java
New file
@@ -0,0 +1,85 @@
package org.dromara.demo.domain.vo;
import org.dromara.demo.domain.RsDangerTotal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
 * 安全隐患统计视图对象 rs_danger_total
 *
 * @author gonghl
 * @date 2024-02-29
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = RsDangerTotal.class)
public class RsDangerTotalVo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 编号
     */
    @ExcelProperty(value = "编号")
    private String id;
    /**
     * 镇街名称
     */
    @ExcelProperty(value = "镇街名称")
    private String townStreetName;
    /**
     * 年度/月度 1年度 2月度
     */
    @ExcelProperty(value = "年度/月度 1年度 2月度")
    private Long period;
    /**
     * 周期
     */
    @ExcelProperty(value = "周期")
    private String periodDate;
    /**
     * 发现安全隐患
     */
    @ExcelProperty(value = "发现安全隐患")
    private Long findSecurityRisks;
    /**
     * 下发通知书
     */
    @ExcelProperty(value = "下发通知书")
    private Long issueNotice;
    /**
     * 处置安全隐患
     */
    @ExcelProperty(value = "处置安全隐患")
    private Long dealWithSecurityRisks;
    /**
     * 启用状态 1启用 2未启用
     */
    @ExcelProperty(value = "启用状态 1启用 2未启用")
    private Long status;
    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createTime;
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java
New file
@@ -0,0 +1,15 @@
package org.dromara.demo.mapper;
import org.dromara.demo.domain.RsDangerInfo;
import org.dromara.demo.domain.vo.RsDangerInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
 * 安全隐患信息Mapper接口
 *
 * @author gonghl
 * @date 2024-02-27
 */
public interface RsDangerInfoMapper extends BaseMapperPlus<RsDangerInfo, RsDangerInfoVo> {
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java
New file
@@ -0,0 +1,15 @@
package org.dromara.demo.mapper;
import org.dromara.demo.domain.RsDangerTotal;
import org.dromara.demo.domain.vo.RsDangerTotalVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
 * 安全隐患统计Mapper接口
 *
 * @author gonghl
 * @date 2024-02-29
 */
public interface RsDangerTotalMapper extends BaseMapperPlus<RsDangerTotal, RsDangerTotalVo> {
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerInfoService.java
New file
@@ -0,0 +1,54 @@
package org.dromara.demo.service;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.demo.domain.bo.RsDangerInfoBo;
import org.dromara.demo.domain.vo.RsDangerInfoVo;
import java.util.Collection;
import java.util.List;
/**
 * 安全隐患信息Service接口
 *
 * @author gonghl
 * @date 2024-02-27
 */
public interface IRsDangerInfoService {
    /**
     * 查询安全隐患信息
     */
    RsDangerInfoVo queryById(Long id);
    /**
     * 查询安全隐患信息列表
     */
    TableDataInfo<RsDangerInfoVo> queryPageList(RsDangerInfoBo bo, PageQuery pageQuery);
    /**
     * 查询安全隐患信息列表
     */
    List<RsDangerInfoVo> queryList(RsDangerInfoBo bo);
    /**
     * 新增安全隐患信息
     */
    Boolean insertByBo(RsDangerInfoBo bo);
    /**
     * 修改安全隐患信息
     */
    Boolean updateByBo(RsDangerInfoBo bo);
    /**
     * 校验并批量删除安全隐患信息信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
    /**
     * 获取隐患类型
     * @return 隐患类型查询条件
     */
    List<RsDangerInfoVo> getDangerType();
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java
New file
@@ -0,0 +1,48 @@
package org.dromara.demo.service;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.demo.domain.bo.RsDangerTotalBo;
import org.dromara.demo.domain.vo.RsDangerTotalVo;
import java.util.Collection;
import java.util.List;
/**
 * 安全隐患统计Service接口
 *
 * @author gonghl
 * @date 2024-02-29
 */
public interface IRsDangerTotalService {
    /**
     * 查询安全隐患统计
     */
    RsDangerTotalVo queryById(String id);
    /**
     * 查询安全隐患统计列表
     */
    TableDataInfo<RsDangerTotalVo> queryPageList(RsDangerTotalBo bo, PageQuery pageQuery);
    /**
     * 查询安全隐患统计列表
     */
    List<RsDangerTotalVo> queryList(RsDangerTotalBo bo);
    /**
     * 新增安全隐患统计
     */
    Boolean insertByBo(RsDangerTotalBo bo);
    /**
     * 修改安全隐患统计
     */
    Boolean updateByBo(RsDangerTotalBo bo);
    /**
     * 校验并批量删除安全隐患统计信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java
New file
@@ -0,0 +1,131 @@
package org.dromara.demo.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.demo.domain.bo.RsDangerInfoBo;
import org.dromara.demo.domain.vo.RsDangerInfoVo;
import org.dromara.demo.domain.RsDangerInfo;
import org.dromara.demo.mapper.RsDangerInfoMapper;
import org.dromara.demo.service.IRsDangerInfoService;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Collection;
import java.util.stream.Collectors;
/**
 * 安全隐患信息Service业务层处理
 *
 * @author gonghl
 * @date 2024-02-27
 */
@RequiredArgsConstructor
@Service
public class RsDangerInfoServiceImpl implements IRsDangerInfoService {
    private final RsDangerInfoMapper baseMapper;
    /**
     * 查询安全隐患信息
     */
    @Override
    public RsDangerInfoVo queryById(Long id){
        return baseMapper.selectVoById(id);
    }
    /**
     * 查询安全隐患信息列表
     */
    @Override
    public TableDataInfo<RsDangerInfoVo> queryPageList(RsDangerInfoBo bo, PageQuery pageQuery) {
        LambdaQueryWrapper<RsDangerInfo> lqw = buildQueryWrapper(bo);
        Page<RsDangerInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
        return TableDataInfo.build(result);
    }
    /**
     * 查询安全隐患信息列表
     */
    @Override
    public List<RsDangerInfoVo> queryList(RsDangerInfoBo bo) {
        LambdaQueryWrapper<RsDangerInfo> lqw = buildQueryWrapper(bo);
        return baseMapper.selectVoList(lqw);
    }
    private LambdaQueryWrapper<RsDangerInfo> buildQueryWrapper(RsDangerInfoBo bo) {
        Map<String, Object> params = bo.getParams();
        LambdaQueryWrapper<RsDangerInfo> lqw = Wrappers.lambdaQuery();
        lqw.eq(StringUtils.isNotBlank(bo.getNotificationTime()), RsDangerInfo::getNotificationTime, bo.getNotificationTime());
        lqw.eq(StringUtils.isNotBlank(bo.getDangerType()), RsDangerInfo::getDangerType, bo.getDangerType());
        lqw.eq(StringUtils.isNotBlank(bo.getAccountabilityUnit()), RsDangerInfo::getAccountabilityUnit, bo.getAccountabilityUnit());
        lqw.eq(StringUtils.isNotBlank(bo.getRectificationTimeLimit()), RsDangerInfo::getRectificationTimeLimit, bo.getRectificationTimeLimit());
        lqw.eq(StringUtils.isNotBlank(bo.getPerformance()), RsDangerInfo::getPerformance, bo.getPerformance());
        lqw.eq(bo.getStatus() != null, RsDangerInfo::getStatus, bo.getStatus());
        lqw.orderByDesc(RsDangerInfo::getCreateTime);
        return lqw;
    }
    /**
     * 新增安全隐患信息
     */
    @Override
    public Boolean insertByBo(RsDangerInfoBo bo) {
        RsDangerInfo add = MapstructUtils.convert(bo, RsDangerInfo.class);
        validEntityBeforeSave(add);
        boolean flag = baseMapper.insert(add) > 0;
        if (flag) {
            bo.setId(add.getId());
        }
        return flag;
    }
    /**
     * 修改安全隐患信息
     */
    @Override
    public Boolean updateByBo(RsDangerInfoBo bo) {
        RsDangerInfo update = MapstructUtils.convert(bo, RsDangerInfo.class);
        validEntityBeforeSave(update);
        return baseMapper.updateById(update) > 0;
    }
    /**
     * 保存前的数据校验
     */
    private void validEntityBeforeSave(RsDangerInfo entity){
        // 创建时间
        if (entity.getCreateTime() == null) {
            entity.setCreateTime(new Date());
        }
    }
    /**
     * 批量删除安全隐患信息
     */
    @Override
    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
        if(isValid){
            //TODO 做一些业务上的校验,判断是否需要校验
        }
        return baseMapper.deleteBatchIds(ids) > 0;
    }
    /**
     * 获取隐患类型
     * @return 隐患类型查询条件
     */
    @Override
    public List<RsDangerInfoVo> getDangerType() {
        LambdaQueryWrapper<RsDangerInfo> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.groupBy(RsDangerInfo::getDangerType).select(RsDangerInfo::getDangerType).orderByAsc(RsDangerInfo::getCreateTime);
        return baseMapper.selectVoList(queryWrapper);
    }
}
dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
New file
@@ -0,0 +1,119 @@
package org.dromara.demo.service.impl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.demo.domain.bo.RsDangerTotalBo;
import org.dromara.demo.domain.vo.RsDangerTotalVo;
import org.dromara.demo.domain.RsDangerTotal;
import org.dromara.demo.mapper.RsDangerTotalMapper;
import org.dromara.demo.service.IRsDangerTotalService;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
 * 安全隐患统计Service业务层处理
 *
 * @author gonghl
 * @date 2024-02-29
 */
@RequiredArgsConstructor
@Service
public class RsDangerTotalServiceImpl implements IRsDangerTotalService {
    private final RsDangerTotalMapper baseMapper;
    /**
     * 查询安全隐患统计
     */
    @Override
    public RsDangerTotalVo queryById(String id){
        return baseMapper.selectVoById(id);
    }
    /**
     * 查询安全隐患统计列表
     */
    @Override
    public TableDataInfo<RsDangerTotalVo> queryPageList(RsDangerTotalBo bo, PageQuery pageQuery) {
        LambdaQueryWrapper<RsDangerTotal> lqw = buildQueryWrapper(bo);
        Page<RsDangerTotalVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
        return TableDataInfo.build(result);
    }
    /**
     * 查询安全隐患统计列表
     */
    @Override
    public List<RsDangerTotalVo> queryList(RsDangerTotalBo bo) {
        LambdaQueryWrapper<RsDangerTotal> lqw = buildQueryWrapper(bo);
        return baseMapper.selectVoList(lqw);
    }
    private LambdaQueryWrapper<RsDangerTotal> buildQueryWrapper(RsDangerTotalBo bo) {
        Map<String, Object> params = bo.getParams();
        LambdaQueryWrapper<RsDangerTotal> lqw = Wrappers.lambdaQuery();
        lqw.like(StringUtils.isNotBlank(bo.getTownStreetName()), RsDangerTotal::getTownStreetName, bo.getTownStreetName());
        lqw.eq(bo.getPeriod() != null, RsDangerTotal::getPeriod, bo.getPeriod());
        lqw.eq(StringUtils.isNotBlank(bo.getPeriodDate()), RsDangerTotal::getPeriodDate, bo.getPeriodDate());
        lqw.eq(bo.getFindSecurityRisks() != null, RsDangerTotal::getFindSecurityRisks, bo.getFindSecurityRisks());
        lqw.eq(bo.getIssueNotice() != null, RsDangerTotal::getIssueNotice, bo.getIssueNotice());
        lqw.eq(bo.getDealWithSecurityRisks() != null, RsDangerTotal::getDealWithSecurityRisks, bo.getDealWithSecurityRisks());
        lqw.eq(bo.getStatus() != null, RsDangerTotal::getStatus, bo.getStatus());
        return lqw;
    }
    /**
     * 新增安全隐患统计
     */
    @Override
    public Boolean insertByBo(RsDangerTotalBo bo) {
        RsDangerTotal add = MapstructUtils.convert(bo, RsDangerTotal.class);
        validEntityBeforeSave(add);
        boolean flag = baseMapper.insert(add) > 0;
        if (flag) {
            bo.setId(add.getId());
        }
        return flag;
    }
    /**
     * 修改安全隐患统计
     */
    @Override
    public Boolean updateByBo(RsDangerTotalBo bo) {
        RsDangerTotal update = MapstructUtils.convert(bo, RsDangerTotal.class);
        validEntityBeforeSave(update);
        return baseMapper.updateById(update) > 0;
    }
    /**
     * 保存前的数据校验
     */
    private void validEntityBeforeSave(RsDangerTotal entity){
        // 创建时间
        if (entity.getCreateTime() == null) {
            entity.setCreateTime(new Date());
        }
    }
    /**
     * 批量删除安全隐患统计
     */
    @Override
    public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
        if(isValid){
            //TODO 做一些业务上的校验,判断是否需要校验
        }
        return baseMapper.deleteBatchIds(ids) > 0;
    }
}
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml
New file
@@ -0,0 +1,7 @@
<?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="org.dromara.demo.mapper.RsDangerInfoMapper">
</mapper>
dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml
New file
@@ -0,0 +1,7 @@
<?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="org.dromara.demo.mapper.RsDangerTotalMapper">
</mapper>