chenhj
6 天以前 f84f43022823292e33cc4a5abad89d3fa29f063a
通知公告
已添加7个文件
255 ■■■■■ 文件已修改
src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/collaborativeApproval/dto/NoticeDTO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeMapper.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/collaborativeApproval/service/NoticeService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeServiceImpl.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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("请传入要删除的ID");
        }
        return AjaxResult.success(noticeService.removeBatchByIds(ids));
    }
    @GetMapping("/count")
    @Log(title = "获取公告数量", businessType = BusinessType.OTHER)
    @ApiOperation("获取公告数量")
    public AjaxResult count(){
        return AjaxResult.success(noticeService.selectCount());
    }
}
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;
}
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);
}
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;
}
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();
}
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;
    }
}
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>