diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/controller/AiolCourseSectionController.java b/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/controller/AiolCourseSectionController.java index 0e2cd116..114ade77 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/controller/AiolCourseSectionController.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/controller/AiolCourseSectionController.java @@ -114,7 +114,7 @@ public class AiolCourseSectionController extends JeecgController> queryCommentsAndAt( + AnnouncementSendModel model, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + try { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = sysUser.getId(); + model.setUserId(userId); + model.setPageNo((pageNo - 1) * pageSize); + model.setPageSize(pageSize); + // 处理时间范围与SysAnnouncementSendController一致 + if (StringUtils.isNotEmpty(model.getSendTimeBegin())) { + model.setSendTimeBegin(model.getSendTimeBegin() + " 00:00:00"); + } + if (StringUtils.isNotEmpty(model.getSendTimeEnd())) { + model.setSendTimeEnd(model.getSendTimeEnd() + " 23:59:59"); + } + // 评论和@ 消息类别 = 3 + model.setMsgCategory("3"); + + Page page = new Page<>(pageNo, pageSize); + IPage pageList = sysAnnouncementSendService.getMyAnnouncementSendPage(page, model); + return Result.OK(pageList); + } catch (Exception e) { + return Result.error("查询评论/@消息失败: " + e.getMessage()); + } + } + + @GetMapping("/likes") + public Result> queryLikes( + AnnouncementSendModel model, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + try { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = sysUser.getId(); + model.setUserId(userId); + model.setPageNo((pageNo - 1) * pageSize); + model.setPageSize(pageSize); + if (StringUtils.isNotEmpty(model.getSendTimeBegin())) { + model.setSendTimeBegin(model.getSendTimeBegin() + " 00:00:00"); + } + if (StringUtils.isNotEmpty(model.getSendTimeEnd())) { + model.setSendTimeEnd(model.getSendTimeEnd() + " 23:59:59"); + } + // 点赞 消息类别 = 4 + model.setMsgCategory("4"); + + Page page = new Page<>(pageNo, pageSize); + IPage pageList = sysAnnouncementSendService.getMyAnnouncementSendPage(page, model); + return Result.OK(pageList); + } catch (Exception e) { + return Result.error("查询点赞消息失败: " + e.getMessage()); + } + } +} diff --git a/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/entity/AiolCourse.java b/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/entity/AiolCourse.java index 09189c07..d5858443 100644 --- a/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/entity/AiolCourse.java +++ b/jeecg-boot/jeecg-boot-module/jeecg-module-aiol/src/main/java/org/jeecg/modules/aiol/entity/AiolCourse.java @@ -22,7 +22,7 @@ import lombok.experimental.Accessors; /** * @Description: 课程 * @Author: jeecg-boot - * @Date: 2025-09-13 + * @Date: 2025-09-17 * @Version: V1.0 */ @Data @@ -141,6 +141,14 @@ public class AiolCourse implements Serializable { @Excel(name = "上架状态", width = 15) @Schema(description = "上架状态") private java.lang.Integer publishStatus; + /**学期*/ + @Excel(name = "学期", width = 15) + @Schema(description = "学期") + private java.lang.String semester; + /**是否允许下载*/ + @Excel(name = "是否允许下载", width = 15) + @Schema(description = "是否允许下载") + private java.lang.Integer allowDownload; /**创建人*/ @Schema(description = "创建人") private java.lang.String createBy; diff --git a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.java b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.java index 855f28dd..05dab4b6 100644 --- a/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.java +++ b/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/message/handle/impl/SystemSendMsgHandle.java @@ -76,7 +76,7 @@ public class SystemSendMsgHandle implements ISendMsgHandle { String[] arr = messageDTO.getToUser().split(","); for(String username: arr){ //update-begin---author:wangshuai---date:2025-06-26---for:【QQYUN-12162】OA项目改造,系统重消息拆分,目前消息都在一起 需按分类进行拆分--- - doSend(title, content, fromUser, username, data, messageDTO.getNoticeType()); + doSend(title, content, fromUser, username, data, messageDTO.getNoticeType(), messageDTO.getCategory()); //update-end---author:wangshuai---date:2025-06-26---for:【QQYUN-12162】OA项目改造,系统重消息拆分,目前消息都在一起 需按分类进行拆分--- } } @@ -145,4 +145,70 @@ public class SystemSendMsgHandle implements ISendMsgHandle { } } } + + // 扩展msgCategory + private void doSend(String title, String msgContent, String fromUser, String toUser, Map data, String noticeType, String msgCategory){ + SysAnnouncement announcement = new SysAnnouncement(); + if(data!=null){ + //摘要信息 + Object msgAbstract = data.get(CommonConstant.NOTICE_MSG_SUMMARY); + if(msgAbstract!=null){ + announcement.setMsgAbstract(msgAbstract.toString()); + } + // 任务节点ID + Object taskId = data.get(CommonConstant.NOTICE_MSG_BUS_ID); + if(taskId!=null){ + announcement.setBusId(taskId.toString()); + announcement.setBusType(Vue3MessageHrefEnum.BPM_TASK.getBusType()); + noticeType = NoticeTypeEnum.NOTICE_TYPE_FLOW.getValue(); + } + + // 流程内消息节点 发消息会传一个busType + Object busType = data.get(CommonConstant.NOTICE_MSG_BUS_TYPE); + if(busType!=null){ + announcement.setBusType(busType.toString()); + noticeType = NoticeTypeEnum.NOTICE_TYPE_FLOW.getValue(); + } + } + announcement.setTitile(title); + announcement.setMsgContent(msgContent); + announcement.setSender(fromUser); + announcement.setPriority(CommonConstant.PRIORITY_M); + announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); + announcement.setSendStatus(CommonConstant.HAS_SEND); + announcement.setSendTime(new Date()); + //系统消息 + announcement.setMsgCategory(msgCategory); + announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); + if(oConvertUtils.isEmpty(noticeType)){ + noticeType = NoticeTypeEnum.NOTICE_TYPE_SYSTEM.getValue(); + } + announcement.setNoticeType(noticeType); + announcement.setIzTop(CommonConstant.IZ_TOP_0); + sysAnnouncementMapper.insert(announcement); + // 2.插入用户通告阅读标记表记录 + String userId = toUser; + String[] userIds = userId.split(","); + String anntId = announcement.getId(); + for(int i=0;i