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