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