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 d1b69750..1fdb5060 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 @@ -112,5 +112,10 @@ public class CourseFullText { * 是否公开课,0表非公开课,1表公开课 */ private Integer openCourse; + + /** + * 是否公开0表非公开报名,1表公开报名-字段需新增,按管理端需求增加 + */ + private Integer openEnroll; } diff --git a/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseStudyDto.java b/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseStudyDto.java index 88b818cd..21e1a446 100644 --- a/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseStudyDto.java +++ b/modules/boe-module-course/src/main/java/com/xboe/module/course/dto/CourseStudyDto.java @@ -40,4 +40,9 @@ public class CourseStudyDto { /**学习进度0-100的值*/ private Integer progress; + + /** + * 10-报名未审核 20-报名被拒绝 30-报名审核通过-字段新,应管理端需求增加 + */ + private Integer applyStatus; } 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 9b1764e1..77585cd7 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 @@ -141,6 +141,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ //builder.field("audience").startObject().field("type", "text").field("analyzer","comma").endObject(); builder.field("audiences").startObject().field("type", "keyword").endObject(); builder.field("device").startObject().field("type", "integer").endObject(); + builder.field("openEnroll").startObject().field("type", "integer").endObject(); builder.endObject(); builder.endObject(); @@ -168,6 +169,9 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ return null; } } + if(cf.getOpenEnroll()==null) { + cf.setOpenEnroll(0); + } //检查是否已存在 IndexRequest indexRequest = new IndexRequest(indexName); ObjectMapper mapper=new ObjectMapper(); @@ -231,6 +235,10 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{ String fullId=fullTextId; + if(item.getOpenEnroll()==null) { + item.setOpenEnroll(0); + } + boolean exists=false; if(StringUtils.isNotBlank(fullTextId)) { GetRequest getRequest=new GetRequest(indexName,fullTextId); diff --git a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseStudyElasticsearchImpl.java b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseStudyElasticsearchImpl.java index c0db4554..a2273b35 100644 --- a/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseStudyElasticsearchImpl.java +++ b/modules/boe-module-es/src/main/java/com/xboe/module/elasticsearc/CourseStudyElasticsearchImpl.java @@ -81,6 +81,7 @@ public class CourseStudyElasticsearchImpl implements ICourseStudySearch{ builder.field("startTime").startObject().field("type", "integer").endObject(); builder.field("status").startObject().field("type", "integer").endObject(); builder.field("progress").startObject().field("type", "integer").endObject(); + builder.field("applyStatus").startObject().field("type", "integer").endObject(); builder.endObject(); builder.endObject(); 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 dcb9e317..e1915cbd 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 @@ -44,7 +44,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService { String token = TokenProxy.getToken(request); String type="application/json"; String[] headers=new String[] {"token",token,"Content-Type",type}; - String url= getBaseUrl("/audience/memberList"); + String url= getBaseUrl("/audience/members"); Map params = new HashMap<>(); params.put("audienceId", audienceId); String json = null; @@ -56,14 +56,13 @@ public class OutSideDataServiceImpl implements IOutSideDataService { String responseStr = okHttpUtil.doPostJson(url, json, headers); JsonNode rootNode= mapper.readTree(responseStr); - JsonNode result = rootNode.get("result")!=null ? ( rootNode.get("result").get("data") !=null ? rootNode.get("result").get("data"):null):null; + JsonNode result = rootNode.get("result"); if(result!=null && result.isArray()) { - //这里应该是单独的线程去处理 - for(JsonNode JsonNode :result) { + for(JsonNode node :result) { AudienceUser au=new AudienceUser(); - au.setId(JsonNode.get("id").asText()); - au.setName(getNodeText(JsonNode.get("userName"))); - au.setCode(getNodeText(JsonNode.get("userNo"))); + au.setId(node.get("userId").asText()); + au.setName(getNodeText(node.get("name"))); + au.setCode(getNodeText(node.get("userNo"))); list.add(au); } } @@ -119,7 +118,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService { user.setDeleted(false); user.setDepartId(getNodeText(result.get("departId"))); user.setDepartName(getNodeText(result.get("departName")));//无此字段 - user.setGender(1);//少此字段 + user.setGender(result.get("gender").asInt());// user.setKid(getNodeText(result.get("kid"))); user.setLearningDuration(result.get("learningDuration").asInt()); user.setName(result.get("realName").asText()); @@ -224,10 +223,10 @@ public class OutSideDataServiceImpl implements IOutSideDataService { //// }catch (Exception e){ //// log.error("获取当前用户有权限的机构id错误",e); //// } -// String token="eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzUzMTY3OTMsImV4cCI6MTY3NTMyMzk5MywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjdFMDY1NzQxLTkzRUItRTc1Ni02Mzk5LUIwQTA1QUY2NEE3OSIsInVJZCI6Ijk2NTM2OTU4MjM5Mjk3MTI2NCIsInBlcm1pc3Npb24iOiIifQ==.75814a454f8a022cbe24f29eb956b5350f1212fc105b951df8bc2a82975a05a4"; -// String url= "https://u.boe.com/userbasic/audience/memberList"; +// String token="eyJhbGciOiJIUzI1NiIsInR5cGUiOiJ0b2tlbiJ9.eyJpc3MiOiJodHRwOi8vdS5ib2UuY29tIiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVJZCI6OTY1MzQyMDI3NDk3NjA3MTY4LCJ1c2VySWQiOiI2QjA0OUZBRi1DMzE0LTdDQ0YtMEQyOC0wRDIzRjRDNDI1MzEiLCJleHAiOjE2NzUzMzUxNTU3MTZ9.d9f78b2c6bac6001f732015f509eff04f50c6a426e7c01f259f884c8da6ac92c"; +// String url= "https://u-pre.boe.com/userbasic/audience/members"; // Map params = new HashMap<>(); -// params.put("audienceId", "70061506155860912129"); +// params.put("audienceId", "7008604893867151361"); // String json = null; // List list=new ArrayList(); // ObjectMapper mapper=new ObjectMapper(); @@ -240,14 +239,14 @@ public class OutSideDataServiceImpl implements IOutSideDataService { // System.out.println(responseStr); // JsonNode rootNode= mapper.readTree(responseStr); // -// JsonNode result = rootNode.get("result")!=null ? ( rootNode.get("result").get("data") !=null ? rootNode.get("result").get("data"):null):null; +// JsonNode result = rootNode.get("result"); // if(result!=null && result.isArray()) { // //这里应该是单独的线程去处理 -// for(JsonNode JsonNode :result) { +// for(JsonNode node :result) { // AudienceUser au=new AudienceUser(); -// au.setId(JsonNode.get("id").asText()); -// au.setName(JsonNode.get("userName").asText()); -// au.setCode(JsonNode.get("userNo").asText()); +// au.setId(node.get("userId").asText()); +// au.setName(node.get("name").asText()); +// au.setCode(node.get("userNo").asText()); // list.add(au); // System.out.println(au.getName()); // } 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 e447ee5c..9f134e64 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 @@ -2,8 +2,6 @@ package com.xboe.module.boecase.dto; import lombok.Data; -import java.util.List; - @Data public class CaseVo { @@ -27,6 +25,7 @@ public class CaseVo { private Boolean excellent; + private String authorName; } 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 1a21da5f..b56c4e1c 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 @@ -208,6 +208,9 @@ public class CasesServiceImpl implements ICasesService { if(StringUtils.isNotBlank(caseVo.getKeyWord())){ query.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE, caseVo.getKeyWord())); } + if(StringUtils.isNotBlank(caseVo.getAuthorName())){ + query.addFilter(FieldFilters.like("authorName", LikeMatchMode.ANYWHERE, caseVo.getAuthorName())); + } if(caseVo.getIsTop()!=null) { query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop())); } 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 1add0cfe..83ddc90f 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 @@ -54,6 +54,7 @@ public class ExamPaperApi extends ApiBaseController { PageList pageList = examPaperService.queryList(pager.getPageIndex(),pager.getPageSize(),examPaperDto); return success(pageList); } + /** * 添加 * */ diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTaskApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTaskApi.java index ed0f8011..4ddb036f 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTaskApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/api/ExamTaskApi.java @@ -67,13 +67,16 @@ public class ExamTaskApi extends ApiBaseController { ExamUserTask hasTask=service.findByTestIdAndGroupId(task.getTestId(),task.getGroupId()); try { + int num=0; if(hasTask!=null) { //return badRequest("此受众已推送过了,不能重复推送"); - service.rePushTask(task); + num=service.rePushTask(task); }else { - service.addTask(task); + num=service.addTask(task); + } + if(num==0) { + return error("推送失败,未找到受众人员","请检查日志"); } - return success(true); } catch (Exception e) { log.error("推送考试错误",e); 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 b915fa93..fb665bc2 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 @@ -152,7 +152,7 @@ public class ExamTest extends BaseEntity { private String testUp; /** - * 范围 + * 范围,1表独立使用,2表课程内部 * */ @Column(name = "range_type",nullable = false) private Integer rangeType; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/IExamUserTaskService.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/IExamUserTaskService.java index 08789553..456bb930 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/IExamUserTaskService.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/IExamUserTaskService.java @@ -11,13 +11,13 @@ public interface IExamUserTaskService { * 推送 * @param task */ - void addTask(ExamTestDto task); + int addTask(ExamTestDto task); /** * 再次推送同一个任务 * @param task */ - void rePushTask(ExamTestDto task); + int rePushTask(ExamTestDto task); /** * 通过试卷id检查是否已有发布了 diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamUserTaskServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamUserTaskServiceImpl.java index 0ed9e8c8..a59980b6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamUserTaskServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/exam/service/impl/ExamUserTaskServiceImpl.java @@ -48,7 +48,7 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{ @Override @Transactional - public void addTask(ExamTestDto task) { + public int addTask(ExamTestDto task) { //添加推送记录 ExamUserTask examUserTask = new ExamUserTask(); examUserTask.setTestId(task.getTestId()); @@ -61,82 +61,87 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{ // 下面的代码应该调用rePushTask //执行推送,当前因为是固定人,所以这里直接添加处理,按受众添加到每个人中 //查询受众的信息 - List items = ugroupDao.findList("groupId", task.getGroupId()); - if(items.size()>0) { - //防止加入两条的问题,应该是先查询,再添加 - Map amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId())); - //这里应该是单独的线程去处理 - for(UserGroupItem item :items) { - if(amap.containsKey(item.getAid())) { - continue; - } - //检查是否存在 - AloneExam aloneExam = new AloneExam(); - aloneExam.setAid(item.getAid()); - aloneExam.setTestId(task.getTestId()); - aloneExam.setTestName(task.getTestName()); - aloneExam.setName(item.getName()); - aloneExam.setUcode(item.getUserNo()); - aloneExam.setTestDuration(task.getDuration()); - aloneExam.setTaskTime(LocalDateTime.now()); - aloneExam.setStartTime(task.getStartTime()); - aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过 - aloneExam.setScore(0f); - aloneExamDao.save(aloneExam); - } - } - //examUserTask.setStatus(ExamUserTask.STATUS_FINISH); - //dao.update(examUserTask); - - } - - @Override - @Transactional - public void rePushTask(ExamTestDto task) { - //执行推送,当前因为是固定人,所以这里直接添加处理,按受众添加到每个人中 - //查询受众的信息,2022、11、30 这个的返回需要从接口获取人员信息,然后推送 - List items = ugroupDao.findList("groupId", task.getGroupId()); - if(items.size()>0) { - //防止加入两条的问题,应该是先查询,再添加 - Map amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId())); - //这里应该是单独的线程去处理 - for(UserGroupItem item :items) { - if(amap.containsKey(item.getAid())) { - continue; - } - //检查是否存在 - AloneExam aloneExam = new AloneExam(); - aloneExam.setAid(item.getAid()); - aloneExam.setTestId(task.getTestId()); - aloneExam.setTestName(task.getTestName()); - aloneExam.setName(item.getName()); - aloneExam.setUcode(item.getUserNo()); - aloneExam.setTestDuration(task.getDuration()); - aloneExam.setTaskTime(LocalDateTime.now()); - aloneExam.setStartTime(task.getStartTime()); - aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过 - aloneExam.setScore(0f); - aloneExamDao.save(aloneExam); - } - } - - //调用用户服务的接口,在启用下面的代码前,需要 -// List sudienceUsers=outSideService.getUsersByAudienceId(task.getGroupId()); -// if(sudienceUsers.size()>0) { +// List items = ugroupDao.findList("groupId", task.getGroupId()); +// int num=0; +// if(items.size()>0) { // //防止加入两条的问题,应该是先查询,再添加 // Map amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId())); // //这里应该是单独的线程去处理 -// for(AudienceUser item :sudienceUsers) { -// if(amap.containsKey(item.getId())) { +// for(UserGroupItem item :items) { +// if(amap.containsKey(item.getAid())) { // continue; // } // //检查是否存在 // AloneExam aloneExam = new AloneExam(); -// aloneExam.setAid(item.getId()); +// aloneExam.setAid(item.getAid()); +// aloneExam.setTestId(task.getTestId()); +// aloneExam.setTestName(task.getTestName()); +// aloneExam.setName(item.getName()); +// aloneExam.setUcode(item.getUserNo()); +// aloneExam.setTestDuration(task.getDuration()); +// aloneExam.setTaskTime(LocalDateTime.now()); +// aloneExam.setStartTime(task.getStartTime()); +// aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过 +// aloneExam.setScore(0f); +// aloneExamDao.save(aloneExam); +// num++; +// } +// } + + //调用用户服务的接口,在启用下面的代码前,需要 + List sudienceUsers=outSideService.getUsersByAudienceId(task.getGroupId()); + int num=0; + if(sudienceUsers.size()>0) { + //防止加入两条的问题,应该是先查询,再添加 + Map amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId())); + //这里应该是单独的线程去处理 + for(AudienceUser item :sudienceUsers) { + if(amap.containsKey(item.getId())) { + continue; + } + //检查是否存在 + AloneExam aloneExam = new AloneExam(); + aloneExam.setAid(item.getId()); + aloneExam.setTestId(task.getTestId()); + aloneExam.setTestName(task.getTestName()); + aloneExam.setName(item.getName()); + aloneExam.setUcode(item.getCode()); + aloneExam.setTestDuration(task.getDuration()); + aloneExam.setTaskTime(LocalDateTime.now()); + aloneExam.setStartTime(task.getStartTime()); + aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过 + aloneExam.setScore(0f); + aloneExamDao.save(aloneExam); + num++; + } + } + + //examUserTask.setStatus(ExamUserTask.STATUS_FINISH); + //dao.update(examUserTask); + return num; + } + + @Override + @Transactional + public int rePushTask(ExamTestDto task) { + //执行推送,当前因为是固定人,所以这里直接添加处理,按受众添加到每个人中 + //查询受众的信息,2022、11、30 这个的返回需要从接口获取人员信息,然后推送 +// List items = ugroupDao.findList("groupId", task.getGroupId()); +// if(items.size()>0) { +// //防止加入两条的问题,应该是先查询,再添加 +// Map amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId())); +// //这里应该是单独的线程去处理 +// for(UserGroupItem item :items) { +// if(amap.containsKey(item.getAid())) { +// continue; +// } +// //检查是否存在 +// AloneExam aloneExam = new AloneExam(); +// aloneExam.setAid(item.getAid()); // aloneExam.setTestId(task.getTestId()); // aloneExam.setTestName(task.getTestName()); // aloneExam.setName(item.getName()); -// aloneExam.setUcode(item.getCode()); +// aloneExam.setUcode(item.getUserNo()); // aloneExam.setTestDuration(task.getDuration()); // aloneExam.setTaskTime(LocalDateTime.now()); // aloneExam.setStartTime(task.getStartTime()); @@ -146,8 +151,37 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{ // } // } - //examUserTask.setStatus(ExamUserTask.STATUS_FINISH); - //dao.update(examUserTask); + //调用用户服务的接口,在启用下面的代码前,需要 + List sudienceUsers=outSideService.getUsersByAudienceId(task.getGroupId()); + int num=0; + if(sudienceUsers.size()>0) { + //防止加入两条的问题,应该是先查询,再添加 + Map amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId())); + //这里应该是单独的线程去处理 + for(AudienceUser item :sudienceUsers) { + if(amap.containsKey(item.getId())) { + continue; + } + //检查是否存在 + AloneExam aloneExam = new AloneExam(); + aloneExam.setAid(item.getId()); + aloneExam.setTestId(task.getTestId()); + aloneExam.setTestName(task.getTestName()); + aloneExam.setName(item.getName()); + aloneExam.setUcode(item.getCode()); + aloneExam.setTestDuration(task.getDuration()); + aloneExam.setTaskTime(LocalDateTime.now()); + aloneExam.setStartTime(task.getStartTime()); + aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过 + aloneExam.setScore(0f); + aloneExamDao.save(aloneExam); + num++; + } + } + +// examUserTask.setStatus(ExamUserTask.STATUS_FINISH); +// dao.update(examUserTask); + return num; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/usergroup/api/UserGroupApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/usergroup/api/UserGroupApi.java index 258a48a7..33f7bf97 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/usergroup/api/UserGroupApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/usergroup/api/UserGroupApi.java @@ -298,7 +298,7 @@ public class UserGroupApi extends ApiBaseController { UserImportDto dto=userImportDtos.get(un); // System.out.println(dto.getIsSuccess()+"错误情况"); if(dto!=null && !dto.getIsSuccess() && StringUtils.isBlank(dto.getException())) { - dto.setException("工号找不到"); + dto.setException("工号找不到或用户已经删除"); } } } diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/impl/BoeTokenImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/impl/BoeTokenImpl.java index bf62ec16..1471896a 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/impl/BoeTokenImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/impl/BoeTokenImpl.java @@ -34,6 +34,7 @@ public class BoeTokenImpl implements IAuthorizationToken{ Map payloadMap=new HashMap(); // payloadMap.put("iss", "http://u.boe.com"); payloadMap.put("iss","http://u.boe.com"); + //long iat=System.currentTimeMillis()/1000; long iat=System.currentTimeMillis()/1000; payloadMap.put("iat", iat); long exp=iat+(12*60*60);//过期时间,12个小时过期 @@ -97,30 +98,30 @@ public class BoeTokenImpl implements IAuthorizationToken{ // public static void main(String[] args) { // -// Map data=new HashMap(); -// data.put("userId","DFF192E1-FB7B-11EC-9DDF-005056BD9028");//原系统id -// data.put("name", "测试账号0001"); -// -// try { -// -// BoeTokenImpl impl=new BoeTokenImpl(); -// String token=impl.createToken(data); -// System.out.println(token); -// }catch(Exception e) { -// e.printStackTrace(); -// } +//// Map data=new HashMap(); +//// data.put("userId","DFF192E1-FB7B-11EC-9DDF-005056BD9028");//原系统id +//// data.put("name", "测试账号0001"); +//// +//// try { +//// +//// BoeTokenImpl impl=new BoeTokenImpl(); +//// String token=impl.createToken(data); +//// System.out.println(token); +//// }catch(Exception e) { +//// e.printStackTrace(); +//// } // // try { // // BoeTokenImpl impl=new BoeTokenImpl(); -// String token=impl.createToken(data); -// System.out.println(token); +//// String token=impl.createToken(data); +//// System.out.println(token); //// //// Map tokenData = impl.readToken(token); // // -// //String token="eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NDYyMDU0NjcsImV4cCI6MTY0NjIxMjY2NywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjAxNTU1M0RELTQ0NUUtNjlENC0zNTFGLUREOUExQTU2NDIwRSIsInBlcm1pc3Npb24iOiIifQ==.90e9509faf109b1c92e26f9475121d1bfd7c3e32b962d8ee1526849fee14501a"; -// String token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NTAxOTY1NTksImV4cCI6MTY1MDIwMzc1OSwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInBlcm1pc3Npb24iOiIifQ==.6b6c5a073e4a62d81d91105fd65c1eb936dd597c30b2dd0d4924e6df885aaff2"; +// String token="eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJ1SWQiOiI5NTI5NDg2MjY0OTc3MjQ0MTEiLCJ1c2VyTm8iOiIxMjM0NTYwMSIsImlzcyI6Imh0dHA6Ly91LmJvZS5jb20iLCJuYW1lIjoi5Luj5rW35YW0IiwiR2l2ZW5OYW1lIjoiYm9ldSIsImRlcGFydElkIjoiOTg0MTQ3NTY2NTIxNjY3NTg0IiwicGVybWlzc2lvbiI6IiIsImV4cCI6MTY3NTc4MTQwMSwiaWF0IjoxNjc1NzM4MjAxLCJhaWQiOiI5NTI5NDg2MjY0OTc3MjQ0MTEiLCJ1c2VySWQiOiIwMTU1NTNERC00NDVFLTY5RDQtMzUxRi1ERDlBMUE1NjQyMEUifQ==.d1d8d3e53ece04a8a863d5f0a3c227cea559cc4cfcbc9010a1125f7a11d6e9a0"; +// //String token = "eyJhbGciOiJIUzI1NiIsInR5cGUiOiJ0b2tlbiJ9.eyJpc3MiOiJodHRwOi8vdS5ib2UuY29tIiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVJZCI6OTY1MzQyMDI3NDk3NjA3MTY4LCJ1c2VySWQiOiI2QjA0OUZBRi1DMzE0LTdDQ0YtMEQyOC0wRDIzRjRDNDI1MzEiLCJleHAiOjE2NzU3NTU4ODYzMzV9.c65d86ccc5feb1c820490d94196f5509b6bb97dce748bc590160c6d8489bde6a"; // String[] tokens = token.split("\\."); // System.out.println(tokens.length); // String header = new String(Base64.decodeBase64(tokens[0])); @@ -133,6 +134,7 @@ public class BoeTokenImpl implements IAuthorizationToken{ // //读取userId和exp过期时间 // ObjectMapper om=new ObjectMapper(); // JsonNode json = om.readTree(payload); +// System.out.println(json); // String userId=json.get("userId").asText(); // long exp=json.get("exp").asLong(); // System.out.println("userId="+userId+",exp="+exp); diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/dto/CourseStudyItem.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/dto/CourseStudyItem.java index a279a336..faba070d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/dto/CourseStudyItem.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/dto/CourseStudyItem.java @@ -31,4 +31,7 @@ public class CourseStudyItem { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime startTime; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime finishTime; } 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 5eb03023..8b95aa5b 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 @@ -704,7 +704,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{ QueryBuilder query=QueryBuilder.from(StudyCourse.class.getSimpleName()+" sc,"+ Course.class.getSimpleName()+" c"); query.addFields("sc.id","sc.aid","sc.aname","sc.progress","sc.status","sc.addTime"); - query.addFields("c.id","c.name","c.sysType1","c.sysType2","c.sysType3"); + query.addFields("c.id","c.name","c.sysType1","c.sysType2","c.sysType3","sc.finishTime"); query.addFilter(FieldFilters.eqField("sc.courseId","c.id")); query.addFilter(FieldFilters.eq("c.enabled",true)); query.addFilter(FieldFilters.eq("c.deleted",false)); @@ -719,12 +719,14 @@ public class StudyCourseServiceImpl implements IStudyCourseService{ item.setStudentName((String)objs[2]); item.setProgress((Float)objs[3]); item.setStatus((Integer)objs[4]); - //item.setStartTime((LocalDateTime)objs[5]); + + item.setStartTime((LocalDateTime)objs[5]); item.setCourseId((String)objs[6]); item.setCourseName((String)objs[7]); item.setSysType1((String)objs[8]); item.setSysType2((String)objs[9]); item.setSysType3((String)objs[10]); + item.setFinishTime((LocalDateTime)objs[11]); rslist.add(item); } diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/user/api/MessageApi.java b/servers/boe-server-all/src/main/java/com/xboe/system/user/api/MessageApi.java index fd0116d2..f52ee15e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/user/api/MessageApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/user/api/MessageApi.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController; import com.xboe.common.PageList; import com.xboe.common.Pagination; +import com.xboe.common.utils.IDGenerator; import com.xboe.common.utils.StringUtil; import com.xboe.core.JsonResponse; import com.xboe.core.api.ApiBaseController; @@ -134,10 +135,24 @@ public class MessageApi extends ApiBaseController { return badRequest("内容不能为空"); } try { - //message.setIsRead(false); -// message.setMsgType(1); -// message.setMsgTime(LocalDateTime.now()); - //MessageSender.send(message); + Message msg=new Message(); + msg.setId(IDGenerator.generate()); +// msg.setAcceptId(aid); +// msg.setAcceptName(aname); + msg.setContent(message.getContent()); + msg.setConType("0"); + msg.setIsRead(false); + msg.setMsgType(1); + msg.setPageParams(message.getPageParams()); + msg.setPageType(message.getPageType()); + msg.setRefId(message.getRefId()); + msg.setRefType(message.getRefType()); + msg.setSendAid(message.getSendAid()); + msg.setSendName(message.getSendName()); + msg.setSendType(1); + msg.setSource(message.getSource()); + msg.setTitle(message.getTitle()); + MessageSender.batchSend(message.getAcceptIds(),message.getAcceptNames(),msg); return success(true); } catch (Exception e) { log.error("发布消息失败",e); diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/user/entity/Message.java b/servers/boe-server-all/src/main/java/com/xboe/system/user/entity/Message.java index 21655cf3..93dc6c68 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/user/entity/Message.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/user/entity/Message.java @@ -51,8 +51,8 @@ public class Message extends IdEntity { private Integer pageType; /** - *页面参数 默认是id - * */ + * 页面参数 默认是id + **/ @Column(name = "page_params",length = 50) private String pageParams; diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/user/service/MessageSender.java b/servers/boe-server-all/src/main/java/com/xboe/system/user/service/MessageSender.java index 35f24431..5378e54e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/user/service/MessageSender.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/user/service/MessageSender.java @@ -55,7 +55,6 @@ public class MessageSender { msg.setSendType(1); msg.setSource(data.getSource()); msg.setTitle(data.getTitle()); - msg.setContent(data.getContent()); msgList.add(msg); } messageService.batchSave(msgList); diff --git a/servers/boe-server-all/src/main/java/com/xboe/system/user/service/impl/UserServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/system/user/service/impl/UserServiceImpl.java index 94a48b11..74dab1f6 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/system/user/service/impl/UserServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/system/user/service/impl/UserServiceImpl.java @@ -87,7 +87,10 @@ public class UserServiceImpl implements IUserService { @Override public List getListByUserNos(List userNos) { - return dao.getListByUserNos(userNos); + // return dao.getListByUserNos(userNos); + //return dao.findList(FieldFilters.in("userNo", userNos)); + String hql="Select u from "+User.class.getSimpleName()+" u,"+Account.class.getSimpleName()+" a where u.id=a.id and a.deleted=?1"; + return dao.findListByHql(hql, false); } @Override diff --git a/servers/boe-server-course/src/main/java/com/xboe/course/CourseJsonRunner.java b/servers/boe-server-course/src/main/java/com/xboe/course/CourseJsonRunner.java index 3ef356cc..0ddade1d 100644 --- a/servers/boe-server-course/src/main/java/com/xboe/course/CourseJsonRunner.java +++ b/servers/boe-server-course/src/main/java/com/xboe/course/CourseJsonRunner.java @@ -106,7 +106,6 @@ public class CourseJsonRunner { list=courseOlds; } } - } log.info("共读取【"+list.size()+"】门课程"); if (list != null && !list.isEmpty()) {