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