From d17e1cf11d255c68e0bd8c455badb776d64f346b Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 01 三月 2024 11:52:26 +0800
Subject: [PATCH] 安全隐患基础功能

---
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java         |   48 ++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java    |  105 +++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java              |   78 ++++
 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml                    |    7 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java             |   85 ++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerTotal.java                  |   69 +++
 dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml                     |    7 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java |  119 ++++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerInfo.java                   |   64 +++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java            |   15 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerTotalBo.java             |   72 ++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java             |   15 
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java              |   66 +++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerInfoService.java          |   54 +++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerInfoController.java     |  113 ++++++
 dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java  |  131 +++++++
 16 files changed, 1,048 insertions(+), 0 deletions(-)

diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerInfoController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerInfoController.java
new file mode 100644
index 0000000..0213034
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerInfoController.java
@@ -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));
+    }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java
new file mode 100644
index 0000000..2c18a07
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/controller/RsDangerTotalController.java
@@ -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));
+    }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerInfo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerInfo.java
new file mode 100644
index 0000000..5eac7b1
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerInfo.java
@@ -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;
+
+    /**
+     * 璐d换鍗曚綅
+     */
+    private String accountabilityUnit;
+
+    /**
+     * 鏁存敼鏃堕檺
+     */
+    private String rectificationTimeLimit;
+
+    /**
+     * 瀹屾垚鎯呭喌
+     */
+    private String performance;
+
+    /**
+     * 鍚敤鐘舵�� 1鍚敤 2鏈惎鐢�
+     */
+    private Long status;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    private Date createTime;
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerTotal.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerTotal.java
new file mode 100644
index 0000000..563f1be
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/RsDangerTotal.java
@@ -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;
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java
new file mode 100644
index 0000000..aff7aba
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerInfoBo.java
@@ -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;
+
+    /**
+     * 璐d换鍗曚綅
+     */
+    @Size(min = 1, max = 15, message = "璐d换鍗曚綅涓嶈兘涓虹┖", 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;
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerTotalBo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerTotalBo.java
new file mode 100644
index 0000000..5bcd911
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/bo/RsDangerTotalBo.java
@@ -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;
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java
new file mode 100644
index 0000000..75ac126
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerInfoVo.java
@@ -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;
+
+    /**
+     * 璐d换鍗曚綅
+     */
+    @ExcelProperty(value = "璐d换鍗曚綅")
+    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;
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java
new file mode 100644
index 0000000..5a81b80
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/domain/vo/RsDangerTotalVo.java
@@ -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;
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java
new file mode 100644
index 0000000..c8199a4
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerInfoMapper.java
@@ -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> {
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java
new file mode 100644
index 0000000..4f2ea63
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/mapper/RsDangerTotalMapper.java
@@ -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> {
+
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerInfoService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerInfoService.java
new file mode 100644
index 0000000..497fbd8
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerInfoService.java
@@ -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);
+
+    /**
+     * 鏍¢獙骞舵壒閲忓垹闄ゅ畨鍏ㄩ殣鎮d俊鎭俊鎭�
+     */
+    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /**
+     * 鑾峰彇闅愭偅绫诲瀷
+     * @return 闅愭偅绫诲瀷鏌ヨ鏉′欢
+     */
+    List<RsDangerInfoVo> getDangerType();
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java
new file mode 100644
index 0000000..4de6d38
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/IRsDangerTotalService.java
@@ -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);
+
+    /**
+     * 鏍¢獙骞舵壒閲忓垹闄ゅ畨鍏ㄩ殣鎮g粺璁′俊鎭�
+     */
+    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java
new file mode 100644
index 0000000..2fa4a3c
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerInfoServiceImpl.java
@@ -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);
+    }
+}
diff --git a/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
new file mode 100644
index 0000000..6c7d0b7
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/java/org/dromara/demo/service/impl/RsDangerTotalServiceImpl.java
@@ -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;
+    }
+}
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml
new file mode 100644
index 0000000..1f123df
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerInfoMapper.xml
@@ -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>
diff --git a/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml
new file mode 100644
index 0000000..51741a8
--- /dev/null
+++ b/dujy-modules/dujy-demo/src/main/resources/mapper/demo/RsDangerTotalMapper.xml
@@ -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>

--
Gitblit v1.8.0