From f84f43022823292e33cc4a5abad89d3fa29f063a Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期五, 29 八月 2025 17:35:50 +0800
Subject: [PATCH] 通知公告
---
src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java | 63 ++++++++++++
src/main/java/com/ruoyi/collaborativeApproval/dto/NoticeDTO.java | 11 ++
src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java | 78 +++++++++++++++
src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeServiceImpl.java | 45 +++++++++
src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeMapper.java | 20 ++++
src/main/java/com/ruoyi/collaborativeApproval/service/NoticeService.java | 17 +++
src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml | 21 ++++
7 files changed, 255 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java
new file mode 100644
index 0000000..df8e248
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java
@@ -0,0 +1,63 @@
+package com.ruoyi.collaborativeApproval.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.collaborativeApproval.dto.NoticeDTO;
+import com.ruoyi.collaborativeApproval.service.NoticeService;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+@Api(tags = "閫氱煡鍏憡")
+@RequestMapping("/collaborativeApproval/notice")
+public class NoticeController extends BaseController {
+
+ private final NoticeService noticeService;
+
+ @GetMapping("/page")
+ @Log(title = "鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ public AjaxResult listPage(Page page, NoticeDTO noticeDTO){
+ return AjaxResult.success(noticeService.listPage(page, noticeDTO));
+ }
+
+ @PostMapping("/add")
+ @Log(title = "鏂板", businessType = BusinessType.INSERT)
+ @ApiOperation("鏂板")
+ public AjaxResult add(@RequestBody NoticeDTO noticeDTO){
+ return AjaxResult.success(noticeService.save(noticeDTO));
+ }
+
+ @PutMapping("/update")
+ @Log(title = "淇敼", businessType = BusinessType.UPDATE)
+ @ApiOperation("淇敼")
+ public AjaxResult update(@RequestBody NoticeDTO noticeDTO){
+ return AjaxResult.success(noticeService.updateById(noticeDTO));
+ }
+
+ @DeleteMapping("/{ids}")
+ @Log(title = "鍒犻櫎", businessType = BusinessType.DELETE)
+ @ApiOperation("鍒犻櫎")
+ public AjaxResult delete(@PathVariable("ids") List<Long> ids){
+ if (CollectionUtils.isEmpty(ids)) {
+ throw new RuntimeException("璇蜂紶鍏ヨ鍒犻櫎鐨処D");
+ }
+ return AjaxResult.success(noticeService.removeBatchByIds(ids));
+ }
+
+ @GetMapping("/count")
+ @Log(title = "鑾峰彇鍏憡鏁伴噺", businessType = BusinessType.OTHER)
+ @ApiOperation("鑾峰彇鍏憡鏁伴噺")
+ public AjaxResult count(){
+ return AjaxResult.success(noticeService.selectCount());
+ }
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/dto/NoticeDTO.java b/src/main/java/com/ruoyi/collaborativeApproval/dto/NoticeDTO.java
new file mode 100644
index 0000000..ade8acb
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/dto/NoticeDTO.java
@@ -0,0 +1,11 @@
+package com.ruoyi.collaborativeApproval.dto;
+
+import com.ruoyi.collaborativeApproval.pojo.Notice;
+import lombok.Data;
+
+@Data
+public class NoticeDTO extends Notice {
+ private String CreateUserName;
+
+ private Long count;
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeMapper.java b/src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeMapper.java
new file mode 100644
index 0000000..1b6d67d
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.collaborativeApproval.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.collaborativeApproval.dto.NoticeDTO;
+import com.ruoyi.collaborativeApproval.pojo.Notice;
+import org.apache.ibatis.annotations.Param;
+
+public interface NoticeMapper extends BaseMapper<Notice> {
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param page
+ * @param noticeDTO
+ * @return
+ */
+ IPage<NoticeDTO> listPage(Page page, @Param("ew") NoticeDTO noticeDTO);
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java b/src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java
new file mode 100644
index 0000000..ef046ac
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java
@@ -0,0 +1,78 @@
+package com.ruoyi.collaborativeApproval.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+/**
+ * 鍏憡琛�
+ *
+ */
+@Data
+@TableName("notice")
+@ApiModel
+public class Notice {
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+
+ /**
+ * 鍏憡鏍囬
+ */
+ @ApiModelProperty("鍏憡鏍囬")
+ private String title;
+
+ /**
+ * 鍏憡绫诲瀷锛�1鏀惧亣閫氱煡 2璁惧缁翠慨閫氱煡锛�
+ */
+ @ApiModelProperty("鍏憡绫诲瀷锛�1鏀惧亣閫氱煡 2璁惧缁翠慨閫氱煡锛�")
+ private Integer type;
+
+ /**
+ * 鐘舵�侊紙0鑽夌 1鍙戝竷 2宸蹭笅绾匡級
+ */
+ @ApiModelProperty("鐘舵�侊紙0鑽夌 1鍙戝竷 2宸蹭笅绾匡級")
+ private Integer status;
+
+ /**
+ * 鍏憡鍐呭
+ */
+ @ApiModelProperty("鍏憡鍐呭")
+ private String content;
+
+ /**
+ * 浼樺厛绾�(1鏅�� 2閲嶈 3绱ф��)
+ */
+ @ApiModelProperty("浼樺厛绾�(1鏅�� 2閲嶈 3绱ф��)")
+ private Integer priority;
+
+ /**
+ * 鍒涘缓鑰�
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ /**
+ * 绉熸埛ID
+ */
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty("澶囨敞")
+ private String remark;
+
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/NoticeService.java b/src/main/java/com/ruoyi/collaborativeApproval/service/NoticeService.java
new file mode 100644
index 0000000..31ded68
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/NoticeService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.collaborativeApproval.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.collaborativeApproval.dto.NoticeDTO;
+import com.ruoyi.collaborativeApproval.pojo.Notice;
+
+import java.util.List;
+
+
+public interface NoticeService extends IService<Notice> {
+
+ IPage<NoticeDTO> listPage(Page page, NoticeDTO noticeDTO);
+
+ List<NoticeDTO> selectCount();
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeServiceImpl.java
new file mode 100644
index 0000000..8f2216b
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeServiceImpl.java
@@ -0,0 +1,45 @@
+package com.ruoyi.collaborativeApproval.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.collaborativeApproval.dto.NoticeDTO;
+import com.ruoyi.collaborativeApproval.mapper.NoticeMapper;
+import com.ruoyi.collaborativeApproval.pojo.Notice;
+import com.ruoyi.collaborativeApproval.service.NoticeService;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@Slf4j
+@AllArgsConstructor
+public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> implements NoticeService {
+
+ private final NoticeMapper noticeMapper;
+
+ @Override
+ public IPage<NoticeDTO> listPage(Page page, NoticeDTO noticeDTO) {
+ return noticeMapper.listPage(page, noticeDTO);
+ }
+
+ @Override
+ public List<NoticeDTO> selectCount() {
+ List<NoticeDTO> result = new ArrayList<>();
+ NoticeDTO notice = new NoticeDTO();
+ notice.setType(1);
+ notice.setCount(noticeMapper.selectCount(new LambdaQueryWrapper<Notice>().eq(Notice::getType, 1)));
+ result.add(notice);
+
+ NoticeDTO notice1 = new NoticeDTO();
+ notice1.setType(2);
+ notice1.setCount(noticeMapper.selectCount(new LambdaQueryWrapper<Notice>().eq(Notice::getType, 2)));
+ result.add(notice1);
+
+ return result;
+ }
+}
diff --git a/src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml b/src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml
new file mode 100644
index 0000000..5f646ad
--- /dev/null
+++ b/src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.collaborativeApproval.mapper.NoticeMapper">
+
+ <select id="listPage" resultType="com.ruoyi.collaborativeApproval.dto.NoticeDTO">
+ select n.*, su.user_name as create_user_name
+ from notice n
+ left join sys_user su on n.create_user = su.user_id
+ <where>
+ <if test="ew.title != null and ew.title != ''">
+ and n.title like concat('%',#{ew.title},'%')
+ </if>
+ <if test="ew.type != null">
+ and n.type = #{ew.type}
+ </if>
+ <if test="ew.status != null">
+ and n.status = #{ew.status}
+ </if>
+ </where>
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3