diff --git a/db/23年7月变更.sql b/db/23年7月变更.sql index ed999d5d..3bc78639 100644 --- a/db/23年7月变更.sql +++ b/db/23年7月变更.sql @@ -18,3 +18,5 @@ create table pay_meeting_guests_file alter table pay_meeting_guests_file add primary key (id); +ALTER TABLE sys_announcement_send ADD deadline datetime COMMENT '截止时间'; + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/system/controller/SystemSendMessageController.java b/jero-boot-incoming-payment/src/main/java/com/jero/system/controller/SystemSendMessageController.java index 0004fb6e..894cca36 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/system/controller/SystemSendMessageController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/system/controller/SystemSendMessageController.java @@ -31,6 +31,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.core.env.Environment; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; @@ -80,7 +81,8 @@ public class SystemSendMessageController { @GetMapping(value = "/sendAllUserMessage") @RequiresPermissions("template:add:systemNotifications") @Transactional - public Result sendAllUserMessage(@RequestParam("content") String content) { + public Result sendAllUserMessage(@RequestParam("content") String content, + @RequestParam("deadline") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date deadline) { List listPayContactsManagement = payContactsManagementService.list(); if(!CollectionUtils.isEmpty(listPayContactsManagement)){ SysAnnouncement announcement = new SysAnnouncement(); @@ -118,6 +120,7 @@ public class SystemSendMessageController { announcementSend.setAnntId(anntId); announcementSend.setUserId(user.getId()); announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); + announcementSend.setDeadline(deadline); // 截止时间 sysAnnouncementSendService.save(announcementSend); JSONObject obj = new JSONObject(); obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementSendController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementSendController.java index 08acef6e..d55ac14b 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementSendController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysAnnouncementSendController.java @@ -2,10 +2,12 @@ package com.jero.modules.system.controller; import java.util.Arrays; import java.util.Date; +import java.util.List; import javax.servlet.http.HttpServletRequest; import com.jero.common.aspect.annotation.AutoLog; +import io.swagger.annotations.ApiOperation; import org.apache.shiro.SecurityUtils; import com.jero.common.api.vo.Result; import com.jero.common.constant.CommonConstant; @@ -265,6 +267,39 @@ public class SysAnnouncementSendController { return result; } + /** + * @功能:企业端获取我的消息(截止时间未读消息) + * @return + */ + @GetMapping(value = "/getDeadlineUnreadSend") + @ApiOperation(value="企业端获取我的消息(截止时间未读消息)", notes="企业端获取我的消息(截止时间未读消息)") + public Result> getDeadlineUnreadSend(AnnouncementSendModel announcementSendModel) { + LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); + String userId = sysUser.getId(); + announcementSendModel.setUserId(userId); + announcementSendModel.setDeadline(new Date()); + announcementSendModel.setReadFlag(CommonConstant.NO_READ_FLAG); + List pageList = sysAnnouncementSendService.getDeadlineUnreadSend(announcementSendModel); + return Result.OK(pageList); + } + + /** + * @Remarks: 一键已读(截止时间未读消息) + **/ + @GetMapping(value = "/allReadDeadlineUnreadSend") + @ApiOperation(value="一键已读(截止时间未读消息)", notes="一键已读(截止时间未读消息)") + public Result allReadDeadlineUnreadSend(@RequestParam("anntIds") String anntIds) { + LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); + String userId = sysUser.getId(); + LambdaUpdateWrapper updateWrapper = new UpdateWrapper().lambda(); + updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG); + updateWrapper.set(SysAnnouncementSend::getReadTime, new Date()); + updateWrapper.in(SysAnnouncementSend::getAnntId, Arrays.asList(anntIds.split(","))); + updateWrapper.eq(SysAnnouncementSend::getUserId, userId); + sysAnnouncementSendService.update(updateWrapper); + return Result.OK("操作成功"); + } + /** * @功能:一键已读 * @return diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncementSend.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncementSend.java index 36c32a32..99da0121 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncementSend.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysAnnouncementSend.java @@ -45,4 +45,9 @@ public class SysAnnouncementSend implements Serializable { @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private java.util.Date updateTime; + + /**截止时间*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private java.util.Date deadline; } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysAnnouncementSendMapper.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysAnnouncementSendMapper.java index bf116af7..1cec8242 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysAnnouncementSendMapper.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysAnnouncementSendMapper.java @@ -28,4 +28,9 @@ public interface SysAnnouncementSendMapper extends BaseMapper getMyAnnouncementSendList(Page page,@Param("announcementSendModel") AnnouncementSendModel announcementSendModel); + /** + * @Remarks: 获取截止时间后未读的消息 + **/ + List getMyAnnouncementSendList(@Param("announcementSendModel") AnnouncementSendModel announcementSendModel); + } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml index d0e4b4ff..96a7381b 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml @@ -24,53 +24,56 @@ \ No newline at end of file diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java index 841fd7ce..c67bfb0f 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/model/AnnouncementSendModel.java @@ -8,6 +8,7 @@ import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; +import java.util.Date; /** * @Description: 用户通告阅读标记表 @@ -92,4 +93,9 @@ public class AnnouncementSendModel implements Serializable { * 跳转参数 */ private String jumpParameter; + + /** + * @Remarks: 截止时间 + **/ + private Date deadline; } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysAnnouncementSendService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysAnnouncementSendService.java index 74413002..670fa7e4 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysAnnouncementSendService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysAnnouncementSendService.java @@ -25,4 +25,8 @@ public interface ISysAnnouncementSendService extends IService getMyAnnouncementSendPage(Page page,AnnouncementSendModel announcementSendModel); + /** + * @Remarks: 企业端获取我的消息(截止时间未读消息) + **/ + List getDeadlineUnreadSend(AnnouncementSendModel announcementSendModel); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysAnnouncementSendServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysAnnouncementSendServiceImpl.java index 52a65b6a..4ae90e72 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysAnnouncementSendServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysAnnouncementSendServiceImpl.java @@ -36,4 +36,12 @@ public class SysAnnouncementSendServiceImpl extends ServiceImpl getDeadlineUnreadSend(AnnouncementSendModel announcementSendModel) { + return sysAnnouncementSendMapper.getMyAnnouncementSendList(announcementSendModel); + } + }