From fe2b90c20e787f6836230adc50d96099a0042058 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 29 Nov 2022 13:32:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=8F=91=E5=B8=83=EF=BC=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=AF=BE=E4=BB=B6=E4=BA=8B=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CourseServiceImpl.java | 41 +++++++++++++++---- .../java/com/xboe/stat/EventDataSender.java | 4 +- 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java index cec68683..dbabfa74 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java @@ -472,12 +472,6 @@ public class CourseServiceImpl implements ICourseService { //同时添加发布事件,这里的创建人需要修改为教师 Course c=courseDao.get(id); //删除分两种情况,一个是管理员删除,一个是自己删除 ,所以这里的处理移到前端了 -// if(eventSender!=null) { -// eventSender.send("删除课程","DeleteCourse", "删除课程【"+c.getName()+"】", c.getId(), "1", c.getName(), c.getSysCreateAid(), c.getSysCreateBy(),""); -// }else { -// log.error("未配置事件消息发送的实现"); -// } - //删除 if(c.getFullTextId()!=null) { try { fullTextSearch.remove(ICourseFullTextSearch.DEFAULT_INDEX_NAME,c.getFullTextId()); @@ -485,6 +479,26 @@ public class CourseServiceImpl implements ICourseService { log.error("删除课程时删除全文索引错误",e); } } + //只有速有全文检索返回标识的,才算是发布过再删除的,删除消息 + if(StringUtils.isNotBlank(c.getFullTextId())){ + if(eventSender!=null) { + List teachers = courseTeacherDao.findList(FieldFilters.eq("courseId", id)); + if(teachers.size()>0) { + String authorIds=""; + for(CourseTeacher cteacher:teachers) { + if(authorIds.equals("")) { + authorIds+=cteacher.getTeacherId(); + }else { + authorIds+="|"+cteacher.getTeacherId(); + } + } + String txt="管理删除课程"; + eventSender.send(txt,"CourseDelete", "管理删除课程", c.getId(), "1", c.getName(), aid, name,"authors:"+authorIds); + } + }else { + log.error("未配置事件消息发送的实现"); + } + } }else { //彻底删除,课件设置为无课程状态 courseDao.setDeleted(id); @@ -834,12 +848,23 @@ public class CourseServiceImpl implements ICourseService { //发布到全文检索中 Course c=courseDao.get(courseId); if(fullTextSearch!=null) { - this.fullTextPublish(c); } //同时添加发布事件,这里的创建人需要修改为教师 if(eventSender!=null) { - eventSender.send("发布课程","PublishCourse", "发布课程【"+c.getName()+"】", c.getId(), "1", c.getName(), c.getSysCreateAid(), c.getSysCreateBy(),""); + List teachers = courseTeacherDao.findList(FieldFilters.eq("courseId", courseId)); + if(teachers.size()>0) { + String authorIds=""; + for(CourseTeacher cteacher:teachers) { + if(authorIds.equals("")) { + authorIds+=cteacher.getTeacherId(); + }else { + authorIds+="|"+cteacher.getTeacherId(); + } + } + eventSender.send("发布课程","PublishCourse", "发布课程【"+c.getName()+"】", c.getId(), "1", c.getName(), aid,name,"authors:"+authorIds); + } + }else { log.error("未配置事件消息发送的实现"); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/stat/EventDataSender.java b/servers/boe-server-all/src/main/java/com/xboe/stat/EventDataSender.java index 1882b8a7..3407d50a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/stat/EventDataSender.java +++ b/servers/boe-server-all/src/main/java/com/xboe/stat/EventDataSender.java @@ -35,7 +35,7 @@ public class EventDataSender implements IEventDataSender{ @Override public void send(String title, String eventKey, String content, String objId, String objType, String objInfo, - String aid, String aname,String author) { + String aid, String aname,String parameters) { String statBaseUrl=SysConstant.getConfigValue("xboe.stat.base.url"); if(StringUtils.isBlank(statBaseUrl)) { log.error("发送事件失败:未配置【xboe.stat.base.url】的值"); @@ -58,7 +58,7 @@ public class EventDataSender implements IEventDataSender{ params.put("objInfo", objInfo); params.put("aid", aid); params.put("aname", aname); - params.put("parameters",""); + params.put("parameters",parameters); String token = TokenProxy.getToken(request); //最后采用异常发送,不影响当前进程