yaowanxin
2 天以前 23e4a139784cfdd88d3a9c35df1e0071fc3fa0b4
行政管理、通知、会议、文件共享。工具类-String数组转varcher存Mysql
已添加13个文件
465 ■■■■■ 文件已修改
src/main/java/com/ruoyi/approve/controller/NotificationManagementController.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/mapper/FileSharingMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/mapper/NotificationManagementMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/mapper/OnlineMeetingMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/pojo/FileSharing.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/pojo/NotificationManagement.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/pojo/OnlineMeeting.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/NotificationManagementService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/service/impl/NotificationManagementServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/utils/ListToStringTypeHandler.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/approve/FileSharingMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/approve/NotificationManagementMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/approve/OnlineMeetingMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/approve/controller/NotificationManagementController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,82 @@
package com.ruoyi.approve.controller;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.approve.mapper.FileSharingMapper;
import com.ruoyi.approve.mapper.OnlineMeetingMapper;
import com.ruoyi.approve.pojo.FileSharing;
import com.ruoyi.approve.pojo.NotificationManagement;
import com.ruoyi.approve.pojo.OnlineMeeting;
import com.ruoyi.approve.service.NotificationManagementService;
import com.ruoyi.framework.web.domain.AjaxResult;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/notificationManagement")
@AllArgsConstructor
public class NotificationManagementController {
    @Autowired
    private NotificationManagementService notificationManagementService ;
    @Autowired
    private OnlineMeetingMapper onlineMeetingMapper;
    @Autowired
    private FileSharingMapper fileSharingMapper;
    /**、
     * èŽ·å–åˆ—è¡¨
     * @return
     */
    @GetMapping("/getList")
    public AjaxResult getList(@RequestParam(defaultValue = "1") long current,
                              @RequestParam(defaultValue = "50") long size, NotificationManagement notificationManagement) {
        Page page = new Page(current, size);
        return AjaxResult.success(notificationManagementService.listpage(page,notificationManagement));
    }
    /**、
     * å¢žæ·»
     * @return
     */
    @PostMapping("/add")
    public AjaxResult add(@RequestBody NotificationManagement notificationManagement){
        return AjaxResult.success(notificationManagementService.save(notificationManagement));
    }
    /**
     * æ›´æ–°
     * @return
     */
    @PostMapping("/update")
    public AjaxResult update(@RequestBody NotificationManagement notificationManagement){
        return AjaxResult.success(notificationManagementService.updateById(notificationManagement));
    }
    /**
     * åˆ é™¤
     * @return
     */
    @DeleteMapping("/delete")
    public AjaxResult delete(@RequestBody List<Long> ids){
        if(CollectionUtils.isEmpty(ids)) return AjaxResult.error("请传入要删除的ID");
        return AjaxResult.success(notificationManagementService.removeByIds(ids));
    }
    /**
     *新增会议
     * @param onlineMeeting
     * @return
     */
    @PostMapping("/addOnlineMeeting")
    public AjaxResult addOnlineMeeting(@RequestBody OnlineMeeting onlineMeeting){
        return AjaxResult.success(onlineMeetingMapper.insert(onlineMeeting));
    }
    /**
     *新增文件共享
     *
     */
    @PostMapping("/addFileSharing")
    public AjaxResult addFileSharing(@RequestBody FileSharing fileSharing){
        return AjaxResult.success(fileSharingMapper.insert(fileSharing));
    }
}
src/main/java/com/ruoyi/approve/mapper/FileSharingMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
package com.ruoyi.approve.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.approve.pojo.FileSharing;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface FileSharingMapper extends BaseMapper<FileSharing> {
}
src/main/java/com/ruoyi/approve/mapper/NotificationManagementMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.ruoyi.approve.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.approve.pojo.NotificationManagement;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface NotificationManagementMapper extends BaseMapper<NotificationManagement> {
    IPage<NotificationManagement> listpage(Page<NotificationManagement> page,@Param("notificationManagement") NotificationManagement notificationManagement);
}
src/main/java/com/ruoyi/approve/mapper/OnlineMeetingMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
package com.ruoyi.approve.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.approve.pojo.OnlineMeeting;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OnlineMeetingMapper extends BaseMapper<OnlineMeeting> {
}
src/main/java/com/ruoyi/approve/pojo/FileSharing.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package com.ruoyi.approve.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.approve.utils.ListToStringTypeHandler;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
@Data
@TableName("file_sharing")
public class FileSharing implements Serializable {
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * å…±äº«æ ‡é¢˜
     */
    private String title;
    /**
     * ä¸Šä¼ æ–‡ä»¶
     */
//    private String files;
    @TableField(value = "files",typeHandler = ListToStringTypeHandler.class)
    private List<String> files;
    /**
     * æŽ¥æ”¶éƒ¨é—¨
     */
    @TableField(value = "departments",typeHandler = ListToStringTypeHandler.class)
    private List<String> departments;
    /**
     * å…±äº«æè¿°
     */
    private String description;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * æ›´æ–°æ—¶é—´
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    /**
     * åˆ›å»ºäºº
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    /**
     * æ›´æ–°äºº
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    /**
     * ç§Ÿæˆ·ID
     */
    @TableField(fill = FieldFill.INSERT)
    private Long tenantId;
}
src/main/java/com/ruoyi/approve/pojo/NotificationManagement.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
package com.ruoyi.approve.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.approve.utils.ListToStringTypeHandler;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Data
@TableName("notification_management")
public class NotificationManagement implements Serializable {
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * é€šçŸ¥æ ‡é¢˜
     */
    private String title;
    /**
     * é€šçŸ¥ç±»åž‹
     */
    private String type;
    /**
     * ä¼˜å…ˆçº§
     */
    private String priority;
    /**
     * é€šçŸ¥çŠ¶æ€
     */
    private String status;
    /**
     * æœ‰æ•ˆæœŸæ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate expireDate;
    /**
     * æŽ¥æ”¶éƒ¨é—¨
     */
    @TableField(value = "departments",typeHandler = ListToStringTypeHandler.class)
    private List<String> departments;
    /**
     * åŒæ­¥æ–¹å¼
     */
    @TableField(value = "sync_methods",typeHandler = ListToStringTypeHandler.class)
    private List<String> syncMethods;
    /**
     * é€šçŸ¥å†…容
     */
    private String content;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * æ›´æ–°æ—¶é—´
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    /**
     * åˆ›å»ºäºº
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    /**
     * æ›´æ–°äºº
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    /**
     * ç§Ÿæˆ·ID
     */
    @TableField(fill = FieldFill.INSERT)
    private Long tenantId;
}
src/main/java/com/ruoyi/approve/pojo/OnlineMeeting.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
package com.ruoyi.approve.pojo;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.approve.utils.ListToStringTypeHandler;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
@Data
@TableName("online_meeting")
public class OnlineMeeting implements Serializable {
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * ä¼šè®®æ ‡é¢˜
     */
    private String title;
    /**
     * å¼€å§‹æ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    /**
     * ä¼šè®®æ—¶é•¿
     */
    private Integer duration;
    /**
     * ä¼šè®®å¹³å°
     */
    private String platform;
    /**
     * ä¼šè®®æè¿°
     */
    private String description;
    /**
     * å‚会人员
     */
    @TableField(value = "participants",typeHandler = ListToStringTypeHandler.class)
    private List<String> participants;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * æ›´æ–°æ—¶é—´
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    /**
     * åˆ›å»ºäºº
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    /**
     * æ›´æ–°äºº
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    /**
     * ç§Ÿæˆ·ID
     */
    @TableField(fill = FieldFill.INSERT)
    private Long tenantId;
}
src/main/java/com/ruoyi/approve/service/NotificationManagementService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.ruoyi.approve.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.approve.pojo.NotificationManagement;
public interface NotificationManagementService extends IService<NotificationManagement> {
    IPage listpage(Page page, NotificationManagement notificationManagement);
}
src/main/java/com/ruoyi/approve/service/impl/NotificationManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.ruoyi.approve.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.approve.mapper.NotificationManagementMapper;
import com.ruoyi.approve.pojo.NotificationManagement;
import com.ruoyi.approve.service.NotificationManagementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class NotificationManagementServiceImpl extends ServiceImpl<NotificationManagementMapper, NotificationManagement> implements NotificationManagementService {
    @Autowired
    private NotificationManagementMapper notificationManagementMapper;
    @Override
    public IPage<NotificationManagement> listpage(Page page, NotificationManagement notificationManagement) {
//        // 1. åˆ›å»º Page å®žä¾‹ï¼ˆIPage å®žçŽ°ç±»ï¼‰ï¼ŒæŒ‡å®šé¡µç å’Œæ¯é¡µæ¡æ•°
//        IPage<NotificationManagement> page1 = new Page<>(page.getCurrent(), page.getSize());
        return notificationManagementMapper.listpage(page,notificationManagement);
    }
}
src/main/java/com/ruoyi/approve/utils/ListToStringTypeHandler.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package com.ruoyi.approve.utils;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@MappedTypes(List.class)
@MappedJdbcTypes(JdbcType.VARCHAR)
public class ListToStringTypeHandler extends BaseTypeHandler<List<String>> {
    private static final String SEPARATOR = ",";
    @Override
    public void setNonNullParameter(PreparedStatement ps, int i, List<String> parameter, JdbcType jdbcType) throws SQLException {
        if (parameter == null) {
            ps.setString(i, null);
        } else {
            ps.setString(i, String.join(SEPARATOR, parameter));
        }
    }
    @Override
    public List<String> getNullableResult(ResultSet rs, String columnName) throws SQLException {
        String value = rs.getString(columnName);
        return value != null && !value.isEmpty() ? Arrays.asList(value.split(SEPARATOR)) : new ArrayList<>();
    }
    @Override
    public List<String> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
        String value = rs.getString(columnIndex);
        return value != null && !value.isEmpty() ? Arrays.asList(value.split(SEPARATOR)) : new ArrayList<>();
    }
    @Override
    public List<String> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
        String value = cs.getString(columnIndex);
        return value != null && !value.isEmpty() ? Arrays.asList(value.split(SEPARATOR)) : new ArrayList<>();
    }
}
src/main/resources/mapper/approve/FileSharingMapper.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="com.ruoyi.approve.mapper.FileSharingMapper">
</mapper>
src/main/resources/mapper/approve/NotificationManagementMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
<?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.approve.mapper.NotificationManagementMapper">
    <select id="listpage" resultType="com.ruoyi.approve.pojo.NotificationManagement">
        select * from notification_management
        <where>
            1=1
            <if test="notificationManagement.title != null and notificationManagement.title != ''">
                and title like concat('%',#{notificationManagement.title},'%')
            </if>
            <if test="notificationManagement.type != null">
                and type = #{notificationManagement.type}
            </if>
        </where>
    </select>
</mapper>
src/main/resources/mapper/approve/OnlineMeetingMapper.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="com.ruoyi.approve.mapper.OnlineMeetingMapper">
</mapper>