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>