From 7eb6f8514d169c70829da2881546dbae0b6e33a4 Mon Sep 17 00:00:00 2001 From: 86182 Date: Tue, 29 Nov 2022 18:58:27 +0800 Subject: [PATCH 01/67] =?UTF-8?q?=E4=B8=89=E6=9C=9F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/boecase/api/CasesApi.java | 26 ++++++++++++++++++- .../com/xboe/module/boecase/entity/Cases.java | 6 +++++ .../module/boecase/service/ICasesService.java | 5 ++++ .../service/impl/CasesServiceImpl.java | 5 ++++ .../com/xboe/module/course/dao/CourseDao.java | 2 ++ .../module/course/service/ICourseService.java | 4 +++ .../service/impl/CourseServiceImpl.java | 6 ++++- .../com/xboe/module/exam/api/ExamTestApi.java | 20 ++++++++++++++ .../xboe/module/exam/entity/ExamOption.java | 6 +++++ .../xboe/module/exam/entity/ExamPaper.java | 6 +---- .../xboe/module/exam/entity/ExamQuestion.java | 6 +++++ .../com/xboe/module/exam/entity/ExamTest.java | 10 +++---- .../module/exam/service/IExamTestService.java | 5 ++++ .../service/impl/ExamTestServiceImpl.java | 6 +++++ .../service/impl/StudyCourseServiceImpl.java | 2 ++ 15 files changed, 102 insertions(+), 13 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java index 55f50723..b0d0a6a6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java @@ -247,7 +247,9 @@ public class CasesApi extends ApiBaseController { if(StringUtil.isBlank(cases.getAuthorId())){ return badRequest("请选择作者"); } - + if(cases.getExcellent()==null){ + cases.setExcellent(false); + } try { casesService.save(cases); return success(true); @@ -273,6 +275,9 @@ public class CasesApi extends ApiBaseController { if(StringUtil.isBlank(cases.getAuthorId())){ return badRequest("请选择作者"); } + if(cases.getExcellent()==null){ + cases.setExcellent(false); + } try { casesService.update(cases); return success(true); @@ -353,5 +358,24 @@ public class CasesApi extends ApiBaseController { return success(cases); } + /** + *设置/取消优秀案例 + * */ + @PostMapping("/excellent") + public JsonResponse excellent(String id,Boolean excellent){ + if(StringUtil.isBlank(id)){ + return badRequest("参数异常"); + } + if(excellent==null){ + excellent=false;//默认设置取消 + } + try { + casesService.excellent(id,excellent); + return success(true); + } catch (Exception e) { + return error("设置或者取消失败",e.getMessage()); + } + } + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java index d69a4877..94d21eef 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java @@ -229,6 +229,12 @@ public class Cases extends BaseEntity { @Column(name = "excellent") private Boolean excellent; + /** + * 设置时间 + * */ + @Column(name = "excellent_time") + private LocalDateTime excellentTime; + @Transient private List majorIds; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java index be0818d1..91bb0e9a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java @@ -80,6 +80,11 @@ public interface ICasesService{ * */ List caseIndex(Integer type); + /** + * 设置或者取消优秀案例 + * */ + void excellent(String id,Boolean excellent); + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java index 256d4e9f..2e4baccc 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java @@ -516,5 +516,10 @@ public class CasesServiceImpl implements ICasesService { return casesVos; } + @Override + public void excellent(String id, Boolean excellent) { + casesDao.updateMultiFieldById(id,UpdateBuilder.create("excellent",excellent),UpdateBuilder.create("excellentTime",LocalDateTime.now())); + } + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java index 959bd976..534bf424 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dao/CourseDao.java @@ -43,6 +43,8 @@ public class CourseDao extends BaseDao { query.addFilter(FieldFilters.eq("status",Course.STATUS_AUDIT_FINISH)); query.addFilter(FieldFilters.eq("published", true)); query.addFilter(FieldFilters.eq("enabled",true)); + query.addFilter(FieldFilters.gt("studys",100)); + query.addFilter(FieldFilters.isNull("kid")); LocalDateTime parse = LocalDate.parse("2022-01-01", DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay(); query.addFilter(FieldFilters.gt("publishTime",parse)); query.addOrder(OrderCondition.desc("studys")); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java index 53c7bf54..de95701f 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/ICourseService.java @@ -320,4 +320,8 @@ public interface ICourseService { List mobiledelList(Integer num,CourseQueryDto courseQueryDto); + + + + } 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..4625d74a 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 @@ -1004,10 +1004,12 @@ public class CourseServiceImpl implements ICourseService { builder.addFilter(FieldFilters.eq("status",Course.STATUS_AUDIT_FINISH)); builder.addFilter(FieldFilters.eq("published", true)); builder.addFilter(FieldFilters.eq("enabled",true)); + builder.addFilter(FieldFilters.isNull("kid")); + builder.addFilter(FieldFilters.gt("studys",100)); LocalDateTime parse = LocalDate.parse("2022-01-01", DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay(); builder.addFilter(FieldFilters.gt("publishTime",parse)); if(index==1){ - builder.addOrder(OrderCondition.desc("views")); + builder.addOrder(OrderCondition.desc("studys")); }else { builder.addOrder(OrderCondition.desc("score")); } @@ -1146,6 +1148,8 @@ public class CourseServiceImpl implements ICourseService { return list; } + + @Override public int countWaitAudit(String aid) { //查询待审核的课程 diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTestApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTestApi.java index 66f787dc..9b083070 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTestApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTestApi.java @@ -141,4 +141,24 @@ public class ExamTestApi extends ApiBaseController { return error("发布考试失败",e.getMessage(),false); } } + + /** + *下架上架 + * */ + @PostMapping("/enabled") + public JsonResponse enabled(String id,Boolean enabled){ + if(StringUtil.isBlank(id)){ + return badRequest("参数异常"); + } + if(enabled==null){ + enabled=true;//默认上架 + } + try { + examTestService.enabled(id, enabled); + return success(true); + } catch (Exception e) { + log.error("上下架异常",e); + return error("上下级失败",e.getMessage()); + } + } } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamOption.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamOption.java index bb524971..ece720e4 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamOption.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamOption.java @@ -48,6 +48,12 @@ public class ExamOption extends BaseEntity { @Column(name = "score") private Float score; + /** + * 图片 + * */ + @Column(name = "images") + private String images; + diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamPaper.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamPaper.java index fdb3cbcd..592e3dba 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamPaper.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamPaper.java @@ -78,11 +78,7 @@ public class ExamPaper extends BaseEntity { @Column(name = "counts") private Integer counts; - /** - * 图片 - * */ - @Column(name = "images") - private String images; + public ExamPaper(String testName, String paperType, Integer paperMode, String resOwner1, String resOwner2, String resOwner3,String sysCreateBy,LocalDateTime sysUpdateTime,String id,Integer counts) { diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamQuestion.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamQuestion.java index 459a076a..97f6be16 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamQuestion.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamQuestion.java @@ -83,6 +83,12 @@ public class ExamQuestion extends BaseEntity { @Column(name = "knowledge") private String knowledge; + /** + * 图片 + * */ + @Column(name = "images") + private String images; + @Transient private List optionList; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamTest.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamTest.java index 1d3e9803..571f71d6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamTest.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamTest.java @@ -50,7 +50,7 @@ public class ExamTest extends BaseEntity { @Column(name = "times") private Integer times; /** - * 试题排列 1试题乱序,2选项乱序,3全部乱序 + * 试题排列 1试题乱序,2选项乱序,3全部乱序 4,不乱序 * */ @Column(name = "arrange") private Integer arrange; @@ -158,11 +158,9 @@ public class ExamTest extends BaseEntity { private LocalDateTime deadlineTime; - /** - * 图片 - * */ - @Column(name = "images") - private String images; + /**启用的,上架*/ + @Column(name = "enabled", nullable = false, length = 1) + private Boolean enabled; @Transient private String paperName; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/IExamTestService.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/IExamTestService.java index 34541da2..c4fe9114 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/IExamTestService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/IExamTestService.java @@ -46,4 +46,9 @@ public interface IExamTestService { * */ Boolean has(String paperId); + /** + * 上架下架 + * */ + void enabled(String id,Boolean enabled); + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java index f777471d..150f79d6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java @@ -65,6 +65,7 @@ public class ExamTestServiceImpl implements IExamTestService { @Override public void publish(String id,boolean flag) { examTestDao.updateMultiFieldById(id, + UpdateBuilder.create("enabled",false), UpdateBuilder.create("published", flag), UpdateBuilder.create("publishTime", LocalDateTime.now())); } @@ -80,6 +81,11 @@ public class ExamTestServiceImpl implements IExamTestService { } } + @Override + public void enabled(String id, Boolean enabled) { + examTestDao.updateFieldById(id,"enabled",enabled); + } + @Override public String getPaperContent(String id) throws Exception { QueryBuilder query=QueryBuilder.from(ExamTest.class.getSimpleName()+" et,"+ExamPaper.class.getSimpleName()+" ep"); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java index 57210572..0547c8ed 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java @@ -147,6 +147,8 @@ public class StudyCourseServiceImpl implements IStudyCourseService{ builder.addFilter(FieldFilters.eqField("s.courseId","c.id")); LocalDateTime parse = LocalDate.parse("2022-01-01", DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay(); builder.addFilter(FieldFilters.gt("c.publishTime",parse)); + builder.addFilter(FieldFilters.isNull("c.kid")); + builder.addFilter(FieldFilters.gt("s.score",4.0)); builder.addGroupBy("s.courseId"); LocalDateTime now=LocalDateTime.now(); LocalDateTime localDateTime = now.plusDays(-30); From 15520be1168e998300624af67269207f55816fde Mon Sep 17 00:00:00 2001 From: 86182 Date: Tue, 6 Dec 2022 11:26:15 +0800 Subject: [PATCH 02/67] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BC=98=E7=A7=80=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/boecase/dto/CaseVo.java | 2 ++ .../xboe/module/boecase/service/impl/CasesServiceImpl.java | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dto/CaseVo.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dto/CaseVo.java index f906ef65..07dad061 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dto/CaseVo.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dto/CaseVo.java @@ -24,6 +24,8 @@ public class CaseVo { private String caseType; + private Boolean excellent; + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java index 2e4baccc..0f6d1163 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java @@ -71,6 +71,10 @@ public class CasesServiceImpl implements ICasesService { filters.add(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain())); } + if(caseVo.getExcellent()!=null){ + filters.add(FieldFilters.eq("excellent",caseVo.getExcellent())); + } + // if(StringUtil.isNotBlank(caseVo.getMajorType())){ // filters.add(FieldFilters.eq("majorType",caseVo.getMajorType())); // } @@ -145,6 +149,9 @@ public class CasesServiceImpl implements ICasesService { if(StringUtils.isNotBlank(caseVo.getOrgDomain())){ query.addFilter(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain())); } + if(caseVo.getExcellent()!=null){ + query.addFilter(FieldFilters.eq("excellent",caseVo.getExcellent())); + } // if(StringUtil.isNotBlank(caseVo.getMajorType())){ // query.addFilter(FieldFilters.eq("majorType",caseVo.getMajorType())); // } From a275398f86ec664a92e98cd24ed6dac2ae6c7192 Mon Sep 17 00:00:00 2001 From: 86182 Date: Tue, 6 Dec 2022 17:00:52 +0800 Subject: [PATCH 03/67] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E4=B8=89=E6=9C=9F?= =?UTF-8?q?=E8=BF=AD=E4=BB=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/boecase/api/CasesApi.java | 69 +++++++++++- .../com/xboe/module/boecase/dto/CaseVo.java | 1 + .../com/xboe/module/boecase/entity/Cases.java | 17 ++- .../module/boecase/service/ICasesService.java | 11 ++ .../service/impl/CasesServiceImpl.java | 104 +++++++++++++++++- .../xboe/module/boecase/vo/CaseExportVo.java | 28 +++++ 6 files changed, 223 insertions(+), 7 deletions(-) create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/boecase/vo/CaseExportVo.java diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java index b0d0a6a6..235cf9a2 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java @@ -1,18 +1,20 @@ package com.xboe.module.boecase.api; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.io.OutputStream; +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import com.xboe.core.orm.FieldFilters; import com.xboe.module.boecase.dao.CasesMajorTypeDao; import com.xboe.module.boecase.dto.*; import com.xboe.module.boecase.entity.CasesMajorType; +import com.xboe.module.boecase.vo.CaseExportVo; import com.xboe.module.dict.entity.DictItem; +import com.xboe.module.excel.ExportsExcelSenderUtil; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -94,6 +96,67 @@ public class CasesApi extends ApiBaseController { PageList pageList = casesService.queryList(pager.getPageIndex(), pager.getPageSize(), caseVo); return success(pageList); } + + /** + * 我的案例 + * */ + @PostMapping("/mylist") + public JsonResponse> mylist(Pagination pager,CaseVo caseVo){ + String aid = this.getCurrent().getAccountId(); + PageList casesPageList = casesService.myList(pager.getPageIndex(), pager.getPageSize(), caseVo, aid); + return success(casesPageList); + } + + /** + * 导出我的案例 + * */ + @PostMapping("/export") + public void export(CaseVo caseVo,HttpServletResponse response){ + String aid = this.getCurrent().getAccountId(); + OutputStream OutputStream=null; + try { + OutputStream = response.getOutputStream(); + LinkedHashMap map = new LinkedHashMap<>(); + map.put("案例名称","title"); + map.put("状态","status"); + map.put("审批完成时间","endTime"); + map.put("公开范围","caseScope"); + map.put("浏览量","views"); + map.put("点赞量","praises"); + map.put("分享量","shares"); + map.put("收藏量","favorites"); + List list = casesService.myList(caseVo, aid); + List exportVos = new ArrayList<>(); + for (Cases c:list){ + CaseExportVo caseExportVo = new CaseExportVo(); + caseExportVo.setTitle(c.getTitle()); + if(c.getStatus()!=null){ + if(c.getStatus()==1){ + caseExportVo.setStatus("待审核"); + } + if(c.getStatus()==2){ + caseExportVo.setStatus("未通过"); + } + if(c.getStatus()==3){ + caseExportVo.setStatus("已通过"); + } + } + caseExportVo.setEndTime(c.getEndTime()); + caseExportVo.setCaseScope(c.getCaseScope()); + caseExportVo.setViews(c.getViews()); + caseExportVo.setPraises(c.getPraises()); + caseExportVo.setShares(c.getShares()); + caseExportVo.setFavorites(c.getFavorites()); + exportVos.add(caseExportVo); + } + + response.setContentType("application/octet-stream"); + response.setHeader("Content-disposition", "attachment;filename=Teachers.xls"); + ExportsExcelSenderUtil.export(map,exportVos, OutputStream,"yyyy-MM-dd HH:mm:ss"); + }catch (Exception e){ + log.error("导出失败",e.getMessage()); + } + } /** * 设置置顶 diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dto/CaseVo.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dto/CaseVo.java index 07dad061..e447ee5c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dto/CaseVo.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/dto/CaseVo.java @@ -28,4 +28,5 @@ public class CaseVo { + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java index 94d21eef..b603c2b5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java @@ -79,8 +79,8 @@ public class Cases extends BaseEntity { * 2:已审核未通过 * 3:已审核通过 * */ -// @Column(name = "status",length = 1) -// private Integer status; + @Column(name = "status",length = 1) + private Integer status; @Column(name = "views", nullable = false) private Integer views; @@ -242,6 +242,19 @@ public class Cases extends BaseEntity { public Cases() { } + + public Cases(String id,String title,LocalDateTime endTime,Integer status, String caseScope,Integer views,Integer comments,Integer praises,Integer shares,Integer favorites){ + this.title=title; + super.setId(id); + this.endTime=endTime; + this.status=status; + this.caseScope=caseScope; + this.views=views; + this.comments=comments; + this.praises=praises; + this.shares=shares; + this.favorites=favorites; + } public Cases(String id,String title,String summary,String coverUrl,String authorId,String authorName,LocalDateTime sysCreateTime,Integer breCommend){ this.title=title; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java index 91bb0e9a..c49e7ea2 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/ICasesService.java @@ -24,6 +24,17 @@ public interface ICasesService{ * */ PageList queryList(int pageIndex,int pageSize,CaseVo caseVo); + + /** + * 我的案例 + * */ + PageList myList(int pageIndex,int pageSize,CaseVo caseVo,String aid); + + /** + * 导出的查询 + * */ + List myList(CaseVo caseVo,String aid); + /** * 设置置顶 * */ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java index 0f6d1163..c0bcb031 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java @@ -68,19 +68,35 @@ public class CasesServiceImpl implements ICasesService { } if(StringUtils.isNotBlank(caseVo.getOrgDomain())){ - filters.add(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain())); + if(caseVo.getOrgDomain().contains(",")){ + String[] split = caseVo.getOrgDomain().split(","); + List strings = Arrays.asList(split); + filters.add(FieldFilters.in("orgDomainParent",strings)); + }else{ + filters.add(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain())); + } + } if(caseVo.getExcellent()!=null){ filters.add(FieldFilters.eq("excellent",caseVo.getExcellent())); } + // if(StringUtil.isNotBlank(caseVo.getMajorType())){ // filters.add(FieldFilters.eq("majorType",caseVo.getMajorType())); // } if(StringUtil.isNotBlank(caseVo.getMajorType())){ + QueryBuilder from = QueryBuilder.from(CasesMajorType.class); - from.addFilter(FieldFilters.eq("majorId",caseVo.getMajorType())); + //前端直接字符串拼接传,后端转化数组 + if(caseVo.getMajorType().contains(",")){ + String[] split = caseVo.getMajorType().split(","); + List strings = Arrays.asList(split); + from.addFilter(FieldFilters.in("majorId",strings)); + }else{ + from.addFilter(FieldFilters.eq("majorId",caseVo.getMajorType())); + } from.addGroupBy("caseId"); from.addFields("id","caseId"); // List list = casesMajorTypeDao.findList(from.builder()); @@ -158,6 +174,7 @@ public class CasesServiceImpl implements ICasesService { if(caseVo.getIsTop()!=null) { query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop())); } + OrderCondition order=null; if(StringUtils.isNotBlank(caseVo.getOrderField())) { if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) { @@ -222,6 +239,89 @@ public class CasesServiceImpl implements ICasesService { } + @Override + public PageList myList(int pageIndex, int pageSize, CaseVo caseVo, String aid) { + QueryBuilder query=QueryBuilder.from(Cases.class); + query.addFilter(FieldFilters.eq("deleted",false)); + if(StringUtils.isNotBlank(caseVo.getKeyWord())){ + query.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord())); + } + if(StringUtils.isNotBlank(caseVo.getOrgDomain())){ + query.addFilter(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain())); + } + if(caseVo.getExcellent()!=null){ + query.addFilter(FieldFilters.eq("excellent",caseVo.getExcellent())); + } +// if(StringUtil.isNotBlank(caseVo.getMajorType())){ +// query.addFilter(FieldFilters.eq("majorType",caseVo.getMajorType())); +// } + if(caseVo.getIsTop()!=null) { + query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop())); + } + + if(StringUtils.isNotBlank(aid)){ + query.addFilter(FieldFilters.eq("authorId",aid)); + } + + OrderCondition order=null; + if(StringUtils.isNotBlank(caseVo.getOrderField())) { + if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) { + order=OrderCondition.asc(caseVo.getOrderField()); + }else { + order=OrderCondition.desc(caseVo.getOrderField()); + } + }else { + order=OrderCondition.desc("sysCreateTime"); + } + query.addOrder(order); + query.setPageIndex(pageIndex); + query.setPageSize(pageSize); + query.addFields("new Cases(id,title,endTime,status,caseScope,views,comments,praises,shares,favorites)"); + PageList page = casesDao.findPage(query.builder()); + return page; + } + + @Override + public List myList(CaseVo caseVo, String aid) { + QueryBuilder query=QueryBuilder.from(Cases.class); + query.addFilter(FieldFilters.eq("deleted",false)); + if(StringUtils.isNotBlank(caseVo.getKeyWord())){ + query.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord())); + } + if(StringUtils.isNotBlank(caseVo.getOrgDomain())){ + query.addFilter(FieldFilters.eq("orgDomainParent",caseVo.getOrgDomain())); + } + if(caseVo.getExcellent()!=null){ + query.addFilter(FieldFilters.eq("excellent",caseVo.getExcellent())); + } +// if(StringUtil.isNotBlank(caseVo.getMajorType())){ +// query.addFilter(FieldFilters.eq("majorType",caseVo.getMajorType())); +// } + if(caseVo.getIsTop()!=null) { + query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop())); + } + + if(StringUtils.isNotBlank(aid)){ + query.addFilter(FieldFilters.eq("authorId",aid)); + } + + OrderCondition order=null; + if(StringUtils.isNotBlank(caseVo.getOrderField())) { + if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) { + order=OrderCondition.asc(caseVo.getOrderField()); + }else { + order=OrderCondition.desc(caseVo.getOrderField()); + } + }else { + order=OrderCondition.desc("sysCreateTime"); + } + query.addOrder(order); + + query.addFields("new Cases(id,title,endTime,status,caseScope,views,comments,praises,shares,favorites)"); + List list = casesDao.findList(query.builder()); + return list; + } + /** * 设置置顶 * */ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/vo/CaseExportVo.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/vo/CaseExportVo.java new file mode 100644 index 00000000..7c04eb2d --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/vo/CaseExportVo.java @@ -0,0 +1,28 @@ +package com.xboe.module.boecase.vo; + +import lombok.Data; +import org.apache.tomcat.jni.Local; + +import java.time.LocalDateTime; + +@Data +public class CaseExportVo { + + + + private String title; + + private String status; + + private LocalDateTime endTime; + + private String caseScope; + + private Integer views; + + private Integer praises; + + private Integer shares; + + private Integer favorites; +} From fcd5324460cf0cc32fcaa311d28d9bcadb417df4 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 7 Dec 2022 14:08:55 +0800 Subject: [PATCH 04/67] =?UTF-8?q?=E6=95=99=E5=B8=88=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=B7=B2=E7=BB=8F=E5=A2=9E=E5=8A=A0=E6=95=99?= =?UTF-8?q?=E5=B8=88=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/teacher/api/TeacherApi.java | 13 +++++++++++++ .../com/xboe/module/teacher/entity/Teacher.java | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java index 479d815a..52473c5b 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java @@ -231,6 +231,19 @@ public class TeacherApi extends ApiBaseController { return success(vo); } + + /** + * 教师详情 + * */ + @GetMapping("/detail-teacher") + public JsonResponse detailTeacher(String id){ + if(StringUtils.isBlank(id)){ + return badRequest("参数异常"); + } + Teacher teacher = service.get(id); + return success(teacher); + } + /** * 修改 * diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java index bfdc2799..7c135e4f 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java @@ -194,4 +194,10 @@ public class Teacher extends BaseEntity { @Column(name = "remark",length = 500) private String remark; + /** + * 工作经历 + * */ + @Column(name = "work_experience") + private String workExperience; + } From e451ab9ffcce97fde52fdcd2e8336d80baee8e41 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 7 Dec 2022 14:16:02 +0800 Subject: [PATCH 05/67] =?UTF-8?q?=E6=95=99=E5=B8=88=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=B7=B2=E7=BB=8F=E5=A2=9E=E5=8A=A0=E6=95=99?= =?UTF-8?q?=E5=B8=88=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/teacher/api/TeacherApi.java | 13 +++++++++++-- .../com/xboe/module/teacher/entity/Teacher.java | 6 ++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java index 52473c5b..e5a59ee4 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java @@ -236,12 +236,21 @@ public class TeacherApi extends ApiBaseController { * 教师详情 * */ @GetMapping("/detail-teacher") - public JsonResponse detailTeacher(String id){ + public JsonResponse> detailTeacher(String id){ if(StringUtils.isBlank(id)){ return badRequest("参数异常"); } Teacher teacher = service.get(id); - return success(teacher); + Map rs=new HashMap(); + if(teacher!=null){ + rs.put("id",id); + rs.put("photo",teacher.getPhoto()); + rs.put("workExperience",teacher.getWorkExperience()); + rs.put("courses",teacher.getCourses()); + rs.put("expertise",teacher.getExpertise()); + } + + return success(rs); } /** diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java index 7c135e4f..58da2ee7 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/entity/Teacher.java @@ -200,4 +200,10 @@ public class Teacher extends BaseEntity { @Column(name = "work_experience") private String workExperience; + /** + * 专长 + * */ + @Column(name = "expertise") + private String expertise; + } From ba5e312b2bfd633783521a17737d1a300b3f591c Mon Sep 17 00:00:00 2001 From: 86182 Date: Thu, 8 Dec 2022 10:46:03 +0800 Subject: [PATCH 06/67] =?UTF-8?q?=E6=95=99=E5=B8=88=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=BF=85=E9=A1=BB=E5=A1=AB=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/teacher/api/TeacherApi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java index e5a59ee4..63033b4e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java @@ -261,7 +261,7 @@ public class TeacherApi extends ApiBaseController { */ @PostMapping("/update") public JsonResponse update(@RequestBody TeacherVo teacher) { - if (teacher == null || StringUtils.isBlank(teacher.getName())) { + if (teacher == null) { return error("缺少必要参数"); } try { From f455d7bc85d3063c98cb2cc623eea41093b37fad Mon Sep 17 00:00:00 2001 From: daihh Date: Thu, 8 Dec 2022 21:04:23 +0800 Subject: [PATCH 07/67] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=B8=80=E4=B8=8B?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/course/service/impl/CourseServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 4def5285..bf2abbcb 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 @@ -483,7 +483,7 @@ public class CourseServiceImpl implements ICourseService { if(StringUtils.isNotBlank(c.getFullTextId())){ if(eventSender!=null) { List teachers = courseTeacherDao.findList(FieldFilters.eq("courseId", id)); - if(teachers.size()>0) { + if(teachers.size()>0) { String authorIds=""; for(CourseTeacher cteacher:teachers) { if(authorIds.equals("")) { From a98988eb10a5bd7c1f78a9cc2efbe775039d22b3 Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 12 Dec 2022 10:10:09 +0800 Subject: [PATCH 08/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/scorm/SCORMParser.java | 44 +++++++++++ .../scorm/cam/load/SCORMPackageManager.java | 52 ++++++------- .../com/xboe/module/scorm/data/ScoItem.java | 73 +++++++++++++++++++ .../model/result/CollectionScormResult.java | 11 +-- .../scorm/rte/model/result/ScormResult.java | 10 +-- .../sn/api/behavior/NavigationBehavior.java | 4 +- .../behavior/OverallSequencingBehavior.java | 4 +- .../scorm/sn/api/event/EventTranslator.java | 4 +- .../sn/api/request/NavigationRequest.java | 4 +- .../sn/api/request/SequencingRequest.java | 4 +- .../sn/api/request/TerminationRequest.java | 4 +- .../definition/SequencingRuleDescription.java | 3 +- .../scorm/sn/model/tree/ActivityTree.java | 6 +- .../xboe/module/scorm/web/ScormPlayer.java | 8 -- 14 files changed, 160 insertions(+), 71 deletions(-) create mode 100644 modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java create mode 100644 modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScoItem.java delete mode 100644 modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/web/ScormPlayer.java diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java new file mode 100644 index 00000000..ce4687d2 --- /dev/null +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java @@ -0,0 +1,44 @@ +package com.xboe.module.scorm; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.xboe.module.scorm.cam.load.SCORMPackageManager; +import com.xboe.module.scorm.cam.model.ContentPackage; +import com.xboe.module.scorm.cam.model.Manifest; +import com.xboe.module.scorm.cam.model.Resource; +import com.xboe.module.scorm.data.ScoItem; + +/** + * 解析程序,转化为课程存储的json + */ +public class SCORMParser { + + public String parserToJson(String path) throws Exception { + System.out.println("test"); + Map jsonMap=new HashMap(); + ContentPackage cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", "E:/Projects/BOEU/scorm/file/ContentPackagingOneFilePerSCO_SCORM12.zip"); + Manifest manifest= cp.getManifest(); + System.out.println(cp.getManifest().getIdentifier()); + System.out.println(cp.getContent()); + + List items=new ArrayList(); + + System.out.println("title="+cp.getManifest().getOrganizations().getOrganizationList().get(0).getTitle()); + for(Resource res : cp.getManifest().getResources().getResourceList()) { + System.out.println(res.getHref()); + } + //scorm的版本 + jsonMap.put("schema",manifest.getMetadata().getSchema()); + jsonMap.put("version",manifest.getMetadata().getSchemaVersion()); + jsonMap.put("items", items);//sco共有多少个 + jsonMap.put("index", "");//打开播放时进入的第一个sco + + ObjectMapper om=new ObjectMapper(); + String json=om.writeValueAsString(jsonMap); + return json; + } +} diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/SCORMPackageManager.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/SCORMPackageManager.java index 3db59a0f..610602a9 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/SCORMPackageManager.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/SCORMPackageManager.java @@ -74,7 +74,7 @@ public class SCORMPackageManager { } } - private ContentPackage loadSCORMContentPackageFromZipFile(String lmsContentPackageID, String zipFilePath) { + public ContentPackage loadSCORMContentPackageFromZipFile(String lmsContentPackageID, String zipFilePath) { if (!ZipUtils.isEndWithZip(zipFilePath)) { return null; } @@ -117,35 +117,35 @@ public class SCORMPackageManager { return contentPackageMap.size(); } - public static void main(String[] args) { -// System.out.println(SCORMPackageManager.getInstance() -// .loadSCORMContentPackageFromZipFile("1", "learningserver-scorm/scorm-test-pkg.zip") -// .getContent()); - System.out.println("test"); - ContentPackage cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", "E:/Projects/BOEU/scorm/file/ContentPackagingOneFilePerSCO_SCORM12.zip"); - System.out.println(cp.getManifest().getIdentifier()); - System.out.println(cp.getContent()); - System.out.println("title="+cp.getManifest().getOrganizations().getOrganizationList().get(0).getTitle()); - for(Resource res : cp.getManifest().getResources().getResourceList()) { - System.out.println(res.getHref()); - } - -// System.out.println("ADL_Maritime_Navigation"); -// cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", "E:/Projects/BOEU/scorm/file/ADL_Maritime_Navigation.zip"); +// public static void main(String[] args) { +//// System.out.println(SCORMPackageManager.getInstance() +//// .loadSCORMContentPackageFromZipFile("1", "learningserver-scorm/scorm-test-pkg.zip") +//// .getContent()); +// System.out.println("test"); +// ContentPackage cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", "E:/Projects/BOEU/scorm/file/ContentPackagingOneFilePerSCO_SCORM12.zip"); // System.out.println(cp.getManifest().getIdentifier()); // System.out.println(cp.getContent()); +// System.out.println("title="+cp.getManifest().getOrganizations().getOrganizationList().get(0).getTitle()); // for(Resource res : cp.getManifest().getResources().getResourceList()) { -// System.out.print(res.getHref()); +// System.out.println(res.getHref()); // } // -// System.out.println("7a462dbee222ba62810191d2f512576e"); -// ContentPackage cp3=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", "E:/Projects/BOEU/scorm/file/7a462dbee222ba62810191d2f512576e.zip"); -// System.out.println(cp3.getManifest().getIdentifier()); -// System.out.println(cp3.getContent()); -// for(Resource res : cp3.getManifest().getResources().getResourceList()) { -// System.out.print(res.getHref()); -// } -// - } +//// System.out.println("ADL_Maritime_Navigation"); +//// cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", "E:/Projects/BOEU/scorm/file/ADL_Maritime_Navigation.zip"); +//// System.out.println(cp.getManifest().getIdentifier()); +//// System.out.println(cp.getContent()); +//// for(Resource res : cp.getManifest().getResources().getResourceList()) { +//// System.out.print(res.getHref()); +//// } +//// +//// System.out.println("7a462dbee222ba62810191d2f512576e"); +//// ContentPackage cp3=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", "E:/Projects/BOEU/scorm/file/7a462dbee222ba62810191d2f512576e.zip"); +//// System.out.println(cp3.getManifest().getIdentifier()); +//// System.out.println(cp3.getContent()); +//// for(Resource res : cp3.getManifest().getResources().getResourceList()) { +//// System.out.print(res.getHref()); +//// } +//// +// } } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScoItem.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScoItem.java new file mode 100644 index 00000000..7436962c --- /dev/null +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScoItem.java @@ -0,0 +1,73 @@ +package com.xboe.module.scorm.data; + +import java.util.List; + +/** + * sco的信息 + * + */ +public class ScoItem { + + private String id; + + private String title; + + private String scoId; + + private String scoType; + + private String scoUrl; + + private List items; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getScoId() { + return scoId; + } + + public void setScoId(String scoId) { + this.scoId = scoId; + } + + public String getScoType() { + return scoType; + } + + public void setScoType(String scoType) { + this.scoType = scoType; + } + + public String getScoUrl() { + return scoUrl; + } + + public void setScoUrl(String scoUrl) { + this.scoUrl = scoUrl; + } + + public List getItems() { + return items; + } + + public void setItems(List items) { + this.items = items; + } + + + +} diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/rte/model/result/CollectionScormResult.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/rte/model/result/CollectionScormResult.java index 07eafeaa..1fa0b462 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/rte/model/result/CollectionScormResult.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/rte/model/result/CollectionScormResult.java @@ -1,28 +1,25 @@ package com.xboe.module.scorm.rte.model.result; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.rte.model.error.ScormError; public class CollectionScormResult extends ScormResult { private Instance instance; - public CollectionScormResult(@NotNull String returnValue, @NotNull ScormError error) { + public CollectionScormResult(String returnValue, ScormError error) { this(returnValue, error, (Instance) null); } - public CollectionScormResult(@NotNull String returnValue, @NotNull ScormError error, @NotNull String diagnostic) { + public CollectionScormResult(String returnValue,ScormError error,String diagnostic) { this(returnValue, error, diagnostic, (Instance) null); } - public CollectionScormResult(@NotNull String returnValue, @NotNull ScormError error, Instance instance) { + public CollectionScormResult(String returnValue,ScormError error, Instance instance) { super(returnValue, error); this.instance = instance; } - public CollectionScormResult(@NotNull String returnValue, @NotNull ScormError error, - @NotNull String diagnostic, Instance instance) { + public CollectionScormResult(String returnValue, ScormError error,String diagnostic, Instance instance) { super(returnValue, error, diagnostic); this.instance = instance; } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/rte/model/result/ScormResult.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/rte/model/result/ScormResult.java index 4b61f856..a5ab3214 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/rte/model/result/ScormResult.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/rte/model/result/ScormResult.java @@ -2,8 +2,6 @@ package com.xboe.module.scorm.rte.model.result; import org.apache.commons.lang3.builder.ToStringBuilder; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.rte.model.error.ScormError; public class ScormResult { @@ -14,11 +12,11 @@ public class ScormResult { private String diagnostic; - public ScormResult(@NotNull String returnValue, @NotNull ScormError error) { + public ScormResult(String returnValue, ScormError error) { this(returnValue, error, error.getMsg()); } - public ScormResult(@NotNull String returnValue, @NotNull ScormError error, @NotNull String diagnostic) { + public ScormResult(String returnValue, ScormError error, String diagnostic) { this.returnValue = returnValue; this.error = error; this.diagnostic = diagnostic; @@ -28,7 +26,7 @@ public class ScormResult { return returnValue; } - public ScormResult setReturnValue(@NotNull String returnValue) { + public ScormResult setReturnValue(String returnValue) { this.returnValue = returnValue; return this; } @@ -41,7 +39,7 @@ public class ScormResult { return diagnostic; } - public ScormResult setDiagnostic(@NotNull String diagnostic) { + public ScormResult setDiagnostic(String diagnostic) { this.diagnostic = diagnostic; return this; } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/behavior/NavigationBehavior.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/behavior/NavigationBehavior.java index 45420ccc..e8ec7007 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/behavior/NavigationBehavior.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/behavior/NavigationBehavior.java @@ -3,8 +3,6 @@ package com.xboe.module.scorm.sn.api.behavior; import java.util.LinkedList; import java.util.List; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.sn.api.behavior.result.NavigationBehaviorResult; import com.xboe.module.scorm.sn.api.behavior.result.SequencingException; import com.xboe.module.scorm.sn.api.request.NavigationRequest; @@ -31,7 +29,7 @@ public class NavigationBehavior { * Available Children AM.1.1 * Suspended Activity AM.1.2 */ - public static NavigationBehaviorResult processNavigationRequest(@NotNull NavigationRequest navigationRequest) { + public static NavigationBehaviorResult processNavigationRequest(NavigationRequest navigationRequest) { NavigationRequest.Type type = navigationRequest.getRequestType(); ActivityTree activityTree = navigationRequest.getTargetActivityTree(); Activity currentActivity = activityTree.getGlobalStateInformation().getCurrentActivity(); diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/behavior/OverallSequencingBehavior.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/behavior/OverallSequencingBehavior.java index 5dd1a1e8..9b91664b 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/behavior/OverallSequencingBehavior.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/behavior/OverallSequencingBehavior.java @@ -1,7 +1,5 @@ package com.xboe.module.scorm.sn.api.behavior; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.sn.api.behavior.result.DeliveryBehaviorResult; import com.xboe.module.scorm.sn.api.behavior.result.NavigationBehaviorResult; import com.xboe.module.scorm.sn.api.behavior.result.OverallSequencingResult; @@ -30,7 +28,7 @@ public class OverallSequencingBehavior { * @see SequencingBehavior#processSequencingRequest(SequencingRequest) SB.2.12 * @see TerminationBehavior#processTerminationRequest(TerminationRequest) TB.2.3 */ - public static OverallSequencingResult overallSequencing(@NotNull NavigationRequest navigationRequest) { + public static OverallSequencingResult overallSequencing(NavigationRequest navigationRequest) { // 1.1 NavigationBehaviorResult navigationBehaviorResult = NavigationBehavior.processNavigationRequest(navigationRequest); // 1.2 diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/event/EventTranslator.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/event/EventTranslator.java index c1c180bd..75fdcfc7 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/event/EventTranslator.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/event/EventTranslator.java @@ -1,7 +1,5 @@ package com.xboe.module.scorm.sn.api.event; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.sn.api.request.NavigationRequest; import com.xboe.module.scorm.sn.api.request.NavigationRequest.Type; import com.xboe.module.scorm.sn.model.tree.Activity; @@ -9,7 +7,7 @@ import com.xboe.module.scorm.sn.model.tree.ActivityTree; public class EventTranslator { - public static NavigationRequest translateEventToRequestType(@NotNull NavigationEvent event, + public static NavigationRequest translateEventToRequestType(NavigationEvent event, ActivityTree activityTree, Activity activity) { return new NavigationRequest(getRequestType(event), activityTree, activity); } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/NavigationRequest.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/NavigationRequest.java index 3f50eae8..7952a171 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/NavigationRequest.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/NavigationRequest.java @@ -1,7 +1,5 @@ package com.xboe.module.scorm.sn.api.request; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.sn.model.tree.Activity; import com.xboe.module.scorm.sn.model.tree.ActivityTree; @@ -9,7 +7,7 @@ public class NavigationRequest extends Request { private Type requestType; - public NavigationRequest(@NotNull Type requestType, ActivityTree targetActivityTree, Activity targetActivity) { + public NavigationRequest(Type requestType, ActivityTree targetActivityTree, Activity targetActivity) { super(targetActivityTree, targetActivity); this.requestType = requestType; } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/SequencingRequest.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/SequencingRequest.java index 79b75bea..a6c8444b 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/SequencingRequest.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/SequencingRequest.java @@ -1,7 +1,5 @@ package com.xboe.module.scorm.sn.api.request; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.sn.api.behavior.common.TraversalDirection; import com.xboe.module.scorm.sn.model.tree.Activity; import com.xboe.module.scorm.sn.model.tree.ActivityTree; @@ -16,7 +14,7 @@ public class SequencingRequest extends Request { private boolean considerChildren; - public SequencingRequest(@NotNull Type requestType, ActivityTree targetActivityTree, Activity targetActivity) { + public SequencingRequest(Type requestType, ActivityTree targetActivityTree, Activity targetActivity) { super(targetActivityTree, targetActivity); this.requestType = requestType; } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/TerminationRequest.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/TerminationRequest.java index e2310f2b..a864d0f5 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/TerminationRequest.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/api/request/TerminationRequest.java @@ -1,7 +1,5 @@ package com.xboe.module.scorm.sn.api.request; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.sn.model.tree.Activity; import com.xboe.module.scorm.sn.model.tree.ActivityTree; @@ -9,7 +7,7 @@ public class TerminationRequest extends Request { private Type requestType; - public TerminationRequest(@NotNull Type requestType, ActivityTree targetActivityTree, Activity targetActivity) { + public TerminationRequest(Type requestType, ActivityTree targetActivityTree, Activity targetActivity) { super(targetActivityTree, targetActivity); this.requestType = requestType; } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/model/definition/SequencingRuleDescription.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/model/definition/SequencingRuleDescription.java index 2ae1bf94..895d0133 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/model/definition/SequencingRuleDescription.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/model/definition/SequencingRuleDescription.java @@ -3,7 +3,6 @@ package com.xboe.module.scorm.sn.model.definition; import java.util.ArrayList; import java.util.List; -import com.sun.istack.internal.NotNull; import com.xboe.module.scorm.sn.model.datatype.Vocabulary; @@ -18,7 +17,7 @@ public class SequencingRuleDescription implements DefinitionElementSet { private final List ruleConditions; private final Vocabulary ruleAction; - public SequencingRuleDescription(@NotNull ConditionType conditionType) { + public SequencingRuleDescription(ConditionType conditionType) { this.conditionType = conditionType; conditionCombination = new Vocabulary("All", "All", "Any"); ruleConditions = new ArrayList<>(); diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/model/tree/ActivityTree.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/model/tree/ActivityTree.java index 770be26f..f2d11818 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/model/tree/ActivityTree.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/sn/model/tree/ActivityTree.java @@ -9,8 +9,6 @@ import java.util.Map; import java.util.Objects; import java.util.Stack; -import com.sun.istack.internal.NotNull; - import com.xboe.module.scorm.common.ID; import com.xboe.module.scorm.sn.model.global.GlobalObjectiveDescription; import com.xboe.module.scorm.sn.model.tracking.GlobalStateInformation; @@ -76,14 +74,14 @@ public class ActivityTree { return null; } - public boolean existActivity(@NotNull Activity activity) { + public boolean existActivity(Activity activity) { if (root == null) { return false; } return existActivity(root, activity); } - public boolean existActivity(@NotNull Activity activity, @NotNull Activity target) { + public boolean existActivity(Activity activity, Activity target) { if (activity.equals(target)) { return true; } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/web/ScormPlayer.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/web/ScormPlayer.java deleted file mode 100644 index 50e08f31..00000000 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/web/ScormPlayer.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.xboe.module.scorm.web; - -/** - * 全文检索查询实现 - */ -public class ScormPlayer { - -} From 6d9f32e290ba6407819267ad8bd04afba9839360 Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 12 Dec 2022 10:10:39 +0800 Subject: [PATCH 09/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/course/api/CourseFileApi.java | 1 + .../module/course/entity/CourseContent.java | 2 +- .../xboe/school/study/dao/StudyScormDao.java | 11 +++ .../xboe/school/study/entity/StudyScorm.java | 94 +++++++++++++++++++ 4 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 servers/boe-server-all/src/main/java/com/xboe/school/study/dao/StudyScormDao.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/school/study/entity/StudyScorm.java diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java index 13f9cbd1..3ac501d4 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java @@ -230,6 +230,7 @@ public class CourseFileApi extends ApiBaseController { return error("保存上传课件文件信息失败", e.getMessage()); } } + @GetMapping("/detail") public JsonResponse detail(String id) { diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseContent.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseContent.java index 5d351b74..a93e159c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseContent.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseContent.java @@ -73,7 +73,7 @@ public class CourseContent extends BaseEntity { private String contentRefId; /** - * 内容 具体的内容 + * 内容 具体的内容,一般是json内容 * */ @Column(name = "content",columnDefinition = "mediumtext") private String content; diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/dao/StudyScormDao.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/dao/StudyScormDao.java new file mode 100644 index 00000000..4d1b72ea --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/dao/StudyScormDao.java @@ -0,0 +1,11 @@ +package com.xboe.school.study.dao; + +import org.springframework.stereotype.Repository; + +import com.xboe.core.orm.BaseDao; +import com.xboe.school.study.entity.StudyScorm; + +@Repository +public class StudyScormDao extends BaseDao{ + +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/entity/StudyScorm.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/entity/StudyScorm.java new file mode 100644 index 00000000..ae62149a --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/entity/StudyScorm.java @@ -0,0 +1,94 @@ +package com.xboe.school.study.entity; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +import com.xboe.core.SysConstant; +import com.xboe.core.orm.IdEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 学习scorm课程的相关内容记录 + * + */ +@Data +@Entity +@EqualsAndHashCode(callSuper = false) +@Table(name = SysConstant.TABLE_PRE+"study_scorm") +public class StudyScorm extends IdEntity{ + + + private static final long serialVersionUID = 1L; + + /* + * 学习id + * */ + @Column(name = "study_id",nullable=false,length = 20) + private String studyId; + + /** + * 内容学习记录id + */ + @Column(name = "study_item_id",nullable=false,length = 20) + private String studyItemId; + + /* + * 课程id + * */ + @Column(name = "course_id",nullable=false,length = 20) + private String courseId; + + /* + * 内容id + * */ + @Column(name = "content_id",nullable=false,length = 20) + private String contentId; + + + /* + * 学员id + * */ + @Column(name = "student_id",nullable=false,length = 20) + private String studentId; + + /* + * 学员name + * */ + @Column(name = "student_name",length = 30) + private String studentName; + + /** + * sco的identifier + */ + @Column(name = "sco_id",length = 100) + private String scoId; + + /** + * 本次sco的学习进度 + */ + @Column(name = "progress") + private Integer progress; + + /** + * 上次学习的时间点 + */ + @Column(name = "last_time") + private Integer lastTime; + + + /** + * 1表未学习,2表学习中,9表学习完成 + */ + @Column(name = "status",length=1) + private Integer status; + + /** + * 存储对应的jsondata + */ + @Column(name = "json_data",length=1,columnDefinition = "text") + private String jsonData; +} From 7bc5efd0ee7a98975ff8fc2e64613e4add753169 Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 12 Dec 2022 10:11:04 +0800 Subject: [PATCH 10/67] =?UTF-8?q?=E5=A2=9E=E5=8A=A0scorm=20=20jar=E7=9A=84?= =?UTF-8?q?=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- servers/boe-server-all/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/servers/boe-server-all/pom.xml b/servers/boe-server-all/pom.xml index 4d1f6c6a..5791968a 100644 --- a/servers/boe-server-all/pom.xml +++ b/servers/boe-server-all/pom.xml @@ -17,6 +17,11 @@ 1.8 + + com.xboe + xboe-module-scorm + 1.0.0 + com.xboe xboe-core From c9985d211eda78e450800465f610e75c8676b045 Mon Sep 17 00:00:00 2001 From: 86182 Date: Mon, 12 Dec 2022 12:43:51 +0800 Subject: [PATCH 11/67] =?UTF-8?q?=E6=A1=88=E4=BE=8B=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/boecase/entity/Cases.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java index f8d90485..6fc23fdf 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java @@ -224,6 +224,8 @@ public class Cases extends BaseEntity { private String caseValue; + @Column(name = "excellent") + private Boolean excellent; /** * 设置时间 From 83a6e2a22dd0dd33c92772afebb735a13ac8fa6d Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 12 Dec 2022 13:41:11 +0800 Subject: [PATCH 12/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/scorm/SCORMParser.java | 92 +++++++++++++++++-- .../cam/load/ContentPackageGenerator.java | 37 ++++++-- 2 files changed, 110 insertions(+), 19 deletions(-) diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java index ce4687d2..8c415bcd 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java @@ -5,11 +5,16 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; + import com.fasterxml.jackson.databind.ObjectMapper; import com.xboe.module.scorm.cam.load.SCORMPackageManager; import com.xboe.module.scorm.cam.model.ContentPackage; +import com.xboe.module.scorm.cam.model.Item; import com.xboe.module.scorm.cam.model.Manifest; +import com.xboe.module.scorm.cam.model.Organization; import com.xboe.module.scorm.cam.model.Resource; +import com.xboe.module.scorm.cam.model.datatype.IDRef; import com.xboe.module.scorm.data.ScoItem; /** @@ -18,27 +23,94 @@ import com.xboe.module.scorm.data.ScoItem; public class SCORMParser { public String parserToJson(String path) throws Exception { - System.out.println("test"); +// System.out.println("test"); Map jsonMap=new HashMap(); - ContentPackage cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", "E:/Projects/BOEU/scorm/file/ContentPackagingOneFilePerSCO_SCORM12.zip"); + ContentPackage cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", path); Manifest manifest= cp.getManifest(); - System.out.println(cp.getManifest().getIdentifier()); - System.out.println(cp.getContent()); +// System.out.println(cp.getManifest().getIdentifier()); +// System.out.println(cp.getContent()); - List items=new ArrayList(); + List scoItems=new ArrayList(); - System.out.println("title="+cp.getManifest().getOrganizations().getOrganizationList().get(0).getTitle()); - for(Resource res : cp.getManifest().getResources().getResourceList()) { - System.out.println(res.getHref()); +// System.out.println("title="+cp.getManifest().getOrganizations().getOrganizationList().get(0).getTitle()); +// for(Resource res : cp.getManifest().getResources().getResourceList()) { +// System.out.println(res.getHref()); +// } + //提取组织菜单 + IDRef ref = manifest.getOrganizations().getDefaultOrganizationID(); + if(ref!=null){ + jsonMap.put("defaultId", ref.getValue());//如果有多个组织目录,默认是的哪个 } + + List orgList = manifest.getOrganizations().getOrganizationList(); + for(Organization organ :orgList) { + for(Item item : organ.getItemList()) { + if(StringUtils.isNotBlank(item.getIdentifierref())) { + Resource res=findResource(manifest.getResources().getResourceList(),item.getIdentifierref()); + if(res!=null) { + //if(res.getScormType().equals("sco")) { + ScoItem sco=new ScoItem(); + sco.setId(item.getIdentifier().getValue()); + sco.setTitle(item.getTitle()); + sco.setScoId(res.getIdentifier().getValue()); + sco.setScoUrl(res.getHref()); + sco.setScoType(res.getScormType()); + scoItems.add(sco); + //} + } + }else { //多个item 的处理 + if(item.getItemList()!=null) { + for(Item subItem : item.getItemList()) { + Resource res=findResource(manifest.getResources().getResourceList(),subItem.getIdentifierref()); + if(res!=null) { + //if(res.getScormType().equals("sco")) { + ScoItem sco=new ScoItem(); + sco.setId(item.getIdentifier().getValue()); + sco.setTitle(item.getTitle()); + sco.setScoId(res.getIdentifier().getValue()); + sco.setScoUrl(res.getHref()); + sco.setScoType(res.getScormType()); + scoItems.add(sco); + //} + } + } + } + + } + + } + } + //scorm的版本 jsonMap.put("schema",manifest.getMetadata().getSchema()); jsonMap.put("version",manifest.getMetadata().getSchemaVersion()); - jsonMap.put("items", items);//sco共有多少个 - jsonMap.put("index", "");//打开播放时进入的第一个sco + jsonMap.put("items", scoItems);//sco共有多少个 + //jsonMap.put("index", "");//打开播放时进入的第一个sco ObjectMapper om=new ObjectMapper(); String json=om.writeValueAsString(jsonMap); return json; } + + private Resource findResource(List resList,String identifier) { + for(Resource res : resList) { + if(res.getIdentifier().getValue().equals(identifier)) { + return res; + } + } + return null; + } + +// public static void main(String[] args) { +// SCORMParser parser=new SCORMParser(); +// //String path1="E:/Projects/BOEU/scorm/file/ContentPackagingOneFilePerSCO_SCORM12.zip"; +// String path1="E:/Projects/BOEU/scorm/file/7a462dbee222ba62810191d2f512576e.zip"; +// try { +// String json= parser.parserToJson(path1); +// System.out.println(json); +// } catch (Exception e) { +// +// e.printStackTrace(); +// } +// } } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/ContentPackageGenerator.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/ContentPackageGenerator.java index e83cb073..f38b7c01 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/ContentPackageGenerator.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/cam/load/ContentPackageGenerator.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; @@ -452,11 +453,10 @@ public class ContentPackageGenerator { private void parseResources(Element resourcesNode) { if (resourcesNode != null) { Resources resources = new Resources(); - String base = resourcesNode.attributeValue( - rootQNameGenerator.xml("base", resourcesNode.getNamespace())); + String base = resourcesNode.attributeValue(rootQNameGenerator.xml("base", resourcesNode.getNamespace())); resources.setXmlBase(base == null ? null : new AnyURI(base)); - resourcesNode.elements(rootQNameGenerator.imscp("resource")) - .forEach(element -> parseResource(resources, (Element) element)); + resourcesNode.elements(rootQNameGenerator.imscp("resource")).forEach(element -> parseResource(resources, (Element) element)); + //resourcesNode.elements("resource").forEach(element -> parseResource(resources, (Element) element)); contentPackage.getManifest().setResources(resources); } } @@ -465,13 +465,32 @@ public class ContentPackageGenerator { if (resourceNode != null) { Resource resource = new Resource(); Namespace pns = resourceNode.getNamespace(); - String id = resourceNode.attributeValue(rootQNameGenerator.imscp("identifier", pns)); + //String id = resourceNode.attributeValue(rootQNameGenerator.imscp("identifier", pns)); + String id = resourceNode.attributeValue(rootQNameGenerator.imscp("identifier")); resource.setIdentifier(id == null ? null : new ID(id)); - resource.setType(resourceNode.attributeValue(rootQNameGenerator.imscp("type", pns))); - resource.setHref(resourceNode.attributeValue(rootQNameGenerator.imscp("href", pns))); - String base = resourceNode.attributeValue(rootQNameGenerator.xml("base", pns)); + //resource.setType(resourceNode.attributeValue(rootQNameGenerator.imscp("type", pns))); + resource.setType(resourceNode.attributeValue(rootQNameGenerator.imscp("type"))); + //resource.setHref(resourceNode.attributeValue(rootQNameGenerator.imscp("href", pns))); + resource.setHref(resourceNode.attributeValue(rootQNameGenerator.imscp("href"))); + //String base = resourceNode.attributeValue(rootQNameGenerator.xml("base", pns)); + String base = resourceNode.attributeValue(rootQNameGenerator.xml("base")); resource.setXmlBase(base == null ? null : new AnyURI(base)); - resource.setScormType(resourceNode.attributeValue(rootQNameGenerator.adlcp("scormType", pns))); + //resource.setScormType(resourceNode.attributeValue(rootQNameGenerator.adlcp("scormtype", pns))); + resource.setScormType(resourceNode.attributeValue(rootQNameGenerator.adlcp("scormtype"))); +// String scormType=rootQNameGenerator.adlcp("scormType"); +// //使用此方法无法获取到value值 +// //resource.setScormType(resourceNode.attributeValue(scormType)); +// //改成这样查询获取 +// List attrList=resourceNode.attributes(); +// for(Attribute attr :attrList){ +// System.out.println(attr.getName()+"="+attr.getValue()); +// if(attr.getName().equalsIgnoreCase·(scormType)) { +// resource.setScormType(attr.getValue()); +// } +// } + + + String qNameForFile = rootQNameGenerator.imscp("file"); String qNameForDependency = rootQNameGenerator.imscp("dependency"); for (Object obj : resourceNode.elements()) { From 3f1d46908e4b4100ccf972b4fdded0f859d7ebeb Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 12 Dec 2022 13:46:28 +0800 Subject: [PATCH 13/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/course/api/CourseFileApi.java | 16 ++++++++++++---- .../xboe/module/course/entity/CourseFile.java | 6 ++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java index 3ac501d4..c7219196 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java @@ -14,7 +14,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import com.xboe.core.orm.LikeMatchMode; import org.apache.commons.lang3.StringUtils; import org.springframework.orm.ObjectOptimisticLockingFailureException; import org.springframework.web.bind.annotation.GetMapping; @@ -33,11 +32,14 @@ import com.xboe.core.SysConstant; import com.xboe.core.api.ApiBaseController; import com.xboe.core.orm.FieldFilters; import com.xboe.core.orm.IFieldFilter; +import com.xboe.core.orm.LikeMatchMode; import com.xboe.core.upload.XFileUploader; import com.xboe.module.course.entity.CourseFile; import com.xboe.module.course.service.ICourseFileService; import com.xboe.module.course.service.impl.FileConverterProvider; +import com.xboe.module.scorm.SCORMParser; import com.xboe.standard.BaseConstant; +import com.xboe.standard.enums.BoedxCourseFileType; import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.MultimediaInfo; @@ -180,14 +182,15 @@ public class CourseFileApi extends ApiBaseController { file.setResType(20);//以后换成变量 } else if ("doc,xls,ppt,docx,xlsx,pptx".indexOf(file.getFileType()) > -1) { file.setResType(40);//以后换成变量 + }else if(file.getFileType().equalsIgnoreCase("zip")) { + file.setResType(BoedxCourseFileType.Scrom.getValue());//scorm课件 } else { file.setResType(90);//以后换成变量 } } - + String fileFullPath = SysConstant.getConfigValue(BaseConstant.CONFIG_UPLOAD_FILES_SAVEPATH) + file.getFilePath(); if ("mp3,mp4".indexOf(file.getFileType()) > -1){ Encoder encoder = new Encoder(); - String fileFullPath = SysConstant.getConfigValue(BaseConstant.CONFIG_UPLOAD_FILES_SAVEPATH) + file.getFilePath(); try { //System.out.println(fileFullPath); MultimediaInfo m = encoder.getInfo(new File(fileFullPath)); @@ -210,11 +213,16 @@ public class CourseFileApi extends ApiBaseController { try { file.setFileType(file.getFileType()); - if(file.getFileType().equals("pdf")) { + if(file.getFileType().equalsIgnoreCase("pdf")) { file.setPreviewFilePath(file.getFilePath()); file.setConverStatus(0);//代表不需要转化 }else if ("doc,xls,ppt,docx,xlsx,pptx".indexOf(file.getFileType().toLowerCase()) > -1) { file.setConverStatus(1);//转化中 + }else if(file.getFileType().equalsIgnoreCase("zip")) { + //scorm包的内容 + SCORMParser scormParser=new SCORMParser(); + String json = scormParser.parserToJson(fileFullPath); + file.setContent(json); } //保存 courseFileService.save(file); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java index 39f81b92..99eba75c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java @@ -137,6 +137,12 @@ public class CourseFile extends BaseEntity { @Column(name = "ownership3",length = 50) private String ownership3; + /** + * 对应的内容的json + */ + @Column(name = "content",columnDefinition = "text") + private String content; + /** * 备注 * */ From 915b851805b22fcd6f12e0fbf092afa9ddb969b3 Mon Sep 17 00:00:00 2001 From: 86182 Date: Mon, 12 Dec 2022 19:19:48 +0800 Subject: [PATCH 14/67] =?UTF-8?q?=E7=99=BD=E5=90=8D=E5=8D=95=E5=92=8C?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/popup/api/PopupApi.java | 103 ++++++++++++++++++ .../com/xboe/module/popup/dao/PopupDao.java | 9 ++ .../com/xboe/module/popup/entity/Popup.java | 90 +++++++++++++++ .../module/popup/service/IPopupService.java | 39 +++++++ .../popup/service/impl/PopupServiceImpl.java | 73 +++++++++++++ .../system/whiteuser/api/WhiteUserApi.java | 99 +++++++++++++++++ .../system/whiteuser/dao/WhiteUserDao.java | 9 ++ .../system/whiteuser/entity/WhiteUser.java | 25 +++++ .../whiteuser/service/IWhiteUserService.java | 41 +++++++ .../service/impl/WhiteUserServiceImpl.java | 60 ++++++++++ 10 files changed, 548 insertions(+) create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/popup/dao/PopupDao.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/dao/WhiteUserDao.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/IWhiteUserService.java create mode 100644 servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java new file mode 100644 index 00000000..f44f05ee --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java @@ -0,0 +1,103 @@ +package com.xboe.module.popup.api; + +import com.xboe.common.utils.StringUtil; +import com.xboe.core.JsonResponse; +import com.xboe.core.api.ApiBaseController; +import com.xboe.module.popup.entity.Popup; +import com.xboe.module.popup.service.IPopupService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +@RequestMapping(value = "/xboe/m/popup") +public class PopupApi extends ApiBaseController { + + + @Resource + IPopupService service; + + + /** + * 后台弹窗管理列表 + * */ + @PostMapping("/list") + public JsonResponse> list(Popup popup){ + List list = service.list(popup); + return success(list); + } + + + /** + * 添加弹窗 + * */ + @PostMapping("/save") + public JsonResponse save(@RequestBody Popup popup){ + if(StringUtil.isBlank(popup.getTitle())){ + return badRequest("标题不能为空"); + } + if(popup.getLoginEd()==null){ + popup.setLoginEd(false); + } + if(popup.getDaily()==null){ + popup.setDaily(false); + } + if (popup.getOnce()==null){ + popup.setOnce(false); + } + if(popup.getCloseable()==null){ + popup.setCloseable(false); + } + try { + service.save(popup); + return success(popup); + } catch (Exception e) { + return error("添加失败",e.getMessage()); + } + } + + /** + * 修改弹窗 + * */ + @PostMapping("/update") + public JsonResponse update(@RequestBody Popup popup){ + if(StringUtil.isBlank(popup.getTitle())){ + return badRequest("标题不能为空"); + } + try { + service.update(popup); + return success(popup); + } catch (Exception e) { + return error("编辑失败",e.getMessage()); + } + } + + /** + * 查看 + * */ + @GetMapping("/detail") + public JsonResponse detail(String id){ + if(StringUtil.isBlank(id)){ + return badRequest("参数异常"); + } + Popup popup = service.detail(id); + return success(popup); + } + + /** + * 删除 + * */ + @GetMapping("/delete") + public JsonResponse delete(String id){ + if(StringUtil.isBlank(id)){ + return badRequest("参数异常"); + } + try { + service.delete(id); + return success(true); + } catch (Exception e) { + return error("删除失败",e.getMessage()); + } + } +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/dao/PopupDao.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/dao/PopupDao.java new file mode 100644 index 00000000..08e13822 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/dao/PopupDao.java @@ -0,0 +1,9 @@ +package com.xboe.module.popup.dao; + +import com.xboe.core.orm.BaseDao; +import com.xboe.module.popup.entity.Popup; +import org.springframework.stereotype.Repository; + +@Repository +public class PopupDao extends BaseDao { +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java new file mode 100644 index 00000000..25fb3d99 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java @@ -0,0 +1,90 @@ +package com.xboe.module.popup.entity; + +import com.xboe.core.SysConstant; +import com.xboe.core.orm.IdEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.time.LocalDateTime; + + +@Data +@EqualsAndHashCode(callSuper = false) +@Entity +@Table(name = SysConstant.TABLE_PRE+"popup") +public class Popup extends IdEntity { + + + /** + * 开始时间 + * */ + @Column(name = "start_time") + private LocalDateTime startTime; + + /** + * 结束时间 + * */ + @Column(name = "end_time") + private LocalDateTime endTime; + + + /** + * 是否每次登录后弹出一次 + * */ + @Column(name = "login_ed") + private Boolean loginEd; + + + /** + * 是否每天弹出一次 + * */ + @Column(name = "daily") + private Boolean daily; + + /** + * 是否每个人弹出一次 + * */ + @Column(name = "once") + private Boolean once; + + /** + * 是否显示关闭 + * */ + @Column(name = "closeable") + private Boolean closeable; + + /** + * 弹窗标题 + * */ + @Column(name = "title",length = 50) + private String title; + + /** + * 弹窗内容 + * */ + @Column(name = "content") + private String content; + + /** + * 弹窗背景图 + * */ + @Column(name = "bg_image") + private String bgImage; + + /** + * 跳转的url + * */ + @Column(name = "url") + private String url; + + + + + + + + +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java new file mode 100644 index 00000000..6ffb44a2 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java @@ -0,0 +1,39 @@ +package com.xboe.module.popup.service; + +import com.xboe.module.popup.entity.Popup; + +import java.util.List; + +public interface IPopupService { + + + + /** + * 后台弹窗管理列表 + * */ + List list(Popup popup); + + + /** + * 添加 + * */ + void save(Popup popup); + + + /** + * 修改 + * */ + void update(Popup popup); + + + /** + * 详情 + * */ + Popup detail(String id); + + + /** + * 删除 + * */ + void delete(String id); +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java new file mode 100644 index 00000000..7b14484a --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java @@ -0,0 +1,73 @@ +package com.xboe.module.popup.service.impl; + +import com.xboe.common.OrderCondition; +import com.xboe.common.utils.StringUtil; +import com.xboe.core.orm.FieldFilters; +import com.xboe.core.orm.LikeMatchMode; +import com.xboe.core.orm.QueryBuilder; +import com.xboe.module.popup.dao.PopupDao; +import com.xboe.module.popup.entity.Popup; +import com.xboe.module.popup.service.IPopupService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +@Service +@Transactional +public class PopupServiceImpl implements IPopupService { + + @Resource + PopupDao popupDao; + + + @Override + public List list(Popup popup) { + QueryBuilder builder = QueryBuilder.from(Popup.class); + if(popup!=null){ + if(popup.getStartTime()!=null){ + builder.addFilter(FieldFilters.eq("startTime",popup.getStartTime())); + } + if(popup.getEndTime()!=null){ + builder.addFilter(FieldFilters.eq("endTime",popup.getEndTime())); + } + if(popup.getLoginEd()!=null){ + builder.addFilter(FieldFilters.eq("logined",popup.getLoginEd())); + } + if(popup.getDaily()!=null){ + builder.addFilter(FieldFilters.eq("daily",popup.getDaily())); + } + if(popup.getCloseable()!=null){ + builder.addFilter(FieldFilters.eq("closeable",popup.getCloseable())); + } + if(StringUtil.isNotBlank(popup.getTitle())){ + builder.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE,popup.getTitle())); + } + } + builder.addOrder(OrderCondition.desc("id")); + List list = popupDao.findList(builder.builder()); + return list; + } + + @Override + public void save(Popup popup) { + popupDao.save(popup); + } + + @Override + public void update(Popup popup) { + popupDao.update(popup); + } + + @Override + public Popup detail(String id) { + Popup popup = popupDao.get(id); + return popup; + } + + @Override + public void delete(String id) { + popupDao.deleteById(id); + } +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java new file mode 100644 index 00000000..bc2d9745 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java @@ -0,0 +1,99 @@ +package com.xboe.system.whiteuser.api; + +import com.xboe.common.utils.StringUtil; +import com.xboe.core.JsonResponse; +import com.xboe.core.api.ApiBaseController; +import com.xboe.system.whiteuser.entity.WhiteUser; +import com.xboe.system.whiteuser.service.IWhiteUserService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + + +@RestController +@RequestMapping("/xboe/sys/whiteuser") +public class WhiteUserApi extends ApiBaseController { + + + @Resource + IWhiteUserService service; + + /** + * 白名单列表 + * */ + @PostMapping("/list") + public JsonResponse> list(WhiteUser whiteUser){ + List list = service.list(whiteUser); + return success(list); + } + + /** + * 添加白名单 + * */ + @PostMapping("/save") + public JsonResponse save(@RequestBody WhiteUser whiteUser){ + if(StringUtil.isBlank(whiteUser.getUserNo())){ + return badRequest("参数异常"); + } + if(StringUtil.isBlank(whiteUser.getName())){ + return badRequest("参数异常"); + } + try { + service.save(whiteUser); + return success(whiteUser); + } catch (Exception e) { + return error("添加失败",e.getMessage()); + } + } + + /** + * 修改白名单 + * */ + @PostMapping("/update") + public JsonResponse update(@RequestBody WhiteUser whiteUser){ + if(StringUtil.isBlank(whiteUser.getUserNo())){ + return badRequest("参数异常"); + } + if(StringUtil.isBlank(whiteUser.getName())){ + return badRequest("参数异常"); + } + try { + service.update(whiteUser); + return success(whiteUser); + } catch (Exception e) { + return error("修改失败",e.getMessage()); + } + } + + + /** + * 详情 + * */ + @GetMapping("/detail") + public JsonResponse detail(String id){ + if(StringUtil.isBlank(id)){ + return badRequest("参数异常"); + } + WhiteUser whiteUser = service.detail(id); + return success(whiteUser); + } + + /** + * 删除 + * */ + @GetMapping("/delete") + public JsonResponse delete(String id){ + if(StringUtil.isBlank(id)){ + return badRequest("参数异常"); + } + try { + service.delete(id); + return success(true); + } catch (Exception e) { + return error("删除失败",e.getMessage()); + } + } + + +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/dao/WhiteUserDao.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/dao/WhiteUserDao.java new file mode 100644 index 00000000..209f4270 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/dao/WhiteUserDao.java @@ -0,0 +1,9 @@ +package com.xboe.system.whiteuser.dao; + +import com.xboe.core.orm.BaseDao; +import com.xboe.system.whiteuser.entity.WhiteUser; +import org.springframework.stereotype.Repository; + +@Repository +public class WhiteUserDao extends BaseDao { +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java new file mode 100644 index 00000000..71ea6f76 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java @@ -0,0 +1,25 @@ +package com.xboe.system.whiteuser.entity; + +import com.xboe.core.SysConstant; +import com.xboe.core.orm.IdEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +@Data +@Entity +@EqualsAndHashCode(callSuper = false) +@Table(name = SysConstant.TABLE_PRE+"white_user") +public class WhiteUser extends IdEntity { + + + @Column(name = "user_no",length = 30) + private String userNo; + + @Column(name = "name",length = 30) + private String name; + +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/IWhiteUserService.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/IWhiteUserService.java new file mode 100644 index 00000000..880874dd --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/IWhiteUserService.java @@ -0,0 +1,41 @@ +package com.xboe.system.whiteuser.service; + +import com.xboe.system.whiteuser.entity.WhiteUser; + +import java.util.List; + +public interface IWhiteUserService { + + + + /** + * 查看现有白名单 + * */ + List list(WhiteUser whiteUser); + + + /** + * 添加 + * */ + void save(WhiteUser whiteUser); + + + /** + * 删除 + * */ + void delete(String id); + + + /** + * 修改 + * */ + void update(WhiteUser whiteUser); + + + /** + * 详情 + * */ + WhiteUser detail(String id); + + +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java new file mode 100644 index 00000000..1c7c25e2 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java @@ -0,0 +1,60 @@ +package com.xboe.system.whiteuser.service.impl; + +import com.xboe.common.OrderCondition; +import com.xboe.common.utils.StringUtil; +import com.xboe.core.orm.FieldFilters; +import com.xboe.core.orm.LikeMatchMode; +import com.xboe.core.orm.QueryBuilder; +import com.xboe.system.whiteuser.dao.WhiteUserDao; +import com.xboe.system.whiteuser.entity.WhiteUser; +import com.xboe.system.whiteuser.service.IWhiteUserService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +@Service +@Transactional +public class WhiteUserServiceImpl implements IWhiteUserService { + + @Resource + WhiteUserDao whiteUserDao; + + @Override + public List list(WhiteUser whiteUser) { + QueryBuilder builder = QueryBuilder.from(WhiteUser.class); + if(whiteUser!=null){ + if(StringUtil.isNotBlank(whiteUser.getUserNo())){ + builder.addFilter(FieldFilters.eq("userNo",whiteUser.getUserNo())); + } + if(StringUtil.isNotBlank(whiteUser.getName())){ + builder.addFilter(FieldFilters.like("name", LikeMatchMode.ANYWHERE,whiteUser.getName())); + } + } + builder.addOrder(OrderCondition.desc("id")); + List list = whiteUserDao.findList(builder.builder()); + return list; + } + + @Override + public void save(WhiteUser whiteUser) { + whiteUserDao.save(whiteUser); + } + + @Override + public void delete(String id) { + whiteUserDao.deleteById(id); + } + + @Override + public void update(WhiteUser whiteUser) { + whiteUserDao.update(whiteUser); + } + + @Override + public WhiteUser detail(String id) { + WhiteUser whiteUser = whiteUserDao.get(id); + return whiteUser; + } +} From b2debe14e4b352656059bac5f6d056b26c3b8b8b Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 13 Dec 2022 10:18:37 +0800 Subject: [PATCH 15/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/scorm/SCORMParser.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java index 8c415bcd..d7326fb0 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java @@ -85,7 +85,12 @@ public class SCORMParser { jsonMap.put("schema",manifest.getMetadata().getSchema()); jsonMap.put("version",manifest.getMetadata().getSchemaVersion()); jsonMap.put("items", scoItems);//sco共有多少个 - //jsonMap.put("index", "");//打开播放时进入的第一个sco + if(scoItems.size()>0 && scoItems.get(0).getScoUrl()!=null) { + jsonMap.put("index",scoItems.get(0).getScoUrl());//打开播放时进入的第一个sco + }else { + jsonMap.put("index","");//无首页地址 + } + ObjectMapper om=new ObjectMapper(); String json=om.writeValueAsString(jsonMap); From 2dffdd8f9d437350e00baafa6fca9fdbe690de36 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 13 Dec 2022 10:18:58 +0800 Subject: [PATCH 16/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/course/entity/CourseFile.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java index 99eba75c..f9c75d37 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseFile.java @@ -3,6 +3,7 @@ package com.xboe.module.course.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; +import javax.persistence.Transient; import com.xboe.core.SysConstant; import com.xboe.core.orm.BaseEntity; @@ -27,6 +28,18 @@ public class CourseFile extends BaseEntity { @Column(name = "name",nullable=false,length = 100) private String name; + /** + * 所属机构id + */ + @Column(name = "org_id",length = 36) + private String orgId; + + /** + * 所属机构名称,冗余存储,因为机构是从其它服务查询过来的,不是本地的的,所以这里存储是为了方便查询显示 + */ + @Column(name = "org_name",length = 100) + private String orgName; + /** * 课程id,可以为空,管理员直接上传的课件,属于非课程课件 @@ -149,6 +162,12 @@ public class CourseFile extends BaseEntity { @Column(name = "remark",length = 200) private String remark; + /** + * duration 转化为分钟的显示 + */ + @Transient + private Integer minute; + public CourseFile() { } From 31b9c0310692c1c21a92f03b448bc6236044b767 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 13 Dec 2022 19:23:07 +0800 Subject: [PATCH 17/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/scorm/IManifestInfoSave.java | 1 - .../xboe/module/scorm/IScormFileHandle.java | 17 +++++++++++++ .../com/xboe/module/scorm/data/ScormFile.java | 24 +++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormFileHandle.java create mode 100644 modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormFile.java diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IManifestInfoSave.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IManifestInfoSave.java index 6da88ad6..6a6e87ae 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IManifestInfoSave.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IManifestInfoSave.java @@ -4,7 +4,6 @@ import com.xboe.module.scorm.cam.model.Manifest; /** * manifest.xml内容的保存 - * @author seastar * */ public interface IManifestInfoSave{ diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormFileHandle.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormFileHandle.java new file mode 100644 index 00000000..62234f21 --- /dev/null +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormFileHandle.java @@ -0,0 +1,17 @@ +package com.xboe.module.scorm; + +import com.xboe.module.scorm.data.ScormFile; + +/** + * SCORM课件文件的相关处理 + * + */ +public interface IScormFileHandle { + + /** + * 根据传入的id获到scorm文件的目录信息 + * @param id + * @return + */ + ScormFile getById(String id); +} diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormFile.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormFile.java new file mode 100644 index 00000000..b6eecc49 --- /dev/null +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormFile.java @@ -0,0 +1,24 @@ +package com.xboe.module.scorm.data; + +import lombok.Data; + +@Data +public class ScormFile { + + /** + * 文件的id + */ + private String id; + + /** + * 文件所在的目录 + */ + private String dirPath; + + /** + * zip文件名 + */ + private String zipName; + + +} From 97a83f63266156646e3f65207fcd942db55c7b13 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 14 Dec 2022 14:05:58 +0800 Subject: [PATCH 18/67] =?UTF-8?q?=E5=8E=BB=E6=8E=89scorm=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- servers/boe-server-all/pom.xml | 5 ----- .../java/com/xboe/module/course/api/CourseFileApi.java | 8 ++++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/servers/boe-server-all/pom.xml b/servers/boe-server-all/pom.xml index 5791968a..4d1f6c6a 100644 --- a/servers/boe-server-all/pom.xml +++ b/servers/boe-server-all/pom.xml @@ -17,11 +17,6 @@ 1.8 - - com.xboe - xboe-module-scorm - 1.0.0 - com.xboe xboe-core diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java index c7219196..4f038592 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java @@ -37,7 +37,7 @@ import com.xboe.core.upload.XFileUploader; import com.xboe.module.course.entity.CourseFile; import com.xboe.module.course.service.ICourseFileService; import com.xboe.module.course.service.impl.FileConverterProvider; -import com.xboe.module.scorm.SCORMParser; +//import com.xboe.module.scorm.SCORMParser; import com.xboe.standard.BaseConstant; import com.xboe.standard.enums.BoedxCourseFileType; @@ -220,9 +220,9 @@ public class CourseFileApi extends ApiBaseController { file.setConverStatus(1);//转化中 }else if(file.getFileType().equalsIgnoreCase("zip")) { //scorm包的内容 - SCORMParser scormParser=new SCORMParser(); - String json = scormParser.parserToJson(fileFullPath); - file.setContent(json); +// SCORMParser scormParser=new SCORMParser(); +// String json = scormParser.parserToJson(fileFullPath); +// file.setContent(json); } //保存 courseFileService.save(file); From e9173881277a6557f74af9a43fc8a50597fed946 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 14 Dec 2022 14:08:30 +0800 Subject: [PATCH 19/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- servers/boe-server-all/pom.xml | 5 +++++ .../java/com/xboe/module/course/api/CourseFileApi.java | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/servers/boe-server-all/pom.xml b/servers/boe-server-all/pom.xml index 4d1f6c6a..ab8586da 100644 --- a/servers/boe-server-all/pom.xml +++ b/servers/boe-server-all/pom.xml @@ -17,6 +17,11 @@ 1.8 + + com.xboe + xboe-module-scorm + 1.0.0 + com.xboe xboe-core diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java index 4f038592..c7219196 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java @@ -37,7 +37,7 @@ import com.xboe.core.upload.XFileUploader; import com.xboe.module.course.entity.CourseFile; import com.xboe.module.course.service.ICourseFileService; import com.xboe.module.course.service.impl.FileConverterProvider; -//import com.xboe.module.scorm.SCORMParser; +import com.xboe.module.scorm.SCORMParser; import com.xboe.standard.BaseConstant; import com.xboe.standard.enums.BoedxCourseFileType; @@ -220,9 +220,9 @@ public class CourseFileApi extends ApiBaseController { file.setConverStatus(1);//转化中 }else if(file.getFileType().equalsIgnoreCase("zip")) { //scorm包的内容 -// SCORMParser scormParser=new SCORMParser(); -// String json = scormParser.parserToJson(fileFullPath); -// file.setContent(json); + SCORMParser scormParser=new SCORMParser(); + String json = scormParser.parserToJson(fileFullPath); + file.setContent(json); } //保存 courseFileService.save(file); From 9362b839de0317126d6dcfe007f833e19ab37291 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 15:38:52 +0800 Subject: [PATCH 20/67] =?UTF-8?q?=E7=99=BD=E5=90=8D=E5=8D=95=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/system/whiteuser/api/WhiteUserApi.java | 4 ++-- .../com/xboe/system/whiteuser/entity/WhiteUser.java | 10 ++++++++-- .../whiteuser/service/impl/WhiteUserServiceImpl.java | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java index bc2d9745..1a1a240e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java @@ -33,7 +33,7 @@ public class WhiteUserApi extends ApiBaseController { * */ @PostMapping("/save") public JsonResponse save(@RequestBody WhiteUser whiteUser){ - if(StringUtil.isBlank(whiteUser.getUserNo())){ + if(StringUtil.isBlank(whiteUser.getCode())){ return badRequest("参数异常"); } if(StringUtil.isBlank(whiteUser.getName())){ @@ -52,7 +52,7 @@ public class WhiteUserApi extends ApiBaseController { * */ @PostMapping("/update") public JsonResponse update(@RequestBody WhiteUser whiteUser){ - if(StringUtil.isBlank(whiteUser.getUserNo())){ + if(StringUtil.isBlank(whiteUser.getCode())){ return badRequest("参数异常"); } if(StringUtil.isBlank(whiteUser.getName())){ diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java index 71ea6f76..e937521b 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java @@ -16,10 +16,16 @@ import javax.persistence.Table; public class WhiteUser extends IdEntity { - @Column(name = "user_no",length = 30) - private String userNo; + @Column(name = "code",length = 30) + private String code; @Column(name = "name",length = 30) private String name; + /** + * 环境 + * */ + @Column(name="environment") + private Integer environment; + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java index 1c7c25e2..6acc71f1 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java @@ -25,12 +25,15 @@ public class WhiteUserServiceImpl implements IWhiteUserService { public List list(WhiteUser whiteUser) { QueryBuilder builder = QueryBuilder.from(WhiteUser.class); if(whiteUser!=null){ - if(StringUtil.isNotBlank(whiteUser.getUserNo())){ - builder.addFilter(FieldFilters.eq("userNo",whiteUser.getUserNo())); + if(StringUtil.isNotBlank(whiteUser.getCode())){ + builder.addFilter(FieldFilters.eq("code",whiteUser.getCode())); } if(StringUtil.isNotBlank(whiteUser.getName())){ builder.addFilter(FieldFilters.like("name", LikeMatchMode.ANYWHERE,whiteUser.getName())); } + if(whiteUser.getEnvironment()!=null){ + builder.addFilter(FieldFilters.eq("environment",whiteUser.getEnvironment())); + } } builder.addOrder(OrderCondition.desc("id")); List list = whiteUserDao.findList(builder.builder()); From 01bb604988e68c0aab573bfe5e56219c43a85d85 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 18:14:39 +0800 Subject: [PATCH 21/67] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E6=8E=92=E8=A1=8C?= =?UTF-8?q?=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../school/study/service/impl/StudyCourseServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java index 0547c8ed..60853a2e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyCourseServiceImpl.java @@ -148,7 +148,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{ LocalDateTime parse = LocalDate.parse("2022-01-01", DateTimeFormatter.ofPattern("yyyy-MM-dd")).atStartOfDay(); builder.addFilter(FieldFilters.gt("c.publishTime",parse)); builder.addFilter(FieldFilters.isNull("c.kid")); - builder.addFilter(FieldFilters.gt("s.score",4.0)); + builder.addFilter(FieldFilters.gt("c.score",4.0f)); builder.addGroupBy("s.courseId"); LocalDateTime now=LocalDateTime.now(); LocalDateTime localDateTime = now.plusDays(-30); @@ -179,7 +179,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{ list.add(studyCourseNameDto); } } catch (Exception e) { - //e.printStackTrace(); + e.printStackTrace(); log.error("查询异常",e); } return list; From 5f83b179bde86619e9451a8e1381f448a1456c73 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 18:20:00 +0800 Subject: [PATCH 22/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/teacher/api/TeacherApi.java | 20 +++++++++++++++++++ .../teacher/service/ITeacherService.java | 9 +++++++++ .../service/impl/TeacherServiceImpl.java | 5 +++++ 3 files changed, 34 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java index 63033b4e..122523a9 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java @@ -272,6 +272,26 @@ public class TeacherApi extends ApiBaseController { return success(teacher); } + + /** + * 修改 + * + * @param teacher + * @return + */ + @PostMapping("/update-teacher") + public JsonResponse updateTeacher(@RequestBody Teacher teacher) { + if (teacher == null) { + return error("缺少必要参数"); + } + try { + service.update(teacher); + } catch (XaskException e) { + return error(e.getMessage()); + } + return success(teacher); + } + /** * 删除 * diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java index 9d5ec6b2..cfcfcd41 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java @@ -59,6 +59,15 @@ public interface ITeacherService { * @throws XaskException */ void update(TeacherVo entity) throws XaskException; + + + /** + * 修改 + * + * @param entity + * @throws XaskException + */ + void update(Teacher entity); /* * 更新同步信息 diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java index 7b740285..d1a6ea70 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java @@ -204,6 +204,11 @@ public class TeacherServiceImpl implements ITeacherService { // accountService.update(account); } + @Override + public void update(Teacher entity) { + dao.update(entity); + } + @Override public void delete(String id) { dao.deleteById(id); From 22a7e416b171875ed508bcd1ff691e0884424bac Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 18:22:43 +0800 Subject: [PATCH 23/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/teacher/api/TeacherApi.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java index 122523a9..697f32ed 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java @@ -280,13 +280,13 @@ public class TeacherApi extends ApiBaseController { * @return */ @PostMapping("/update-teacher") - public JsonResponse updateTeacher(@RequestBody Teacher teacher) { + public JsonResponse updateTeacher(@RequestBody Teacher teacher) { if (teacher == null) { return error("缺少必要参数"); } try { service.update(teacher); - } catch (XaskException e) { + } catch (Exception e) { return error(e.getMessage()); } return success(teacher); From 8dc050e01cf88158bf38ce1f3c94dd9cad3ef53c Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 14 Dec 2022 18:52:36 +0800 Subject: [PATCH 24/67] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/course/dto/CourseFullText.java | 3 +- .../elasticsearc/CourseElasticsearchImpl.java | 34 +++++++++++++++++-- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseFullText.java b/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseFullText.java index 1d983d66..d1b69750 100644 --- a/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseFullText.java +++ b/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseFullText.java @@ -15,7 +15,6 @@ public class CourseFullText { /**es中的id*/ private String esId; - /**名称*/ private String name; @@ -29,6 +28,8 @@ public class CourseFullText { /**10无目录录播课,20 有目录录播课,30:面授课;40学习项目*/ private Integer type; + /**多个时用到*/ + private String types; /**原系统的企业id,对应sass模式的字段*/ private String companyId; diff --git a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java index 41c9a0e5..34ee009f 100644 --- a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java +++ b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java @@ -264,8 +264,20 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ }else { boolQuery.filter(QueryBuilders.termQuery("type", params.getType())); } + }else if(StringUtils.isNotBlank(params.getTypes())) { + List typeList=new ArrayList<>(); + if(params.getTypes().indexOf("20")>-1) { + typeList.add(10); + } + String[] typeArray=params.getTypes().split("-"); + for(String s:typeArray) { + typeList.add(Integer.valueOf(s)); + } + boolQuery.filter(QueryBuilders.termsQuery("type", typeList)); } + + if(params.getSource()!=null) { boolQuery.filter(QueryBuilders.termQuery("source", params.getSource())); } @@ -273,13 +285,29 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ boolQuery.filter(QueryBuilders.termQuery("openCourse", params.getOpenCourse())); } if(StringUtils.isNotBlank(params.getSysType1())) { - boolQuery.filter(QueryBuilders.termQuery("sysType1", params.getSysType1())); + if(params.getSysType1().indexOf("-")>-1) { + String[] typeArray=params.getSysType1().split("-"); + boolQuery.filter(QueryBuilders.termsQuery("sysType1", typeArray)); + }else { + boolQuery.filter(QueryBuilders.termQuery("sysType1", params.getSysType1())); + } + } if(StringUtils.isNotBlank(params.getSysType2())) { - boolQuery.filter(QueryBuilders.termQuery("sysType2", params.getSysType2())); + if(params.getSysType2().indexOf("-")>-1) { + String[] typeArray=params.getSysType2().split("-"); + boolQuery.filter(QueryBuilders.termsQuery("sysType2", typeArray)); + }else { + boolQuery.filter(QueryBuilders.termQuery("sysType2", params.getSysType2())); + } } if(StringUtils.isNotBlank(params.getSysType3())) { - boolQuery.filter(QueryBuilders.termQuery("sysType3", params.getSysType3())); + if(params.getSysType3().indexOf("-")>-1) { + String[] typeArray=params.getSysType3().split("-"); + boolQuery.filter(QueryBuilders.termsQuery("sysType3", typeArray)); + }else { + boolQuery.filter(QueryBuilders.termQuery("sysType3", params.getSysType3())); + } } //增加companyId过滤 if(StringUtils.isNotBlank(params.getCompanyId())) { From 56a3e74942235de91e16bd12b0c4227f257ca4b7 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 18:53:00 +0800 Subject: [PATCH 25/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/teacher/service/impl/TeacherServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java index d1a6ea70..0b596640 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java @@ -205,7 +205,7 @@ public class TeacherServiceImpl implements ITeacherService { } @Override - public void update(Teacher entity) { + public void updateTeacher(Teacher entity) { dao.update(entity); } From 7857ae0227cc1fce3aebd99732fe14200f188fc3 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 14 Dec 2022 18:53:02 +0800 Subject: [PATCH 26/67] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/module/course/api/CourseFullTextApi.java | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java index 5eba6146..8e54b2b5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java @@ -134,6 +134,7 @@ public class CourseFullTextApi extends ApiBaseController{ paras.setSysType2(dto.getSysType2());//专业分类二级 paras.setSysType3(dto.getSysType3());//专业分类三级 paras.setDevice(dto.getDevice()); + paras.setTypes(dto.getTypes());//多个分类的情况 //用户的companyId paras.setCompanyId(dto.getCompanyId()); //paras.setAudience(dto.getAudiences()); From 4a6738e99ce1d677c0730110663bfd040fe9ccb1 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 18:54:14 +0800 Subject: [PATCH 27/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xboe/module/teacher/service/ITeacherService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java index cfcfcd41..9dffdf3c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java @@ -67,7 +67,7 @@ public interface ITeacherService { * @param entity * @throws XaskException */ - void update(Teacher entity); + void updateTeacher(Teacher entity); /* * 更新同步信息 From 482ea670ce155460f0c396c632a9a0597ae16aa9 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 18:56:09 +0800 Subject: [PATCH 28/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/teacher/api/TeacherApi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java index 697f32ed..b90a99f7 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java @@ -285,7 +285,7 @@ public class TeacherApi extends ApiBaseController { return error("缺少必要参数"); } try { - service.update(teacher); + service.updateTeacher(teacher); } catch (Exception e) { return error(e.getMessage()); } From 8ccb6d0a2fae0816823af0e8d558e22a3095aaa1 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 18:59:04 +0800 Subject: [PATCH 29/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/teacher/service/impl/TeacherServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java index 0b596640..e27484bd 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java @@ -206,7 +206,8 @@ public class TeacherServiceImpl implements ITeacherService { @Override public void updateTeacher(Teacher entity) { - dao.update(entity); + Teacher teacher = dao.get(entity.getId()); + dao.update(teacher); } @Override From e1644c1816dc1d2e981bf6cebcb4f9843abc0144 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 19:02:21 +0800 Subject: [PATCH 30/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/teacher/service/impl/TeacherServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java index e27484bd..09c114be 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java @@ -205,6 +205,7 @@ public class TeacherServiceImpl implements ITeacherService { } @Override + @Transactional public void updateTeacher(Teacher entity) { Teacher teacher = dao.get(entity.getId()); dao.update(teacher); From 5690ba67b460126dd0954ec24bb2039080a7a720 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 19:12:23 +0800 Subject: [PATCH 31/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/teacher/api/TeacherApi.java | 3 ++- .../module/teacher/dto/TeacherFiledVo.java | 18 ++++++++++++++++++ .../teacher/service/ITeacherService.java | 3 ++- .../service/impl/TeacherServiceImpl.java | 7 ++++++- 4 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/teacher/dto/TeacherFiledVo.java diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java index b90a99f7..dd2e3bf5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/api/TeacherApi.java @@ -11,6 +11,7 @@ import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import com.xboe.module.teacher.dto.TeacherFiledVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.GetMapping; @@ -280,7 +281,7 @@ public class TeacherApi extends ApiBaseController { * @return */ @PostMapping("/update-teacher") - public JsonResponse updateTeacher(@RequestBody Teacher teacher) { + public JsonResponse updateTeacher(@RequestBody TeacherFiledVo teacher) { if (teacher == null) { return error("缺少必要参数"); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/dto/TeacherFiledVo.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/dto/TeacherFiledVo.java new file mode 100644 index 00000000..ea134b20 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/dto/TeacherFiledVo.java @@ -0,0 +1,18 @@ +package com.xboe.module.teacher.dto; + +import lombok.Data; + +@Data +public class TeacherFiledVo { + + private String id; + + private String photo; + + private String workExperience; + + private String courses; + + private String expertise; + +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java index 9dffdf3c..78a1a5ee 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/ITeacherService.java @@ -4,6 +4,7 @@ import java.util.List; import com.xboe.common.PageList; import com.xboe.core.exception.XaskException; +import com.xboe.module.teacher.dto.TeacherFiledVo; import com.xboe.module.teacher.dto.TeacherSyncUpdateDto; import com.xboe.module.teacher.entity.Teacher; import com.xboe.module.teacher.vo.TeacherQuery; @@ -67,7 +68,7 @@ public interface ITeacherService { * @param entity * @throws XaskException */ - void updateTeacher(Teacher entity); + void updateTeacher(TeacherFiledVo entity); /* * 更新同步信息 diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java index 09c114be..c95adef9 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/teacher/service/impl/TeacherServiceImpl.java @@ -9,6 +9,7 @@ import java.util.List; import javax.annotation.Resource; +import com.xboe.module.teacher.dto.TeacherFiledVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; @@ -206,8 +207,12 @@ public class TeacherServiceImpl implements ITeacherService { @Override @Transactional - public void updateTeacher(Teacher entity) { + public void updateTeacher(TeacherFiledVo entity) { Teacher teacher = dao.get(entity.getId()); + teacher.setPhoto(entity.getPhoto()); + teacher.setWorkExperience(entity.getWorkExperience()); + teacher.setCourses(entity.getCourses()); + teacher.setExpertise(entity.getExpertise()); dao.update(teacher); } From 836321fabaa08e9100f88db89031f3c4e1503128 Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 14 Dec 2022 19:29:53 +0800 Subject: [PATCH 32/67] =?UTF-8?q?=E6=95=99=E6=8E=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/boecase/api/CasesApi.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java index 235cf9a2..15336964 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesApi.java @@ -151,7 +151,7 @@ public class CasesApi extends ApiBaseController { } response.setContentType("application/octet-stream"); - response.setHeader("Content-disposition", "attachment;filename=Teachers.xls"); + response.setHeader("Content-disposition", "attachment;filename=cases.xls"); ExportsExcelSenderUtil.export(map,exportVos, OutputStream,"yyyy-MM-dd HH:mm:ss"); }catch (Exception e){ log.error("导出失败",e.getMessage()); From 25e614bdeafa81547a31e49dd8fbe53298a4cb2d Mon Sep 17 00:00:00 2001 From: daihh Date: Thu, 15 Dec 2022 09:04:44 +0800 Subject: [PATCH 33/67] =?UTF-8?q?=E7=99=BD=E5=90=8D=E5=8D=95=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/system/whiteuser/api/WhiteUserApi.java | 7 +++++++ .../xboe/system/whiteuser/entity/WhiteUser.java | 6 ++++-- .../whiteuser/service/IWhiteUserService.java | 7 +++++++ .../service/impl/WhiteUserServiceImpl.java | 16 ++++++++++++++++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java index 1a1a240e..e11c9934 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java @@ -18,6 +18,13 @@ public class WhiteUserApi extends ApiBaseController { @Resource IWhiteUserService service; + + + @GetMapping("/codes") + public JsonResponse> list(String env){ + List list = service.getCodes(null); + return success(list); + } /** * 白名单列表 diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java index e937521b..fd4cdcac 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/entity/WhiteUser.java @@ -16,7 +16,9 @@ import javax.persistence.Table; public class WhiteUser extends IdEntity { - @Column(name = "code",length = 30) + private static final long serialVersionUID = 1L; + + @Column(name = "code",length = 30) private String code; @Column(name = "name",length = 30) @@ -26,6 +28,6 @@ public class WhiteUser extends IdEntity { * 环境 * */ @Column(name="environment") - private Integer environment; + private String environment; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/IWhiteUserService.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/IWhiteUserService.java index 880874dd..67584374 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/IWhiteUserService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/IWhiteUserService.java @@ -12,6 +12,13 @@ public interface IWhiteUserService { * 查看现有白名单 * */ List list(WhiteUser whiteUser); + + /** + * 提取代码列表 + * @param env + * @return + */ + List getCodes(String env); /** diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java index 6acc71f1..6d901037 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/service/impl/WhiteUserServiceImpl.java @@ -8,6 +8,8 @@ import com.xboe.core.orm.QueryBuilder; import com.xboe.system.whiteuser.dao.WhiteUserDao; import com.xboe.system.whiteuser.entity.WhiteUser; import com.xboe.system.whiteuser.service.IWhiteUserService; + +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -60,4 +62,18 @@ public class WhiteUserServiceImpl implements IWhiteUserService { WhiteUser whiteUser = whiteUserDao.get(id); return whiteUser; } + + @Override + public List getCodes(String env) { + if(StringUtils.isBlank(env)) { + @SuppressWarnings("unchecked") + List codes = (List) whiteUserDao.findListField("code"); + return codes; + }else { + @SuppressWarnings("unchecked") + List codes = (List) whiteUserDao.findListField("code",FieldFilters.eq("environment", env)); + return codes; + } + + } } From ad22b49060247711a71eb5f5f8d23d3381f386cf Mon Sep 17 00:00:00 2001 From: daihh Date: Thu, 15 Dec 2022 09:17:23 +0800 Subject: [PATCH 34/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java index e11c9934..63dcf1a1 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/whiteuser/api/WhiteUserApi.java @@ -20,9 +20,9 @@ public class WhiteUserApi extends ApiBaseController { IWhiteUserService service; - @GetMapping("/codes") + @PostMapping("/codes") public JsonResponse> list(String env){ - List list = service.getCodes(null); + List list = service.getCodes(env); return success(list); } From 79b9b43f2064cf88dc5c1339d1ddea3b5ab11ac1 Mon Sep 17 00:00:00 2001 From: daihh Date: Thu, 15 Dec 2022 09:29:36 +0800 Subject: [PATCH 35/67] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=BC=B9=E5=87=BA=E7=94=A8=E6=88=B7=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/popup/api/PopupApi.java | 11 ++++++ .../com/xboe/module/popup/entity/Popup.java | 12 +++---- .../xboe/module/popup/entity/PopupUser.java | 36 +++++++++++++++++++ .../module/popup/service/IPopupService.java | 7 ++++ .../popup/service/impl/PopupServiceImpl.java | 7 ++++ 5 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/PopupUser.java diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java index f44f05ee..a7d4dbb6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java @@ -17,6 +17,17 @@ public class PopupApi extends ApiBaseController { @Resource IPopupService service; + + + /** + * 前端查询,只是查询出对于当前用户来说需要弹出的 + * */ + @PostMapping("/user") + public JsonResponse> userList(){ + String aid=getCurrent().getAccountId(); + List list = service.findForUser(aid); + return success(list); + } /** diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java index 25fb3d99..19305fda 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java @@ -15,10 +15,12 @@ import java.time.LocalDateTime; @EqualsAndHashCode(callSuper = false) @Entity @Table(name = SysConstant.TABLE_PRE+"popup") -public class Popup extends IdEntity { +public class Popup extends IdEntity { - /** + private static final long serialVersionUID = 1L; + + /** * 开始时间 * */ @Column(name = "start_time") @@ -81,10 +83,4 @@ public class Popup extends IdEntity { private String url; - - - - - - } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/PopupUser.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/PopupUser.java new file mode 100644 index 00000000..b651c175 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/PopupUser.java @@ -0,0 +1,36 @@ +package com.xboe.module.popup.entity; + +import java.time.LocalDateTime; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +import com.xboe.core.SysConstant; +import com.xboe.core.orm.IdEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 弹出用户记录 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Entity +@Table(name = SysConstant.TABLE_PRE+"popup_user") +public class PopupUser extends IdEntity{ + + private static final long serialVersionUID = 1L; + + @Column(name = "popup_id",length=20) + private String popupId; + + @Column(name = "aid",length=20) + private String aid; + + /**状态默认是1,表已弹出过*/ + @Column(name = "status",length=1) + private Boolean status; + +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java index 6ffb44a2..edb3c1a0 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java @@ -12,6 +12,13 @@ public interface IPopupService { * 后台弹窗管理列表 * */ List list(Popup popup); + + /** + * 查询当前用户需要弹出的 + * @param aid + * @return + */ + List findForUser(String aid); /** diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java index 7b14484a..a6e04790 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java @@ -70,4 +70,11 @@ public class PopupServiceImpl implements IPopupService { public void delete(String id) { popupDao.deleteById(id); } + + @Override + public List findForUser(String aid) { + //根据时间查询,在时间内的。 + //如果一个用户只弹一次,还要结合 PopupUser 查询, + return null; + } } From ab5dab44889392fbac84ce74bbb3577f09f11f8c Mon Sep 17 00:00:00 2001 From: 86182 Date: Thu, 15 Dec 2022 11:55:04 +0800 Subject: [PATCH 36/67] =?UTF-8?q?=E5=BC=B9=E5=87=BA=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/popup/api/PopupApi.java | 9 ++++++ .../xboe/module/popup/dao/PopupUserDao.java | 9 ++++++ .../popup/service/impl/PopupServiceImpl.java | 29 +++++++++++++++++-- 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 servers/boe-server-all/src/main/java/com/xboe/module/popup/dao/PopupUserDao.java diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java index a7d4dbb6..7d829a28 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java @@ -39,6 +39,15 @@ public class PopupApi extends ApiBaseController { return success(list); } + @GetMapping("/find-user") + public JsonResponse> findForUser(String aid){ + if(StringUtil.isBlank(aid)){ + aid=this.getCurrent().getAccountId(); + } + List forUser = service.findForUser(aid); + return success(forUser); + } + /** * 添加弹窗 diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/dao/PopupUserDao.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/dao/PopupUserDao.java new file mode 100644 index 00000000..5f145734 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/dao/PopupUserDao.java @@ -0,0 +1,9 @@ +package com.xboe.module.popup.dao; + +import com.xboe.core.orm.BaseDao; +import com.xboe.module.popup.entity.PopupUser; +import org.springframework.stereotype.Repository; + +@Repository +public class PopupUserDao extends BaseDao { +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java index a6e04790..e84d753e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java @@ -6,12 +6,16 @@ import com.xboe.core.orm.FieldFilters; import com.xboe.core.orm.LikeMatchMode; import com.xboe.core.orm.QueryBuilder; import com.xboe.module.popup.dao.PopupDao; +import com.xboe.module.popup.dao.PopupUserDao; import com.xboe.module.popup.entity.Popup; +import com.xboe.module.popup.entity.PopupUser; import com.xboe.module.popup.service.IPopupService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; @Service @@ -21,6 +25,10 @@ public class PopupServiceImpl implements IPopupService { @Resource PopupDao popupDao; + @Resource + PopupUserDao popupUserDao; + + @Override public List list(Popup popup) { @@ -74,7 +82,24 @@ public class PopupServiceImpl implements IPopupService { @Override public List findForUser(String aid) { //根据时间查询,在时间内的。 - //如果一个用户只弹一次,还要结合 PopupUser 查询, - return null; + System.out.println(aid); + String from ="Popup p,PopupUser pu"; + QueryBuilder builder = QueryBuilder.from(from); + builder.addFilter(FieldFilters.eqField("p.id","pu.popupId")); + //当前时间在时间内的 + LocalDateTime now = LocalDateTime.now(); + System.out.println(now); +// builder.addFilter(FieldFilters.ge("p.startTime",now)); +// builder.addFilter(FieldFilters.lt("p.endTime",now)); + if(StringUtil.isNotBlank(aid)){ + builder.addFilter(FieldFilters.eq("pu.aid",aid)); + } + builder.addFilter(FieldFilters.eq("pu.status",false)); +// builder.addFilter(FieldFilters.eq("p.once",true)); + builder.addFields("p"); + List list = popupDao.findList(builder.builder()); + + //如果一个用户只弹一次,还要结合 PopupUser 查询, + return list; } } From fd92157f4ad5c8fd29c692904916511014f6329b Mon Sep 17 00:00:00 2001 From: 86182 Date: Thu, 15 Dec 2022 12:01:24 +0800 Subject: [PATCH 37/67] =?UTF-8?q?=E5=BC=B9=E5=87=BA=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/popup/service/impl/PopupServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java index e84d753e..60bfc3a5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java @@ -82,15 +82,15 @@ public class PopupServiceImpl implements IPopupService { @Override public List findForUser(String aid) { //根据时间查询,在时间内的。 - System.out.println(aid); + String from ="Popup p,PopupUser pu"; QueryBuilder builder = QueryBuilder.from(from); builder.addFilter(FieldFilters.eqField("p.id","pu.popupId")); //当前时间在时间内的 LocalDateTime now = LocalDateTime.now(); - System.out.println(now); -// builder.addFilter(FieldFilters.ge("p.startTime",now)); -// builder.addFilter(FieldFilters.lt("p.endTime",now)); + + builder.addFilter(FieldFilters.ge("p.startTime",now)); + builder.addFilter(FieldFilters.lt("p.endTime",now)); if(StringUtil.isNotBlank(aid)){ builder.addFilter(FieldFilters.eq("pu.aid",aid)); } From 4850adbf518f459cb11432836c129b532c055d91 Mon Sep 17 00:00:00 2001 From: 86182 Date: Thu, 15 Dec 2022 14:31:34 +0800 Subject: [PATCH 38/67] =?UTF-8?q?=E5=BC=B9=E5=87=BA=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/exam/service/impl/ExamTestServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java index 150f79d6..f51259fb 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java @@ -39,6 +39,7 @@ public class ExamTestServiceImpl implements IExamTestService { public void sava(ExamTest examTest) { examTest.setPublished(false); examTest.setDeleted(false); + examTest.setEnabled(false); examTestDao.save(examTest); } From dc59e5dd019aa824daa1ea23dad973fec8426d78 Mon Sep 17 00:00:00 2001 From: daihh Date: Sat, 17 Dec 2022 15:30:13 +0800 Subject: [PATCH 39/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/popup/api/PopupApi.java | 11 ++++- .../module/popup/service/IPopupService.java | 6 +++ .../popup/service/impl/PopupServiceImpl.java | 44 +++++++++++-------- 3 files changed, 41 insertions(+), 20 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java index 7d829a28..c1124f5d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java @@ -22,7 +22,7 @@ public class PopupApi extends ApiBaseController { /** * 前端查询,只是查询出对于当前用户来说需要弹出的 * */ - @PostMapping("/user") + @GetMapping("/user") public JsonResponse> userList(){ String aid=getCurrent().getAccountId(); List list = service.findForUser(aid); @@ -38,6 +38,15 @@ public class PopupApi extends ApiBaseController { List list = service.list(popup); return success(list); } + + @PostMapping("/add") + public JsonResponse list(String popupId){ + String aid=getCurrent().getAccountId(); + service.addUser(aid, popupId); + return success(true); + } + + @GetMapping("/find-user") public JsonResponse> findForUser(String aid){ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java index edb3c1a0..26d42868 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java @@ -43,4 +43,10 @@ public interface IPopupService { * 删除 * */ void delete(String id); + + /** + * 添加弹出了的用户 + * @param popupId + */ + void addUser(String aid,String popupId); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java index 60bfc3a5..cf9dbe42 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java @@ -81,25 +81,31 @@ public class PopupServiceImpl implements IPopupService { @Override public List findForUser(String aid) { - //根据时间查询,在时间内的。 + //根据时间查询,查询出时间内需要弹出的内容 + LocalDateTime now = LocalDateTime.now(); + List list=popupDao.findList(FieldFilters.le("p.startTime",now),FieldFilters.ge("p.endTime",now)); + List rslist=new ArrayList(); + for(Popup p: list) { + if(p.getOnce()!=null && p.getOnce()) { + //只是查询一次 + List pu = popupUserDao.findList(FieldFilters.eq("aid",aid),FieldFilters.eq("popupId",p.getId())); + if(pu.isEmpty()) { + rslist.add(p); + } + }else { + rslist.add(p); + } + } + return rslist; + } - String from ="Popup p,PopupUser pu"; - QueryBuilder builder = QueryBuilder.from(from); - builder.addFilter(FieldFilters.eqField("p.id","pu.popupId")); - //当前时间在时间内的 - LocalDateTime now = LocalDateTime.now(); - - builder.addFilter(FieldFilters.ge("p.startTime",now)); - builder.addFilter(FieldFilters.lt("p.endTime",now)); - if(StringUtil.isNotBlank(aid)){ - builder.addFilter(FieldFilters.eq("pu.aid",aid)); - } - builder.addFilter(FieldFilters.eq("pu.status",false)); -// builder.addFilter(FieldFilters.eq("p.once",true)); - builder.addFields("p"); - List list = popupDao.findList(builder.builder()); - - //如果一个用户只弹一次,还要结合 PopupUser 查询, - return list; + @Override + public void addUser(String aid,String popupId) { + PopupUser pu=new PopupUser(); + pu.setAid(aid); + pu.setPopupId(popupId); + pu.setStatus(true); + popupUserDao.save(pu); + } } From 2fdecee02d4ad48d4a4724b0a9c8866eb5835b5e Mon Sep 17 00:00:00 2001 From: daihh Date: Sun, 18 Dec 2022 21:09:14 +0800 Subject: [PATCH 40/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/scorm/IScormFileHandle.java | 4 +- .../module/scorm/IScormStudyCallback.java | 27 +++++++++++++ .../com/xboe/module/scorm/SCORMParser.java | 25 ++++++------ .../com/xboe/module/scorm/data/ScoItem.java | 9 ----- .../com/xboe/module/scorm/data/ScormData.java | 39 +++++++++++++++++++ .../com/xboe/module/scorm/data/ScormFile.java | 4 ++ 6 files changed, 84 insertions(+), 24 deletions(-) create mode 100644 modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java create mode 100644 modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormData.java diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormFileHandle.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormFileHandle.java index 62234f21..2a07e14a 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormFileHandle.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormFileHandle.java @@ -10,8 +10,8 @@ public interface IScormFileHandle { /** * 根据传入的id获到scorm文件的目录信息 - * @param id + * @param scormId * @return */ - ScormFile getById(String id); + ScormFile getById(String scormId)throws Exception; } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java new file mode 100644 index 00000000..6b2dbc26 --- /dev/null +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java @@ -0,0 +1,27 @@ +package com.xboe.module.scorm; + +/** + * 课程学习回调。 + * 开始学习时触发回调事件,学习sco完成的回调事件 + * + */ +public interface IScormStudyCallback { + + /** + * 学习完成回调 + * @param studyId + * @param studyId + * @param studyId + */ + /** + * 学习完成回调 + * @param studyId 初始化时传入的学习id + * @param courseId 初始化时传入的课程id + * @param contentId 初始化时传入的课程内容id + * @param studentId 学生id + * @param studentName 学习姓名 + * @param scormId scorm课程的id + * @param scoId sco的id + */ + void finishCallback(String studyId,String courseId,String contentId,String studentId,String studentName,String scormId,String scoId); +} diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java index d7326fb0..6cdfbb17 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java @@ -1,9 +1,7 @@ package com.xboe.module.scorm; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import org.apache.commons.lang3.StringUtils; @@ -16,6 +14,7 @@ import com.xboe.module.scorm.cam.model.Organization; import com.xboe.module.scorm.cam.model.Resource; import com.xboe.module.scorm.cam.model.datatype.IDRef; import com.xboe.module.scorm.data.ScoItem; +import com.xboe.module.scorm.data.ScormData; /** * 解析程序,转化为课程存储的json @@ -24,12 +23,12 @@ public class SCORMParser { public String parserToJson(String path) throws Exception { // System.out.println("test"); - Map jsonMap=new HashMap(); - ContentPackage cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", path); + ContentPackage cp=SCORMPackageManager.getInstance().loadSCORMContentPackageFromZipFile("1", path); Manifest manifest= cp.getManifest(); // System.out.println(cp.getManifest().getIdentifier()); // System.out.println(cp.getContent()); + ScormData data=new ScormData(); List scoItems=new ArrayList(); // System.out.println("title="+cp.getManifest().getOrganizations().getOrganizationList().get(0).getTitle()); @@ -39,7 +38,7 @@ public class SCORMParser { //提取组织菜单 IDRef ref = manifest.getOrganizations().getDefaultOrganizationID(); if(ref!=null){ - jsonMap.put("defaultId", ref.getValue());//如果有多个组织目录,默认是的哪个 + data.setDefaultId(ref.getValue()); } List orgList = manifest.getOrganizations().getOrganizationList(); @@ -52,7 +51,7 @@ public class SCORMParser { ScoItem sco=new ScoItem(); sco.setId(item.getIdentifier().getValue()); sco.setTitle(item.getTitle()); - sco.setScoId(res.getIdentifier().getValue()); + //sco.setScoId(res.getIdentifier().getValue()); sco.setScoUrl(res.getHref()); sco.setScoType(res.getScormType()); scoItems.add(sco); @@ -67,7 +66,7 @@ public class SCORMParser { ScoItem sco=new ScoItem(); sco.setId(item.getIdentifier().getValue()); sco.setTitle(item.getTitle()); - sco.setScoId(res.getIdentifier().getValue()); + //sco.setScoId(res.getIdentifier().getValue()); sco.setScoUrl(res.getHref()); sco.setScoType(res.getScormType()); scoItems.add(sco); @@ -82,18 +81,18 @@ public class SCORMParser { } //scorm的版本 - jsonMap.put("schema",manifest.getMetadata().getSchema()); - jsonMap.put("version",manifest.getMetadata().getSchemaVersion()); - jsonMap.put("items", scoItems);//sco共有多少个 + data.setSchema(manifest.getMetadata().getSchema()); + data.setVersion(manifest.getMetadata().getSchemaVersion()); + data.setScoItems(scoItems);//sco共有多少个 if(scoItems.size()>0 && scoItems.get(0).getScoUrl()!=null) { - jsonMap.put("index",scoItems.get(0).getScoUrl());//打开播放时进入的第一个sco + data.setIndex(scoItems.get(0).getScoUrl());//打开播放时进入的第一个sco }else { - jsonMap.put("index","");//无首页地址 + data.setIndex("");//无首页地址 } ObjectMapper om=new ObjectMapper(); - String json=om.writeValueAsString(jsonMap); + String json=om.writeValueAsString(data); return json; } diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScoItem.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScoItem.java index 7436962c..5cb249f6 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScoItem.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScoItem.java @@ -12,8 +12,6 @@ public class ScoItem { private String title; - private String scoId; - private String scoType; private String scoUrl; @@ -36,13 +34,6 @@ public class ScoItem { this.title = title; } - public String getScoId() { - return scoId; - } - - public void setScoId(String scoId) { - this.scoId = scoId; - } public String getScoType() { return scoType; diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormData.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormData.java new file mode 100644 index 00000000..9cd58f2c --- /dev/null +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormData.java @@ -0,0 +1,39 @@ +package com.xboe.module.scorm.data; + +import java.util.List; + +import lombok.Data; + +/** + * scorm数据信息,简化后的,只是记录需要的,其它的不需要 + * @author seastar + * + */ +@Data +public class ScormData { + + /** + * 默认就是 “ADL SCORM” + */ + private String schema="ADL SCORM"; + + /** + * 对应的 schema version + */ + private String version; + + private String defaultId;//默认的组织id + + /** + * 默认的页面 + */ + private String index; + + /** + * 对应的学习内容的页面数据 + */ + private List scoItems; + + + +} diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormFile.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormFile.java index b6eecc49..881a188a 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormFile.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/data/ScormFile.java @@ -20,5 +20,9 @@ public class ScormFile { */ private String zipName; + /** + * scorm的数据 + */ + private ScormData data; } From 0b192bc0b761a488c943213ae94ddbee768945eb Mon Sep 17 00:00:00 2001 From: daihh Date: Sun, 18 Dec 2022 23:23:24 +0800 Subject: [PATCH 41/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/module/scorm/IScormStudyCallback.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java index 6b2dbc26..730c292a 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java @@ -15,7 +15,7 @@ public interface IScormStudyCallback { */ /** * 学习完成回调 - * @param studyId 初始化时传入的学习id + * @param lmsId 初始化时传入的学习lmsId * @param courseId 初始化时传入的课程id * @param contentId 初始化时传入的课程内容id * @param studentId 学生id @@ -23,5 +23,5 @@ public interface IScormStudyCallback { * @param scormId scorm课程的id * @param scoId sco的id */ - void finishCallback(String studyId,String courseId,String contentId,String studentId,String studentName,String scormId,String scoId); + void scoFinishCallback(String lmsId,String courseId,String contentId,String studentId,String studentName,String scormId,String scoId); } From fbab42e46cf1d32ce282cde429e5e6af8aa4741e Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 19 Dec 2022 09:24:20 +0800 Subject: [PATCH 42/67] =?UTF-8?q?=E8=80=83=E8=AF=95=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=9C=BA=E6=9E=84id,=20=E6=9C=BA=E6=9E=84=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xboe/module/exam/entity/ExamTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamTest.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamTest.java index 571f71d6..b915fa93 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamTest.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamTest.java @@ -24,11 +24,25 @@ import lombok.EqualsAndHashCode; public class ExamTest extends BaseEntity { private static final long serialVersionUID = 1L; + /** * 考试名称 * */ @Column(name = "test_name",nullable = false,length = 50) private String testName; + + /** + * 所属机构id + */ + @Column(name = "org_id",length = 36) + private String orgId; + + /** + * 所属机构名称,冗余存储,因为机构是从其它服务查询过来的,不是本地的的,所以这里存储是为了方便查询显示 + */ + @Column(name = "org_name",length = 100) + private String orgName; + /** * 考试时长 分钟 * */ From a6bcc34ae855c327ada4d12d3d14dbaaec4e75b0 Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 19 Dec 2022 10:22:21 +0800 Subject: [PATCH 43/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=BC=B9=E5=87=BA?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E5=A2=9E=E5=8A=A0=E6=AC=A1=E6=95=B0=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/module/popup/entity/Popup.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java index 25fb3d99..894c3582 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java @@ -15,10 +15,11 @@ import java.time.LocalDateTime; @EqualsAndHashCode(callSuper = false) @Entity @Table(name = SysConstant.TABLE_PRE+"popup") -public class Popup extends IdEntity { +public class Popup extends IdEntity { + private static final long serialVersionUID = 1L; - /** + /** * 开始时间 * */ @Column(name = "start_time") @@ -61,6 +62,12 @@ public class Popup extends IdEntity { * */ @Column(name = "title",length = 50) private String title; + + /** + * 弹出次数 + */ + @Column(name = "times",length = 2) + private Integer times; /** * 弹窗内容 From 70cc3245c4df6566e06df029a03b85d3eedaf94e Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 19 Dec 2022 20:29:46 +0800 Subject: [PATCH 44/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xboe/module/scorm/IScormStudyCallback.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java index 730c292a..7e46d276 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/IScormStudyCallback.java @@ -7,12 +7,7 @@ package com.xboe.module.scorm; */ public interface IScormStudyCallback { - /** - * 学习完成回调 - * @param studyId - * @param studyId - * @param studyId - */ + /** * 学习完成回调 * @param lmsId 初始化时传入的学习lmsId @@ -23,5 +18,5 @@ public interface IScormStudyCallback { * @param scormId scorm课程的id * @param scoId sco的id */ - void scoFinishCallback(String lmsId,String courseId,String contentId,String studentId,String studentName,String scormId,String scoId); + void finishCallback(String lmsId,String courseId,String contentId,String studentId,String studentName,String scormId,String scoId); } From 48bfb7b694404e5af401a209c4d8fc28b17ed98c Mon Sep 17 00:00:00 2001 From: 86182 Date: Tue, 20 Dec 2022 13:42:46 +0800 Subject: [PATCH 45/67] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=92=8C=E8=AF=BE=E4=BB=B6=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=89=80?= =?UTF-8?q?=E5=B1=9E=E7=BB=84=E7=BB=87id=E7=94=A8in=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/course/api/CourseFileApi.java | 11 +++++++++++ .../com/xboe/module/course/dto/CourseQueryDto.java | 5 +++++ .../module/course/service/impl/CourseServiceImpl.java | 10 ++++++++++ 3 files changed, 26 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java index 4f038592..ad99fc9a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java @@ -8,12 +8,14 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.xboe.common.utils.StringUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.orm.ObjectOptimisticLockingFailureException; import org.springframework.web.bind.annotation.GetMapping; @@ -135,6 +137,15 @@ public class CourseFileApi extends ApiBaseController { if (cfile.getResType() != null) { filters.add(FieldFilters.eq("resType", cfile.getResType())); } + if(StringUtil.isNotBlank(cfile.getOrgId())){ + if(cfile.getOrgId().contains(",")){ + String[] split = cfile.getOrgId().split(","); + List strings = Arrays.asList(split); + filters.add(FieldFilters.in("orgId",strings)); + }else { + filters.add(FieldFilters.eq("orgId",cfile.getOrgId())); + } + } //默认是查询自己的课件。 if (self == null) { diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java index d138e4ce..7c75fe41 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java @@ -96,4 +96,9 @@ public class CourseQueryDto { * 是否公开课,0表非公开课,1表公开课 */ private Integer openCourse; + + /** + * 表资源归属的in查询 + * */ + private String orgId; } 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 61062f10..8cd85d4a 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 @@ -4,6 +4,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -202,6 +203,15 @@ public class CourseServiceImpl implements ICourseService { if(dto.getPublish()!=null){ filters.add(FieldFilters.eq("published",dto.getPublish())); } + if(StringUtil.isNotBlank(dto.getOrgId())){ + if(dto.getOrgId().contains(",")){ + String[] split = dto.getOrgId().split(","); + List strings = Arrays.asList(split); + filters.add(FieldFilters.in("orgId",strings)); + }else { + filters.add(FieldFilters.eq("orgId",dto.getOrgId())); + } + } return filters; } From 6ce1468b336443941c761669cb103c61b28f97ef Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 20 Dec 2022 17:18:12 +0800 Subject: [PATCH 46/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4scorm=E7=9A=84=E4=B8=AD?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=9A=84=E4=BF=AE=E6=94=B9=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/school/study/api/StudyCourseApi.java | 82 ++++++++++++------- 1 file changed, 54 insertions(+), 28 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java index ae63539a..1b6c8d8c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java @@ -200,34 +200,6 @@ public class StudyCourseApi extends ApiBaseController{ return success(rs); } - -// /** -// * 检查是否有相应的课程学习 -// * @param cid -// * @return -// */ -// @RequestMapping(value="/has",method = {RequestMethod.GET,RequestMethod.POST}) -// public JsonResponse> has(String cid){ -// if(StringUtils.isBlank(cid)){ -// return error("无课程信息"); -// } -// String aid=getCurrent().getAccountId(); -// StudyCourse sc=service.findByCourseIdAndAid(cid, aid); -// -// Map rs=new HashMap(); -// if(sc==null) { -// //查询是否已报名,自主报名直接通过,所以此查询主要针对于报名待审核的 -// rs.put("signup",false); -// }else { -// rs.put("signup",true); -// rs.put("studyId", sc.getId());//学习id -// //查询上次学习的是什么资源。查询用户的学习情况 -// List items=studyService.findByStudyId(sc.getId()); -// rs.put("contents",items); -// } -// return success(rs); -// } - /** * 在打开课程详细页面的时候,调用此接口,返回学习课程信息,上次学习的位置。
* 如果没有就返回空
@@ -318,6 +290,60 @@ public class StudyCourseApi extends ApiBaseController{ } + /** + * 学习完成一项课程内容,针对于所有课程内容,不只是音视频,还有scorm及其它的内容 + * @param sci + * @return + */ + @PostMapping("/study-content-finish") + public JsonResponse studyContentFinish(@RequestBody StudyContentDto sci){ + + if(StringUtils.isBlank(sci.getStudyId())){ + return error("参数错误"); + } + if(StringUtils.isBlank(sci.getContentId())){ + return error("参数错误:内容"); + } + LocalDateTime now=LocalDateTime.now(); + CurrentUser cuser=getCurrent(); + + //下面的学习时长应该去掉了,不需要 + StudyTime st=new StudyTime(); + st.setContentId(sci.getContentId()); + st.setCourseId(sci.getCourseId()); + st.setDuration(5);//增加5秒的学习时长 + st.setEndTime(now); + st.setStartTime(now); + st.setStudentId(cuser.getAccountId()); + st.setStudentName(cuser.getName()); + st.setStudyId(sci.getStudyId()); + + //检查是否已存在 + StudyCourseItem item = studyService.checkHas(sci.getStudyId(),sci.getContentId()); + if(item!=null) { + //如果记录存在,但是进度不到100,未完成情况,就更新进度,一期不会有这种情况 + if(item.getProgress()<100 && sci.getProgress()>item.getProgress()) { + studyService.updateProcess(item.getId(),sci.getStudyId(),sci.getCourseId(), sci.getContentTotal(),sci.getProgress()); + } + //追加学习时长 + studyService.appendStudyDuration(st); + return success(item.getId()); + } + + try { + sci.setAid(cuser.getAccountId()); + sci.setAname(cuser.getName()); + studyService.saveStudyInfo(sci); + //学习记录成功后处理 + studyService.appendStudyDuration(st); + return success(sci.getStudyItemId()); + }catch(Exception e) { + log.error("记录学习课程内容完成错误",e); + return error("记录学习课程内容完成失败",e.getMessage()); + } + + } + /** * 音视频学习保存,初始化保存学习记录. * 如果已经保存,就不要再保存第二次了,前端注意控制 From 792bea4a388407c3607ae1ed78974c657123ef87 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 20 Dec 2022 22:03:41 +0800 Subject: [PATCH 47/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/scorm/SCORMParser.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java index 6cdfbb17..6ea12206 100644 --- a/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java +++ b/modules/boe-module-scorm/src/main/java/com/xboe/module/scorm/SCORMParser.java @@ -49,7 +49,7 @@ public class SCORMParser { if(res!=null) { //if(res.getScormType().equals("sco")) { ScoItem sco=new ScoItem(); - sco.setId(item.getIdentifier().getValue()); + sco.setId(res.getIdentifier().getValue()); sco.setTitle(item.getTitle()); //sco.setScoId(res.getIdentifier().getValue()); sco.setScoUrl(res.getHref()); @@ -64,8 +64,8 @@ public class SCORMParser { if(res!=null) { //if(res.getScormType().equals("sco")) { ScoItem sco=new ScoItem(); - sco.setId(item.getIdentifier().getValue()); - sco.setTitle(item.getTitle()); + sco.setId(res.getIdentifier().getValue()); + sco.setTitle(subItem.getTitle()); //sco.setScoId(res.getIdentifier().getValue()); sco.setScoUrl(res.getHref()); sco.setScoType(res.getScormType()); From 8087c0d64e737cacc8d0f743bbf839035009156a Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 20 Dec 2022 22:03:55 +0800 Subject: [PATCH 48/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/module/course/entity/CourseExam.java | 2 +- .../xboe/module/exam/api/ExamPaperApi.java | 19 ++++++++++++++++++- .../xboe/module/exam/entity/ExamPaper.java | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseExam.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseExam.java index 8ad84b59..b0f01a9a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseExam.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/entity/CourseExam.java @@ -123,7 +123,7 @@ public class CourseExam extends BaseEntity { private Boolean percentScore; /** - * 试题的id,使用已有试卷时保存选择试卷的id + * 试卷的id,使用已有试卷时保存选择试卷的id */ @Column(name = "paper_id",nullable=true,length=20) private String paperId; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamPaperApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamPaperApi.java index 79e0888f..1add0cfe 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamPaperApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamPaperApi.java @@ -131,6 +131,24 @@ public class ExamPaperApi extends ApiBaseController { } + @GetMapping("/detail") + public JsonResponse detail(String id,Boolean content){ + if(StringUtil.isBlank(id)){ + return badRequest("缺少必要参数"); + } + try { + ExamPaper query = examPaperService.query(id); + if(content==null || content==false) { + query.setPaperContent(""); + } + return success(query); + } catch (Exception e) { + log.error("查询试卷失败",e); + return error("查询试卷失败",e.getMessage()); + } + + } + /** *编辑详情 * */ @@ -168,7 +186,6 @@ public class ExamPaperApi extends ApiBaseController { } } - List examQuestionList = examPaperService.batchForImport(vo); return success(examQuestionList); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamPaper.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamPaper.java index 592e3dba..7cbc4ebd 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamPaper.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/entity/ExamPaper.java @@ -95,5 +95,6 @@ public class ExamPaper extends BaseEntity { } public ExamPaper() { + } } From c46626a13eed71aa0e1027ccce6c45542799cc89 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 21 Dec 2022 11:58:40 +0800 Subject: [PATCH 49/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xboe/module/popup/entity/Popup.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java index 19305fda..316ff079 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/entity/Popup.java @@ -63,6 +63,18 @@ public class Popup extends IdEntity { * */ @Column(name = "title",length = 50) private String title; + + /** + * 弹出次数,0表无限制 + */ + @Column(name = "times",length = 2) + private Integer times; + + /** + * 0全部,1:PC,;2:h5端 + */ + @Column(name = "device",length = 2) + private Integer device; /** * 弹窗内容 From d4ea7157685de62d6145059aa03113e1817ea58f Mon Sep 17 00:00:00 2001 From: 86182 Date: Wed, 21 Dec 2022 18:34:41 +0800 Subject: [PATCH 50/67] =?UTF-8?q?=E8=B0=83=E7=94=A8=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=8A=A0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=9C=89=E6=9D=83=E9=99=90=E7=9A=84=E6=9C=BA=E6=9E=84=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/outside/IOutSideDataService.java | 6 +++ .../data/outside/OutSideDataServiceImpl.java | 39 ++++++++++++++++--- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java index 7c34b0f0..d480810c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java @@ -18,4 +18,10 @@ public interface IOutSideDataService { */ UserData getUserInfoByUserId(String userId); + + /** + * 获取用户有权限的机构id + * */ + List getOrgId(); + } diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java index c9089829..f6501c30 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java @@ -1,9 +1,6 @@ package com.xboe.data.outside; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import javax.servlet.http.HttpServletRequest; @@ -128,7 +125,39 @@ public class OutSideDataServiceImpl implements IOutSideDataService { } return null; } - + + @Override + public List getOrgId() { + List orgIds = new ArrayList<>(); + String token = TokenProxy.getToken(request); + String type="application/json"; + String[] headers=new String[] {"token",token,"Content-Type",type}; + String url= getBaseUrl("/org/listOrgIds"); + ObjectMapper mapper=new ObjectMapper(); + String responseStr=null; + try{ + responseStr = okHttpUtil.doPostJson(url,"{}", headers); + JsonNode rootNode= mapper.readTree(responseStr); + int code = rootNode.get("code").asInt(); + if(code!=200) { + log.error("获取当前用户拥有权限机构id错误:"+responseStr); + return null; + } + + if(rootNode.get("result")!=null & rootNode.get("result").isObject()) { + JsonNode result = rootNode.get("result"); + Iterator elements = result.elements(); + while (elements.hasNext()){ + orgIds.add(elements.next().toString()); + } + } + }catch (Exception e){ + log.error("获取当前用户有权限的机构id错误",e); + } + return orgIds; + + } + private String getBaseUrl(String url) { String baseUrl=SysConstant.getConfigValue("xboe.server.userbasic.url"); if(StringUtils.isBlank(baseUrl)) { From 6dbe67e8b5e67d9b092e06ab1c4822d470460923 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 21 Dec 2022 21:02:14 +0800 Subject: [PATCH 51/67] =?UTF-8?q?=E5=9C=B0=E5=9D=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/data/outside/OutSideDataServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java index f6501c30..1a597c52 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java @@ -164,7 +164,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService { log.error("调用用户接口错误,未配置用户服务的地址【xboe.server.userbasic.url】"); throw new RuntimeException("获取用户信息错误,未配置用户服务的地址"); } - String reqUrl= baseUrl+"/user/info"; + String reqUrl= baseUrl+url; return reqUrl; } From 7a366eda6117da4e506c49868c9d502a8be4cb1a Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 21 Dec 2022 21:48:08 +0800 Subject: [PATCH 52/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=88=B0=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/TempFilterConfig.java | 18 +++++++++++++++++ .../data/outside/IOutSideDataService.java | 2 +- .../data/outside/OutSideDataServiceImpl.java | 2 +- .../xboe/module/course/api/CourseFileApi.java | 20 +++++++++++++++++-- 4 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 servers/boe-server-all/src/main/java/com/xboe/TempFilterConfig.java diff --git a/servers/boe-server-all/src/main/java/com/xboe/TempFilterConfig.java b/servers/boe-server-all/src/main/java/com/xboe/TempFilterConfig.java new file mode 100644 index 00000000..4aad3941 --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/TempFilterConfig.java @@ -0,0 +1,18 @@ +package com.xboe; + +/** + * 临时常量,用于控制与用户同步的一些实现的处理控制,是否启动控制过滤 + * + */ +public class TempFilterConfig { + + /** + * 课件管理查询,启动按机构查询过滤 + */ + public static final boolean Manager_CourseFile_ByOrgIds=true; + + /** + * 课程管理热裤机构id过滤 + */ + public static final boolean Manager_Course_ByOrgIds=true; +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java index d480810c..18502fb5 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java @@ -22,6 +22,6 @@ public interface IOutSideDataService { /** * 获取用户有权限的机构id * */ - List getOrgId(); + List getOrgIds(); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java index 1a597c52..3bc824cc 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java @@ -127,7 +127,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService { } @Override - public List getOrgId() { + public List getOrgIds() { List orgIds = new ArrayList<>(); String token = TokenProxy.getToken(request); String type="application/json"; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java index 6019bda3..6d931955 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFileApi.java @@ -15,7 +15,6 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import com.xboe.common.utils.StringUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.orm.ObjectOptimisticLockingFailureException; import org.springframework.web.bind.annotation.GetMapping; @@ -25,9 +24,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import com.xboe.TempFilterConfig; import com.xboe.common.OrderCondition; import com.xboe.common.PageList; import com.xboe.common.Pagination; +import com.xboe.common.utils.StringUtil; import com.xboe.core.JsonResponse; import com.xboe.core.JsonResponseStatus; import com.xboe.core.SysConstant; @@ -36,6 +37,7 @@ import com.xboe.core.orm.FieldFilters; import com.xboe.core.orm.IFieldFilter; import com.xboe.core.orm.LikeMatchMode; import com.xboe.core.upload.XFileUploader; +import com.xboe.data.outside.IOutSideDataService; import com.xboe.module.course.entity.CourseFile; import com.xboe.module.course.service.ICourseFileService; import com.xboe.module.course.service.impl.FileConverterProvider; @@ -64,6 +66,9 @@ public class CourseFileApi extends ApiBaseController { @Resource XFileUploader fileUploader; + @Resource + IOutSideDataService outSideDataService; + /** * 管理文件,查询的是全部 * @param pager @@ -99,7 +104,18 @@ public class CourseFileApi extends ApiBaseController { if (cfile.getResType() != null) { filters.add(FieldFilters.eq("resType", cfile.getResType())); } - + //增加权限的过滤,只要看到自己或有权限的机构的 + if(TempFilterConfig.Manager_CourseFile_ByOrgIds) { + List orgIds = outSideDataService.getOrgIds(); + String aid=getCurrent().getAccountId(); + if(!orgIds.isEmpty()){ + //filters.add(FieldFilters.in("orgId", orgIds)); + filters.add(FieldFilters.or(FieldFilters.eq("sysCreateAid", aid),FieldFilters.in("orgId", orgIds))); + }else { + filters.add(FieldFilters.eq("sysCreateAid", aid)); + } + } + //默认是查询自己的课件。 // PageList courseFilePageList = courseFileService.queryPage(pager.getPageIndex(), pager.getPageSize(), OrderCondition.desc("id"), filters); From 7cba56ae8056a2824317cd23a65c86fd04323931 Mon Sep 17 00:00:00 2001 From: daihh Date: Thu, 22 Dec 2022 17:05:21 +0800 Subject: [PATCH 53/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/school/api/PortalLoginApi.java | 67 ++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java index e5ed3b92..0930a356 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java @@ -186,7 +186,72 @@ public class PortalLoginApi extends ApiBaseController { } } - + /** + * 新的登录处理,通过接口,同步用户数据 + * @param token + * @return + */ + @RequestMapping(value = "/boenewlogin", method = {RequestMethod.GET,RequestMethod.POST}) + public JsonResponse> boeNewLogin(String token) { + try { + if (StringUtil.isBlank(token)) { + return wrap(JsonResponseStatus.TOKEN_NOPASS, "token error"); + } + Map tokenInfo = authorizationToken.readToken(token); + if (tokenInfo == null) { + return wrap(JsonResponseStatus.TOKEN_NOPASS, "token error"); + } + Account account = null; + if(StringUtil.isNotBlank(tokenInfo.get("aid"))){ + //检查系统用户是否存在 + account = accountService.get(tokenInfo.get("aid")); + }else{ + //log.error("查询用户kid【"+tokenInfo.get("userId")+"】"); + // 没有aid则判断是否已同步的用户,不是则同步 + if(StringUtil.isNotBlank(tokenInfo.get("userId"))){ + account = accountService.findLoginBySysId(tokenInfo.get("userId")); + if(account == null){ //系统中无此用户,需要同步用户 + log.error("未找到【"+tokenInfo.get("userId")+"】的用户"); + UserVo fwUser = fwUserService.getById(tokenInfo.get("userId")); + if(fwUser != null) { + try { + account = userService.syncUser(fwUser); + } catch (Exception e) { + log.error("boelogin同步用户错误:" + e.getMessage()); + return error("登录失败,未同步用户"); + } + } + }else { + if(account.getDeleted()!=null && account.getDeleted()) { + return error("登录失败,用户已删除,请与管理员联系"); + }else if(account.getStatus()!=null && account.getStatus()==Account.STATUS_DEAD) { + return error("登录失败,用户已停用,请与管理员联系"); + } + } + }else { + return error("token不合法"); + } + } + if (account == null) { + log.error("未找到用户的id:"+tokenInfo.get("userId")); + return error("未找到的用户信息"); + } + + //在这种情况下情况下,应该重置 一下缓存,以便对用户进行缓存更新 + //String cacheKey=CacheName.NAME_USER+ CacheName.KEY_USER_SYSID +account.getId(); + +// if (account.getStatus() == Constants.ACCOUNT_STATUS_DEACTIVATE) { +// return error("账号已停用"); +// } + + Map map = this.createToken(account); + //此处以后用于服务端记录,因为当前不再转化token,直接使用老系统生成的token + return success(map); + } catch (Exception e) { + log.error("boe登录 错误", e); + return error("boe登录失败", e.getMessage()); + } + } /** * boe登录 From 8975558101f49c2527d68e81c8718f7c1925ced9 Mon Sep 17 00:00:00 2001 From: daihh Date: Fri, 23 Dec 2022 13:23:00 +0800 Subject: [PATCH 54/67] =?UTF-8?q?=E5=BC=B9=E5=87=BA=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/popup/api/PopupApi.java | 20 +++++++++---------- .../module/popup/service/IPopupService.java | 2 +- .../popup/service/impl/PopupServiceImpl.java | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java index c1124f5d..37a16f44 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/api/PopupApi.java @@ -23,9 +23,9 @@ public class PopupApi extends ApiBaseController { * 前端查询,只是查询出对于当前用户来说需要弹出的 * */ @GetMapping("/user") - public JsonResponse> userList(){ + public JsonResponse> userList(Integer device){ String aid=getCurrent().getAccountId(); - List list = service.findForUser(aid); + List list = service.findForUser(aid,device); return success(list); } @@ -48,14 +48,14 @@ public class PopupApi extends ApiBaseController { - @GetMapping("/find-user") - public JsonResponse> findForUser(String aid){ - if(StringUtil.isBlank(aid)){ - aid=this.getCurrent().getAccountId(); - } - List forUser = service.findForUser(aid); - return success(forUser); - } +// @GetMapping("/find-user") +// public JsonResponse> findForUser(String aid){ +// if(StringUtil.isBlank(aid)){ +// aid=this.getCurrent().getAccountId(); +// } +// List forUser = service.findForUser(aid); +// return success(forUser); +// } /** diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java index 26d42868..1b08e791 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/IPopupService.java @@ -18,7 +18,7 @@ public interface IPopupService { * @param aid * @return */ - List findForUser(String aid); + List findForUser(String aid,Integer device); /** diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java index cf9dbe42..0a3685b9 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/popup/service/impl/PopupServiceImpl.java @@ -80,10 +80,10 @@ public class PopupServiceImpl implements IPopupService { } @Override - public List findForUser(String aid) { + public List findForUser(String aid,Integer nodevice) { //根据时间查询,查询出时间内需要弹出的内容 LocalDateTime now = LocalDateTime.now(); - List list=popupDao.findList(FieldFilters.le("p.startTime",now),FieldFilters.ge("p.endTime",now)); + List list=popupDao.findList(FieldFilters.le("startTime",now),FieldFilters.ge("endTime",now),FieldFilters.ne("device",nodevice)); List rslist=new ArrayList(); for(Popup p: list) { if(p.getOnce()!=null && p.getOnce()) { From b0db4c194f09ef699e63f6b0ea46fd7699d512e1 Mon Sep 17 00:00:00 2001 From: 86182 Date: Fri, 23 Dec 2022 16:34:17 +0800 Subject: [PATCH 55/67] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E7=9A=84=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/data/dto/UserData.java | 17 ++++++++++++++++- .../data/outside/OutSideDataServiceImpl.java | 14 ++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java b/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java index 1a324cc4..9256def8 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java @@ -44,9 +44,24 @@ public class UserData { private String orgNamePath; /** - * 用户类型,1表学员,2表教师,3表管理员 + * 用户类型,1表学员,2表教师,3表管理员 此在这只默认只表学员 */ private Integer userType; + + /** + * 表教师 是为1 + * */ + private Boolean teacher; + + /** + * 表系统管理员 是为1 + * */ + private Boolean SysAdmin; + + /** + * 表学习管理员 是为1 + * */ + private Boolean StudyAdmin; /** * 是否删除的,如果是删除的,上面所有的字段可以不提供,只提供id就可以了 diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java index 3bc824cc..c4777813 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java @@ -113,6 +113,20 @@ public class OutSideDataServiceImpl implements IOutSideDataService { user.setName(result.get("realName").asText()); user.setOrgNamePath(result.get("orgNamePath").asText()); user.setUserType(1);//直接设置为学员 + if(result.get("roleList")!=null){ + JsonNode result1 = rootNode.get("result"); + for(JsonNode jsonNode :result1) { + if(getNodeText(jsonNode.get("code")).equals("system-admin")){ + user.setSysAdmin(true); + } + if(getNodeText(jsonNode.get("code")).equals("learning-admin")){ + user.setStudyAdmin(true); + } + if(getNodeText(jsonNode.get("code")).equals("teacher")){ + user.setTeacher(true); + } + } + } if(StringUtils.isBlank(user.getCode())) { log.error("通过接口获取当前用户信息【"+user.getId()+"】"+user.getName()+",工号为空,不能使用"); throw new RuntimeException("通过接口获取当前用户信息,工号为空,不能使用"); From bde1151a3ebc6ac06427b05c0943338484747041 Mon Sep 17 00:00:00 2001 From: daihh Date: Fri, 23 Dec 2022 16:52:47 +0800 Subject: [PATCH 56/67] =?UTF-8?q?=E8=80=83=E8=AF=95=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E7=9A=84=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=9B=BE=E7=89=87=E7=9A=84=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/module/exam/api/AloneExamApi.java | 3 +++ .../src/main/java/com/xboe/module/exam/vo/TestOptionVo.java | 2 ++ .../main/java/com/xboe/module/exam/vo/TestQuestionVo.java | 5 +++++ 3 files changed, 10 insertions(+) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/AloneExamApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/AloneExamApi.java index d148624c..394d6638 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/AloneExamApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/AloneExamApi.java @@ -657,6 +657,7 @@ public class AloneExamApi extends ApiBaseController { try { // 排除掉非vo中的数据,减少传输消耗 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + List voList = objectMapper.readValue(detail.getPaperJson(), new TypeReference>() {}); List eqVoList = objectMapper.readValue(pageJson, new TypeReference>() {}); for(TestQuestionVo vo : voList) { @@ -687,6 +688,7 @@ public class AloneExamApi extends ApiBaseController { vo.setDefaultScore(eqVo.getDefaultScore()); vo.setTitle(eqVo.getTitle()); vo.setType(eqVo.getType()); + vo.setImages(eqVo.getImages()); if(vo.getOptionList()!=null && vo.getOptionList().size()>0) { for(TestOptionVo opt : vo.getOptionList()) { for(TestOptionVo eqOpt : eqVo.getOptionList()) { @@ -695,6 +697,7 @@ public class AloneExamApi extends ApiBaseController { opt.setIsAnswer(eqOpt.getIsAnswer()); opt.setOptions(eqOpt.getOptions()); opt.setScore(eqOpt.getScore()); + opt.setImages(eqOpt.getImages()); break; } } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/vo/TestOptionVo.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/vo/TestOptionVo.java index 74635659..46cf439c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/vo/TestOptionVo.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/vo/TestOptionVo.java @@ -29,4 +29,6 @@ public class TestOptionVo { private Boolean isAnswer; private Float score; + + private String images; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/vo/TestQuestionVo.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/vo/TestQuestionVo.java index 36d9ce04..c5f00b9a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/vo/TestQuestionVo.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/vo/TestQuestionVo.java @@ -35,6 +35,11 @@ public class TestQuestionVo { * 答案 */ private String answer; + + /** + * 图片信息 + */ + private String images; /** * 选项 From 855da8ad20feea03c836674bec2f2a821d077a76 Mon Sep 17 00:00:00 2001 From: daihh Date: Sat, 24 Dec 2022 13:59:37 +0800 Subject: [PATCH 57/67] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/elasticsearc/CourseElasticsearchImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java index 34ee009f..0bc05d0e 100644 --- a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java +++ b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java @@ -461,6 +461,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ sourceBuilder.sort("publishTime",SortOrder.DESC); }else if(paras.getOrderType()==2) { sourceBuilder.sort("studies",SortOrder.DESC); + sourceBuilder.sort("publishTime",SortOrder.DESC); } } //sourceBuilder.sort("isTop",SortOrder.DESC); From 51364a768178669a3910f1b08b7a3fe1d2a30e04 Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 26 Dec 2022 16:27:04 +0800 Subject: [PATCH 58/67] =?UTF-8?q?=E8=80=83=E8=AF=95=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=B8=BA=E4=B8=8A=E6=9E=B6=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exam/service/impl/ExamTestServiceImpl.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java index f51259fb..0ea3b15c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamTestServiceImpl.java @@ -37,9 +37,16 @@ public class ExamTestServiceImpl implements IExamTestService { @Override public void sava(ExamTest examTest) { - examTest.setPublished(false); + if(examTest.getPublished()==null) { + examTest.setPublished(false); + } + if(examTest.getEnabled()==null) { + examTest.setEnabled(true); + } + if(examTest.getPublished()) { + examTest.setPublishTime(LocalDateTime.now()); + } examTest.setDeleted(false); - examTest.setEnabled(false); examTestDao.save(examTest); } @@ -65,8 +72,9 @@ public class ExamTestServiceImpl implements IExamTestService { @Override public void publish(String id,boolean flag) { + //默认发布后,就是上架状态 examTestDao.updateMultiFieldById(id, - UpdateBuilder.create("enabled",false), + UpdateBuilder.create("enabled",true), UpdateBuilder.create("published", flag), UpdateBuilder.create("publishTime", LocalDateTime.now())); } From 25af289fcf61ef037863a8678ec76420234ab82a Mon Sep 17 00:00:00 2001 From: daihh Date: Mon, 26 Dec 2022 21:37:12 +0800 Subject: [PATCH 59/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- servers/modify-user/src/main/java/com/xboe/StartRunner.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/servers/modify-user/src/main/java/com/xboe/StartRunner.java b/servers/modify-user/src/main/java/com/xboe/StartRunner.java index 82623b89..c4c4b19b 100644 --- a/servers/modify-user/src/main/java/com/xboe/StartRunner.java +++ b/servers/modify-user/src/main/java/com/xboe/StartRunner.java @@ -21,8 +21,6 @@ public class StartRunner implements ApplicationRunner { @Autowired IModifyService service; - - @Override public void run(ApplicationArguments args) throws Exception { //用于存放 kid=newId From 60bfc67336ecca6ced6ae8d8e3d39a762e5abe49 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 27 Dec 2022 15:21:28 +0800 Subject: [PATCH 60/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/xboe/data/dto/UserData.java | 6 +- .../data/outside/IOutSideDataService.java | 2 +- .../data/outside/OutSideDataServiceImpl.java | 43 +++++++---- .../com/xboe/module/boecase/entity/Cases.java | 1 + .../service/impl/CasesServiceImpl.java | 4 ++ .../com/xboe/school/api/PortalConsoleApi.java | 24 +++++++ .../com/xboe/school/api/PortalLoginApi.java | 72 ++++++++----------- .../main/resources/application-pre.properties | 1 + .../main/resources/application-pro.properties | 1 + .../resources/application-test.properties | 1 + 10 files changed, 95 insertions(+), 60 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java b/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java index 9256def8..870bbdd8 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java @@ -56,12 +56,12 @@ public class UserData { /** * 表系统管理员 是为1 * */ - private Boolean SysAdmin; + private Boolean sysAdmin; /** - * 表学习管理员 是为1 + * 管理员类型,1表默认管理员,2表非默认管理员,0表不是管理员 * */ - private Boolean StudyAdmin; + private Integer adminType; /** * 是否删除的,如果是删除的,上面所有的字段可以不提供,只提供id就可以了 diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java index 18502fb5..7969da45 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/IOutSideDataService.java @@ -14,7 +14,7 @@ public interface IOutSideDataService { List getUsersByAudienceId(String audienceId); /** - * 通过统一用户id获取用户的信息 + * 通过统一用户id获取用户的信息,如果是空,就是当前登录的用户 */ UserData getUserInfoByUserId(String userId); diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java index c4777813..a7ba0b13 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java @@ -73,19 +73,28 @@ public class OutSideDataServiceImpl implements IOutSideDataService { return list; } + +// public static void main(String[] args) { +// OutSideDataServiceImpl impl=new OutSideDataServiceImpl(); +// impl.getUserInfoByUserId(null); +// } @Override public UserData getUserInfoByUserId(String userId) { String token = TokenProxy.getToken(request); + //String token="eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzIxMTI3NTUsImV4cCI6MTY3MjExOTk1NSwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.1348e0cfbb064d6d348d3976db3618974c1b1e8d2f6c6f45ae8294f09223f9b1"; String type="application/json"; String[] headers=new String[] {"token",token,"Content-Type",type}; String url= getBaseUrl("/user/info"); + //String url="https://u-pre.boe.com/userbasic/user/info"; ObjectMapper mapper=new ObjectMapper(); try { + //OkHttpUtil http=new OkHttpUtil(); String responseStr = okHttpUtil.doPostJson(url,"{}", headers); + //System.out.println(responseStr); JsonNode rootNode= mapper.readTree(responseStr); - int code = rootNode.get("code").asInt(); + int code = rootNode.get("status").asInt(); if(code!=200) { log.error("获取当前用户信息返回结果错误:"+responseStr); return null; @@ -104,26 +113,32 @@ public class OutSideDataServiceImpl implements IOutSideDataService { } user.setAvatar(""); user.setCode(getNodeText(result.get("userNo"))); - user.setDeleted(result.get("deleted").asBoolean()); + //user.setDeleted(result.get("deleted").asBoolean());//无此字段 + user.setDeleted(false); user.setDepartId(getNodeText(result.get("departId"))); user.setDepartName("");//无此字段 user.setGender(1);//少此字段 user.setKid(getNodeText(result.get("kid"))); user.setLearningDuration(result.get("learningDuration").asInt()); user.setName(result.get("realName").asText()); - user.setOrgNamePath(result.get("orgNamePath").asText()); + user.setOrgNamePath(result.get("orgName").asText()); user.setUserType(1);//直接设置为学员 - if(result.get("roleList")!=null){ - JsonNode result1 = rootNode.get("result"); - for(JsonNode jsonNode :result1) { - if(getNodeText(jsonNode.get("code")).equals("system-admin")){ - user.setSysAdmin(true); + user.setTeacher(false); + user.setAdminType(0); + JsonNode roleList = result.get("roleList"); + if(roleList!=null){ + for(JsonNode jsonNode :roleList) { + String roleCode=getNodeText(jsonNode.get("code")); + if(roleCode.equals("system-admin")){ + user.setSysAdmin(true);//系统管理员 } - if(getNodeText(jsonNode.get("code")).equals("learning-admin")){ - user.setStudyAdmin(true); + if(roleCode.equals("learning-admin")){ + user.setAdminType(1);//默认管理员 + }else if(roleCode.equals("non-default-admin")) { + user.setAdminType(1);//非默认管理员 } - if(getNodeText(jsonNode.get("code")).equals("teacher")){ - user.setTeacher(true); + if(roleCode.equals("teacher")){ + user.setTeacher(true);//是老师 } } } @@ -133,6 +148,8 @@ public class OutSideDataServiceImpl implements IOutSideDataService { } } + System.out.println("用户管理员:"+user.getAdminType()); + System.out.println("老师:"+user.getTeacher()); return user; } catch (Exception e) { log.error("获取当前用户信息错误",e); @@ -152,7 +169,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService { try{ responseStr = okHttpUtil.doPostJson(url,"{}", headers); JsonNode rootNode= mapper.readTree(responseStr); - int code = rootNode.get("code").asInt(); + int code = rootNode.get("status").asInt(); if(code!=200) { log.error("获取当前用户拥有权限机构id错误:"+responseStr); return null; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java index 6fc23fdf..2b2ed8d7 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/entity/Cases.java @@ -231,6 +231,7 @@ public class Cases extends BaseEntity { * 设置时间 * */ @Column(name = "excellent_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime excellentTime; @Transient diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java index c0bcb031..7f0ef8e1 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java @@ -63,6 +63,7 @@ public class CasesServiceImpl implements ICasesService { likes.add(FieldFilters.like("keyword4", LikeMatchMode.ANYWHERE, caseVo.getKeyWord())); likes.add(FieldFilters.like("keyword5", LikeMatchMode.ANYWHERE, caseVo.getKeyWord())); + if(StringUtil.isNotBlank(caseVo.getKeyWord())) { filters.add(FieldFilters.or(likes)); } @@ -82,6 +83,9 @@ public class CasesServiceImpl implements ICasesService { filters.add(FieldFilters.eq("excellent",caseVo.getExcellent())); } + //增加只是查询有附件的 + filters.add(FieldFilters.isNotNull("filePath")); + filters.add(FieldFilters.ne("filePath","")); // if(StringUtil.isNotBlank(caseVo.getMajorType())){ // filters.add(FieldFilters.eq("majorType",caseVo.getMajorType())); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java index 4bae85a6..4f94ce83 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java @@ -15,6 +15,8 @@ import com.xboe.core.CurrentUser; import com.xboe.core.IAuthorizationToken; import com.xboe.core.JsonResponse; import com.xboe.core.api.ApiBaseController; +import com.xboe.data.dto.UserData; +import com.xboe.data.outside.IOutSideDataService; import com.xboe.module.teacher.entity.Teacher; import com.xboe.module.teacher.service.ITeacherService; import com.xboe.system.organization.entity.Organization; @@ -47,6 +49,9 @@ public class PortalConsoleApi extends ApiBaseController{ @Autowired ITeacherService teacherService; + + @Autowired + IOutSideDataService outsideDataService; /** * 信息初始化 @@ -62,6 +67,8 @@ public class PortalConsoleApi extends ApiBaseController{ return error("账号错误,无此账号"); } + UserData userData = outsideDataService.getUserInfoByUserId(null); + User user = userService.get(getCurrent().getAccountId()); Organization org = null; String departName = ""; @@ -78,9 +85,11 @@ public class PortalConsoleApi extends ApiBaseController{ //检查是否是教师,并计算用户的类型,修改于220507 Teacher t = teacherService.get(account.getId()); int utype=1,ttype=0; + //本地判断是否是管理员 if(user.getUserType()!=null && user.getUserType()==3) { utype=3; } + //判断是否是老师 if(t!=null && (t.getDeleted()==null || !t.getDeleted())) { ttype=2; } @@ -94,8 +103,23 @@ public class PortalConsoleApi extends ApiBaseController{ } } +// int utype=1;//仅仅是学员 +// if(userData.getTeacher()) { +// utype=2; +// } +// if(userData.getAdminType()>0) { +// if(utype==2) { +// utype=5;//是管理员,又是教师 +// }else { +// utype=3; +// } +// } + + + map.put("aid",account.getId()); map.put("sysId",user.getSysId()); + map.put("adminType",userData.getAdminType());//管理员类型,1表默认管理员,2表非默认管理员,0表不是管理员 map.put("companyId",user.getCompanyId()); map.put("name",user.getName()); map.put("sex",user.getGender()); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java index 0930a356..e3c24496 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java @@ -10,6 +10,7 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.GetMapping; @@ -29,6 +30,8 @@ import com.xboe.core.IAuthorizationToken; import com.xboe.core.JsonResponse; import com.xboe.core.JsonResponseStatus; import com.xboe.core.api.ApiBaseController; +import com.xboe.data.dto.UserData; +import com.xboe.data.outside.IOutSideDataService; import com.xboe.externalinterface.system.service.IFwUserService; import com.xboe.system.logs.entity.SysLogLogin; import com.xboe.system.logs.service.ISysLogLoginService; @@ -63,6 +66,9 @@ public class PortalLoginApi extends ApiBaseController { @Autowired StringRedisTemplate redisTemplate; + + @Autowired + IOutSideDataService outsideService; @GetMapping("/captcha") public JsonResponse> captcha() { @@ -201,51 +207,31 @@ public class PortalLoginApi extends ApiBaseController { if (tokenInfo == null) { return wrap(JsonResponseStatus.TOKEN_NOPASS, "token error"); } - Account account = null; - if(StringUtil.isNotBlank(tokenInfo.get("aid"))){ - //检查系统用户是否存在 - account = accountService.get(tokenInfo.get("aid")); - }else{ - //log.error("查询用户kid【"+tokenInfo.get("userId")+"】"); - // 没有aid则判断是否已同步的用户,不是则同步 - if(StringUtil.isNotBlank(tokenInfo.get("userId"))){ - account = accountService.findLoginBySysId(tokenInfo.get("userId")); - if(account == null){ //系统中无此用户,需要同步用户 - log.error("未找到【"+tokenInfo.get("userId")+"】的用户"); - UserVo fwUser = fwUserService.getById(tokenInfo.get("userId")); - if(fwUser != null) { - try { - account = userService.syncUser(fwUser); - } catch (Exception e) { - log.error("boelogin同步用户错误:" + e.getMessage()); - return error("登录失败,未同步用户"); - } - } - }else { - if(account.getDeleted()!=null && account.getDeleted()) { - return error("登录失败,用户已删除,请与管理员联系"); - }else if(account.getStatus()!=null && account.getStatus()==Account.STATUS_DEAD) { - return error("登录失败,用户已停用,请与管理员联系"); - } - } - }else { - return error("token不合法"); - } - } - if (account == null) { - log.error("未找到用户的id:"+tokenInfo.get("userId")); - return error("未找到的用户信息"); - } - - //在这种情况下情况下,应该重置 一下缓存,以便对用户进行缓存更新 - //String cacheKey=CacheName.NAME_USER+ CacheName.KEY_USER_SYSID +account.getId(); + -// if (account.getStatus() == Constants.ACCOUNT_STATUS_DEACTIVATE) { -// return error("账号已停用"); -// } + UserData udata=outsideService.getUserInfoByUserId(null); + if(udata==null) { + log.error("未获取当前登录人的用户信息"); + return wrap(JsonResponseStatus.TOKEN_NOPASS, "用户信息查询失败"); + } + + //检查本地是否存在,如果存在就更新,不存在就添加 + + Map data = new HashMap(); + Map map = new HashMap(); + //模拟数据 + data.put("aid",udata.getId()); + data.put("uId", udata.getId());//匹配新的token中的 uId + data.put("name", udata.getName()); + data.put("userNo", udata.getCode()); + data.put("departId", udata.getDepartId()); + data.put("userId",udata.getKid()); - Map map = this.createToken(account); - //此处以后用于服务端记录,因为当前不再转化token,直接使用老系统生成的token + String newtoken = authorizationToken.createToken(data); + map.put("expires_in", IAuthorizationToken.TOKEN_TIMEOUT); + map.put("scope", "boe"); + map.put("access_token", newtoken); + // return success(map); } catch (Exception e) { log.error("boe登录 错误", e); diff --git a/servers/boe-server-all/src/main/resources/application-pre.properties b/servers/boe-server-all/src/main/resources/application-pre.properties index 03ddaa10..2e26f8e7 100644 --- a/servers/boe-server-all/src/main/resources/application-pre.properties +++ b/servers/boe-server-all/src/main/resources/application-pre.properties @@ -37,6 +37,7 @@ xboe.old.base.url=https://u.boe.com ## 用户统计接口的api地址 xboe.stat.base.url=http://127.0.0.1:9080 +xboe.server.userbasic.url=https://u.boe.com/userbasic #加密盐 #jasypt.encryptor.password=jasypt diff --git a/servers/boe-server-all/src/main/resources/application-pro.properties b/servers/boe-server-all/src/main/resources/application-pro.properties index ea6c2cee..b04b459c 100644 --- a/servers/boe-server-all/src/main/resources/application-pro.properties +++ b/servers/boe-server-all/src/main/resources/application-pro.properties @@ -74,6 +74,7 @@ xboe.old.base.url=https://u.boe.com ## 用户统计接口的api地址 xboe.stat.base.url=http://127.0.0.1:9080 +xboe.server.userbasic.url=https://u.boe.com/userbasic #加密盐 #jasypt.encryptor.password=jasypt diff --git a/servers/boe-server-all/src/main/resources/application-test.properties b/servers/boe-server-all/src/main/resources/application-test.properties index 157f1cfc..1595b036 100644 --- a/servers/boe-server-all/src/main/resources/application-test.properties +++ b/servers/boe-server-all/src/main/resources/application-test.properties @@ -49,6 +49,7 @@ xboe.old.base.url=https://u-pre.boe.com ## 用户统计接口的api地址 xboe.stat.base.url=http://127.0.0.1:9080 +xboe.server.userbasic.url=https://u-pre.boe.com/userbasic #加密盐 #jasypt.encryptor.password=jasypt From 0c094f826bd48cae562b6e19da33e0648494cbf2 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 27 Dec 2022 17:56:02 +0800 Subject: [PATCH 61/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=A1=88=E4=BE=8B?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boecase/service/impl/CasesServiceImpl.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java index 7f0ef8e1..74721027 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java @@ -79,9 +79,7 @@ public class CasesServiceImpl implements ICasesService { } - if(caseVo.getExcellent()!=null){ - filters.add(FieldFilters.eq("excellent",caseVo.getExcellent())); - } + //增加只是查询有附件的 filters.add(FieldFilters.isNotNull("filePath")); @@ -138,9 +136,12 @@ public class CasesServiceImpl implements ICasesService { query.addOrder(OrderCondition.desc("isTop")); query.addOrder(OrderCondition.desc("topTime")); } - + //如果选择的是优秀案例,那么这里就按优秀案例的试试排序 + if(caseVo.getExcellent()!=null && caseVo.getExcellent()){ + filters.add(FieldFilters.eq("excellent",caseVo.getExcellent())); + } OrderCondition order=null; - if(StringUtils.isNotBlank(caseVo.getOrderField())) { + if(StringUtils.isNotBlank(caseVo.getOrderField())) { if(caseVo.getOrderAsc()==null || caseVo.getOrderAsc()) { order=OrderCondition.asc(caseVo.getOrderField()); }else { @@ -149,6 +150,8 @@ public class CasesServiceImpl implements ICasesService { }else { order=OrderCondition.desc("sysCreateTime"); } + + query.addFilters(filters); query.addOrder(order); query.setPageIndex(pageIndex); From 9959465bd863df64374bcbadb5d46d7842e81395 Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 27 Dec 2022 19:17:25 +0800 Subject: [PATCH 62/67] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xboe/school/api/PortalLoginApi.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java index e3c24496..48ea351e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java @@ -32,6 +32,7 @@ import com.xboe.core.JsonResponseStatus; import com.xboe.core.api.ApiBaseController; import com.xboe.data.dto.UserData; import com.xboe.data.outside.IOutSideDataService; +import com.xboe.data.service.IDataUserSyncService; import com.xboe.externalinterface.system.service.IFwUserService; import com.xboe.system.logs.entity.SysLogLogin; import com.xboe.system.logs.service.ISysLogLoginService; @@ -69,6 +70,9 @@ public class PortalLoginApi extends ApiBaseController { @Autowired IOutSideDataService outsideService; + + @Autowired + IDataUserSyncService userSyncService; @GetMapping("/captcha") public JsonResponse> captcha() { @@ -214,8 +218,12 @@ public class PortalLoginApi extends ApiBaseController { log.error("未获取当前登录人的用户信息"); return wrap(JsonResponseStatus.TOKEN_NOPASS, "用户信息查询失败"); } - //检查本地是否存在,如果存在就更新,不存在就添加 + try { + userSyncService.syncUserFull(udata); + }catch(Exception exp) { + log.error("登录同步用户错误",exp); + } Map data = new HashMap(); Map map = new HashMap(); @@ -257,7 +265,7 @@ public class PortalLoginApi extends ApiBaseController { } Account account = null; if(StringUtil.isNotBlank(tokenInfo.get("aid"))){ - //检查系统用户是否存在 + //检查系统用户是否存在 account = accountService.get(tokenInfo.get("aid")); }else{ //log.error("查询用户kid【"+tokenInfo.get("userId")+"】"); From 4edf51468cab56765434797d98fae5c191d44e6c Mon Sep 17 00:00:00 2001 From: daihh Date: Tue, 27 Dec 2022 19:34:27 +0800 Subject: [PATCH 63/67] =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=9C=B0=E6=96=B9=E7=9A=84=E5=90=8C=E6=AD=A5=E5=8F=8A=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/TempFilterConfig.java | 5 +++++ .../src/main/java/com/xboe/data/dto/UserData.java | 8 +++++--- .../com/xboe/data/outside/OutSideDataServiceImpl.java | 9 +++++---- .../xboe/data/service/impl/DataUserSyncServiceImpl.java | 7 +++++-- .../main/java/com/xboe/school/api/PortalConsoleApi.java | 4 ++++ 5 files changed, 24 insertions(+), 9 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/TempFilterConfig.java b/servers/boe-server-all/src/main/java/com/xboe/TempFilterConfig.java index 4aad3941..d588614a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/TempFilterConfig.java +++ b/servers/boe-server-all/src/main/java/com/xboe/TempFilterConfig.java @@ -15,4 +15,9 @@ public class TempFilterConfig { * 课程管理热裤机构id过滤 */ public static final boolean Manager_Course_ByOrgIds=true; + + /** + * 用户登录使用api + */ + public static final boolean Login_User_ByApi=true; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java b/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java index 870bbdd8..84331e93 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserData.java @@ -19,10 +19,12 @@ public class UserData { /**用户工号*/ private String code; + private String mobile; + /**band的级别*/ private Integer bandLevel; - /**姓名*/ + /**姓名,对应realName*/ private String name; /**用户的头像*/ @@ -44,12 +46,12 @@ public class UserData { private String orgNamePath; /** - * 用户类型,1表学员,2表教师,3表管理员 此在这只默认只表学员 + * 用户类型,1表学员 此在这只默认只表学员 */ private Integer userType; /** - * 表教师 是为1 + * 表教师 是为1 * */ private Boolean teacher; diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java index a7ba0b13..9990f65b 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java @@ -111,12 +111,12 @@ public class OutSideDataServiceImpl implements IOutSideDataService { }else { user.setBandLevel(0); } - user.setAvatar(""); + user.setAvatar(getNodeText(result.get("avatar"))); user.setCode(getNodeText(result.get("userNo"))); //user.setDeleted(result.get("deleted").asBoolean());//无此字段 user.setDeleted(false); user.setDepartId(getNodeText(result.get("departId"))); - user.setDepartName("");//无此字段 + user.setDepartName(getNodeText(result.get("departName")));//无此字段 user.setGender(1);//少此字段 user.setKid(getNodeText(result.get("kid"))); user.setLearningDuration(result.get("learningDuration").asInt()); @@ -139,6 +139,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService { } if(roleCode.equals("teacher")){ user.setTeacher(true);//是老师 + user.setUserType(2);//教师 } } } @@ -148,8 +149,8 @@ public class OutSideDataServiceImpl implements IOutSideDataService { } } - System.out.println("用户管理员:"+user.getAdminType()); - System.out.println("老师:"+user.getTeacher()); + //System.out.println("用户管理员:"+user.getAdminType()); + //System.out.println("老师:"+user.getTeacher()); return user; } catch (Exception e) { log.error("获取当前用户信息错误",e); diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/service/impl/DataUserSyncServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/service/impl/DataUserSyncServiceImpl.java index 6c6b0ea9..82ba7cc4 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/service/impl/DataUserSyncServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/service/impl/DataUserSyncServiceImpl.java @@ -38,7 +38,10 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService{ @Override @Transactional public void syncUserFull(UserData user) { - + //如果删除状态为空,则设置为不删除 + if(user.getDeleted()==null) { + user.setDeleted(false); + } //先查询是否存在 Account a=accountDao.get(user.getId()); User u=userDao.get(user.getId()); @@ -48,11 +51,11 @@ public class DataUserSyncServiceImpl implements IDataUserSyncService{ if(user.getDeleted()!=null) { a.setDeleted(user.getDeleted()); } - }else { //新账户 a=new Account(); a.setDeleted(user.getDeleted()); + a.setSysId(user.getKid()); a.setLoginName(user.getCode()); a.setAvatar(user.getAvatar()); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java index 4f94ce83..ac296821 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java @@ -68,6 +68,10 @@ public class PortalConsoleApi extends ApiBaseController{ } UserData userData = outsideDataService.getUserInfoByUserId(null); + if(userData==null) { + log.error("通过api获取用用户信息错误【"+getCurrent().getAccountId()+"】对应的用户"); + return error("未能获取当前用户信息"); + } User user = userService.get(getCurrent().getAccountId()); Organization org = null; From d33e44b0577ca73e37879a9ec69c6f2144716c0d Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 28 Dec 2022 13:51:06 +0800 Subject: [PATCH 64/67] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=A4=E4=B8=AA?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=BC=80=E5=A7=8B=E6=97=B6=E9=97=B4=EF=BC=8C?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xboe/module/elasticsearc/CourseElasticsearchImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java index 0bc05d0e..77e1e3a2 100644 --- a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java +++ b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseElasticsearchImpl.java @@ -110,6 +110,8 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ builder.field("teacher").startObject().field("type", "text").field("analyzer","comma").endObject(); builder.field("teacherCode").startObject().field("type", "text").field("analyzer","comma").endObject(); builder.field("publishTime").startObject().field("type", "integer").endObject(); + builder.field("startTime").startObject().field("type", "integer").endObject(); + builder.field("endTime").startObject().field("type", "integer").endObject(); builder.field("duration").startObject().field("type", "integer").endObject(); builder.field("tags").startObject().field("type", "text").endObject(); builder.field("sysType1").startObject().field("type", "keyword").endObject(); From a0a96c94a27689d4f2e81ef97eba13b4b76a2fca Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 28 Dec 2022 14:05:29 +0800 Subject: [PATCH 65/67] =?UTF-8?q?=E7=99=BB=E5=BD=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/xboe/school/api/PortalLoginApi.java | 1 - 1 file changed, 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java index 48ea351e..628cf497 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalLoginApi.java @@ -211,7 +211,6 @@ public class PortalLoginApi extends ApiBaseController { if (tokenInfo == null) { return wrap(JsonResponseStatus.TOKEN_NOPASS, "token error"); } - UserData udata=outsideService.getUserInfoByUserId(null); if(udata==null) { From 71efc259553803d77c2792ca758890332e3e49a0 Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 28 Dec 2022 18:10:35 +0800 Subject: [PATCH 66/67] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xboe/data/outside/OutSideDataServiceImpl.java | 2 +- .../java/com/xboe/school/api/PortalConsoleApi.java | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java index 9990f65b..28d215b9 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java @@ -135,7 +135,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService { if(roleCode.equals("learning-admin")){ user.setAdminType(1);//默认管理员 }else if(roleCode.equals("non-default-admin")) { - user.setAdminType(1);//非默认管理员 + user.setAdminType(2);//非默认管理员 } if(roleCode.equals("teacher")){ user.setTeacher(true);//是老师 diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java index ac296821..ab4335bd 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/api/PortalConsoleApi.java @@ -67,11 +67,11 @@ public class PortalConsoleApi extends ApiBaseController{ return error("账号错误,无此账号"); } - UserData userData = outsideDataService.getUserInfoByUserId(null); - if(userData==null) { - log.error("通过api获取用用户信息错误【"+getCurrent().getAccountId()+"】对应的用户"); - return error("未能获取当前用户信息"); - } +// UserData userData = outsideDataService.getUserInfoByUserId(null); +// if(userData==null) { +// log.error("通过api获取用用户信息错误【"+getCurrent().getAccountId()+"】对应的用户"); +// return error("未能获取当前用户信息"); +// } User user = userService.get(getCurrent().getAccountId()); Organization org = null; @@ -123,7 +123,8 @@ public class PortalConsoleApi extends ApiBaseController{ map.put("aid",account.getId()); map.put("sysId",user.getSysId()); - map.put("adminType",userData.getAdminType());//管理员类型,1表默认管理员,2表非默认管理员,0表不是管理员 + //map.put("adminType",userData.getAdminType());//管理员类型,1表默认管理员,2表非默认管理员,0表不是管理员 + map.put("adminType",0); map.put("companyId",user.getCompanyId()); map.put("name",user.getName()); map.put("sex",user.getGender()); From 60ccbe27bad29e289c169c0bb0c7c8f468c4adcb Mon Sep 17 00:00:00 2001 From: daihh Date: Wed, 28 Dec 2022 18:54:29 +0800 Subject: [PATCH 67/67] =?UTF-8?q?=E4=BC=98=E7=A7=80=E6=A1=88=E4=BE=8B?= =?UTF-8?q?=E7=9A=84=E5=8F=96=E6=B6=88=E6=97=B6=EF=BC=8C=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=BD=AE=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/boecase/service/impl/CasesServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java index 74721027..4005e745 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/service/impl/CasesServiceImpl.java @@ -632,7 +632,13 @@ public class CasesServiceImpl implements ICasesService { @Override public void excellent(String id, Boolean excellent) { - casesDao.updateMultiFieldById(id,UpdateBuilder.create("excellent",excellent),UpdateBuilder.create("excellentTime",LocalDateTime.now())); + //取消时,把时间清空 + if(excellent) { + casesDao.updateMultiFieldById(id,UpdateBuilder.create("excellent",excellent),UpdateBuilder.create("excellentTime",LocalDateTime.now())); + }else { + casesDao.updateMultiFieldById(id,UpdateBuilder.create("excellent",excellent),UpdateBuilder.create("excellentTime",null)); + } + }