Merge branch 'master' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/baseservers

This commit is contained in:
dongruihua
2023-02-20 17:58:36 +08:00
21 changed files with 202 additions and 121 deletions

View File

@@ -112,5 +112,10 @@ public class CourseFullText {
* 是否公开课0表非公开课1表公开课 * 是否公开课0表非公开课1表公开课
*/ */
private Integer openCourse; private Integer openCourse;
/**
* 是否公开0表非公开报名1表公开报名-字段需新增,按管理端需求增加
*/
private Integer openEnroll;
} }

View File

@@ -40,4 +40,9 @@ public class CourseStudyDto {
/**学习进度0-100的值*/ /**学习进度0-100的值*/
private Integer progress; private Integer progress;
/**
* 10-报名未审核 20-报名被拒绝 30-报名审核通过-字段新,应管理端需求增加
*/
private Integer applyStatus;
} }

View File

@@ -141,6 +141,7 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
//builder.field("audience").startObject().field("type", "text").field("analyzer","comma").endObject(); //builder.field("audience").startObject().field("type", "text").field("analyzer","comma").endObject();
builder.field("audiences").startObject().field("type", "keyword").endObject(); builder.field("audiences").startObject().field("type", "keyword").endObject();
builder.field("device").startObject().field("type", "integer").endObject(); builder.field("device").startObject().field("type", "integer").endObject();
builder.field("openEnroll").startObject().field("type", "integer").endObject();
builder.endObject(); builder.endObject();
builder.endObject(); builder.endObject();
@@ -168,6 +169,9 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
return null; return null;
} }
} }
if(cf.getOpenEnroll()==null) {
cf.setOpenEnroll(0);
}
//检查是否已存在 //检查是否已存在
IndexRequest indexRequest = new IndexRequest(indexName); IndexRequest indexRequest = new IndexRequest(indexName);
ObjectMapper mapper=new ObjectMapper(); ObjectMapper mapper=new ObjectMapper();
@@ -231,6 +235,10 @@ public class CourseElasticsearchImpl implements ICourseFullTextSearch{
String fullId=fullTextId; String fullId=fullTextId;
if(item.getOpenEnroll()==null) {
item.setOpenEnroll(0);
}
boolean exists=false; boolean exists=false;
if(StringUtils.isNotBlank(fullTextId)) { if(StringUtils.isNotBlank(fullTextId)) {
GetRequest getRequest=new GetRequest(indexName,fullTextId); GetRequest getRequest=new GetRequest(indexName,fullTextId);

View File

@@ -81,6 +81,7 @@ public class CourseStudyElasticsearchImpl implements ICourseStudySearch{
builder.field("startTime").startObject().field("type", "integer").endObject(); builder.field("startTime").startObject().field("type", "integer").endObject();
builder.field("status").startObject().field("type", "integer").endObject(); builder.field("status").startObject().field("type", "integer").endObject();
builder.field("progress").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();
builder.endObject(); builder.endObject();

View File

@@ -44,7 +44,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
String token = TokenProxy.getToken(request); String token = TokenProxy.getToken(request);
String type="application/json"; String type="application/json";
String[] headers=new String[] {"token",token,"Content-Type",type}; String[] headers=new String[] {"token",token,"Content-Type",type};
String url= getBaseUrl("/audience/memberList"); String url= getBaseUrl("/audience/members");
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("audienceId", audienceId); params.put("audienceId", audienceId);
String json = null; String json = null;
@@ -56,14 +56,13 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
String responseStr = okHttpUtil.doPostJson(url, json, headers); String responseStr = okHttpUtil.doPostJson(url, json, headers);
JsonNode rootNode= mapper.readTree(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()) { if(result!=null && result.isArray()) {
//这里应该是单独的线程去处理 for(JsonNode node :result) {
for(JsonNode JsonNode :result) {
AudienceUser au=new AudienceUser(); AudienceUser au=new AudienceUser();
au.setId(JsonNode.get("id").asText()); au.setId(node.get("userId").asText());
au.setName(getNodeText(JsonNode.get("userName"))); au.setName(getNodeText(node.get("name")));
au.setCode(getNodeText(JsonNode.get("userNo"))); au.setCode(getNodeText(node.get("userNo")));
list.add(au); list.add(au);
} }
} }
@@ -119,7 +118,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
user.setDeleted(false); user.setDeleted(false);
user.setDepartId(getNodeText(result.get("departId"))); user.setDepartId(getNodeText(result.get("departId")));
user.setDepartName(getNodeText(result.get("departName")));//无此字段 user.setDepartName(getNodeText(result.get("departName")));//无此字段
user.setGender(1);//少此字段 user.setGender(result.get("gender").asInt());//
user.setKid(getNodeText(result.get("kid"))); user.setKid(getNodeText(result.get("kid")));
user.setLearningDuration(result.get("learningDuration").asInt()); user.setLearningDuration(result.get("learningDuration").asInt());
user.setName(result.get("realName").asText()); user.setName(result.get("realName").asText());
@@ -224,10 +223,10 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
//// }catch (Exception e){ //// }catch (Exception e){
//// log.error("获取当前用户有权限的机构id错误",e); //// log.error("获取当前用户有权限的机构id错误",e);
//// } //// }
// String token="eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NzUzMTY3OTMsImV4cCI6MTY3NTMyMzk5MywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjdFMDY1NzQxLTkzRUItRTc1Ni02Mzk5LUIwQTA1QUY2NEE3OSIsInVJZCI6Ijk2NTM2OTU4MjM5Mjk3MTI2NCIsInBlcm1pc3Npb24iOiIifQ==.75814a454f8a022cbe24f29eb956b5350f1212fc105b951df8bc2a82975a05a4"; // String token="eyJhbGciOiJIUzI1NiIsInR5cGUiOiJ0b2tlbiJ9.eyJpc3MiOiJodHRwOi8vdS5ib2UuY29tIiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVJZCI6OTY1MzQyMDI3NDk3NjA3MTY4LCJ1c2VySWQiOiI2QjA0OUZBRi1DMzE0LTdDQ0YtMEQyOC0wRDIzRjRDNDI1MzEiLCJleHAiOjE2NzUzMzUxNTU3MTZ9.d9f78b2c6bac6001f732015f509eff04f50c6a426e7c01f259f884c8da6ac92c";
// String url= "https://u.boe.com/userbasic/audience/memberList"; // String url= "https://u-pre.boe.com/userbasic/audience/members";
// Map<String, String> params = new HashMap<>(); // Map<String, String> params = new HashMap<>();
// params.put("audienceId", "70061506155860912129"); // params.put("audienceId", "7008604893867151361");
// String json = null; // String json = null;
// List<AudienceUser> list=new ArrayList<AudienceUser>(); // List<AudienceUser> list=new ArrayList<AudienceUser>();
// ObjectMapper mapper=new ObjectMapper(); // ObjectMapper mapper=new ObjectMapper();
@@ -240,14 +239,14 @@ public class OutSideDataServiceImpl implements IOutSideDataService {
// System.out.println(responseStr); // System.out.println(responseStr);
// JsonNode rootNode= mapper.readTree(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()) { // if(result!=null && result.isArray()) {
// //这里应该是单独的线程去处理 // //这里应该是单独的线程去处理
// for(JsonNode JsonNode :result) { // for(JsonNode node :result) {
// AudienceUser au=new AudienceUser(); // AudienceUser au=new AudienceUser();
// au.setId(JsonNode.get("id").asText()); // au.setId(node.get("userId").asText());
// au.setName(JsonNode.get("userName").asText()); // au.setName(node.get("name").asText());
// au.setCode(JsonNode.get("userNo").asText()); // au.setCode(node.get("userNo").asText());
// list.add(au); // list.add(au);
// System.out.println(au.getName()); // System.out.println(au.getName());
// } // }

View File

@@ -2,8 +2,6 @@ package com.xboe.module.boecase.dto;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class CaseVo { public class CaseVo {
@@ -27,6 +25,7 @@ public class CaseVo {
private Boolean excellent; private Boolean excellent;
private String authorName;
} }

View File

@@ -208,6 +208,9 @@ public class CasesServiceImpl implements ICasesService {
if(StringUtils.isNotBlank(caseVo.getKeyWord())){ if(StringUtils.isNotBlank(caseVo.getKeyWord())){
query.addFilter(FieldFilters.like("title", LikeMatchMode.ANYWHERE, 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) { if(caseVo.getIsTop()!=null) {
query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop())); query.addFilter(FieldFilters.eq("isTop",caseVo.getIsTop()));
} }

View File

@@ -54,6 +54,7 @@ public class ExamPaperApi extends ApiBaseController {
PageList<ExamPaper> pageList = examPaperService.queryList(pager.getPageIndex(),pager.getPageSize(),examPaperDto); PageList<ExamPaper> pageList = examPaperService.queryList(pager.getPageIndex(),pager.getPageSize(),examPaperDto);
return success(pageList); return success(pageList);
} }
/** /**
* 添加 * 添加
* */ * */

View File

@@ -67,13 +67,16 @@ public class ExamTaskApi extends ApiBaseController {
ExamUserTask hasTask=service.findByTestIdAndGroupId(task.getTestId(),task.getGroupId()); ExamUserTask hasTask=service.findByTestIdAndGroupId(task.getTestId(),task.getGroupId());
try { try {
int num=0;
if(hasTask!=null) { if(hasTask!=null) {
//return badRequest("此受众已推送过了,不能重复推送"); //return badRequest("此受众已推送过了,不能重复推送");
service.rePushTask(task); num=service.rePushTask(task);
}else { }else {
service.addTask(task); num=service.addTask(task);
}
if(num==0) {
return error("推送失败,未找到受众人员","请检查日志");
} }
return success(true); return success(true);
} catch (Exception e) { } catch (Exception e) {
log.error("推送考试错误",e); log.error("推送考试错误",e);

View File

@@ -152,7 +152,7 @@ public class ExamTest extends BaseEntity {
private String testUp; private String testUp;
/** /**
* 范围 * 范围1表独立使用2表课程内部
* */ * */
@Column(name = "range_type",nullable = false) @Column(name = "range_type",nullable = false)
private Integer rangeType; private Integer rangeType;

View File

@@ -11,13 +11,13 @@ public interface IExamUserTaskService {
* 推送 * 推送
* @param task * @param task
*/ */
void addTask(ExamTestDto task); int addTask(ExamTestDto task);
/** /**
* 再次推送同一个任务 * 再次推送同一个任务
* @param task * @param task
*/ */
void rePushTask(ExamTestDto task); int rePushTask(ExamTestDto task);
/** /**
* 通过试卷id检查是否已有发布了 * 通过试卷id检查是否已有发布了

View File

@@ -48,7 +48,7 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{
@Override @Override
@Transactional @Transactional
public void addTask(ExamTestDto task) { public int addTask(ExamTestDto task) {
//添加推送记录 //添加推送记录
ExamUserTask examUserTask = new ExamUserTask(); ExamUserTask examUserTask = new ExamUserTask();
examUserTask.setTestId(task.getTestId()); examUserTask.setTestId(task.getTestId());
@@ -61,82 +61,87 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{
// 下面的代码应该调用rePushTask // 下面的代码应该调用rePushTask
//执行推送,当前因为是固定人,所以这里直接添加处理,按受众添加到每个人中 //执行推送,当前因为是固定人,所以这里直接添加处理,按受众添加到每个人中
//查询受众的信息 //查询受众的信息
List<UserGroupItem> items = ugroupDao.findList("groupId", task.getGroupId()); // List<UserGroupItem> items = ugroupDao.findList("groupId", task.getGroupId());
if(items.size()>0) { // int num=0;
//防止加入两条的问题,应该是先查询,再添加 // if(items.size()>0) {
Map<String,Object> 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<UserGroupItem> items = ugroupDao.findList("groupId", task.getGroupId());
if(items.size()>0) {
//防止加入两条的问题,应该是先查询,再添加
Map<String,Object> 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<AudienceUser> sudienceUsers=outSideService.getUsersByAudienceId(task.getGroupId());
// if(sudienceUsers.size()>0) {
// //防止加入两条的问题,应该是先查询,再添加 // //防止加入两条的问题,应该是先查询,再添加
// Map<String,Object> amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId())); // Map<String,Object> amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId()));
// //这里应该是单独的线程去处理 // //这里应该是单独的线程去处理
// for(AudienceUser item :sudienceUsers) { // for(UserGroupItem item :items) {
// if(amap.containsKey(item.getId())) { // if(amap.containsKey(item.getAid())) {
// continue; // continue;
// } // }
// //检查是否存在 // //检查是否存在
// AloneExam aloneExam = new AloneExam(); // 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<AudienceUser> sudienceUsers=outSideService.getUsersByAudienceId(task.getGroupId());
int num=0;
if(sudienceUsers.size()>0) {
//防止加入两条的问题,应该是先查询,再添加
Map<String,Object> 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<UserGroupItem> items = ugroupDao.findList("groupId", task.getGroupId());
// if(items.size()>0) {
// //防止加入两条的问题,应该是先查询,再添加
// Map<String,Object> 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.setTestId(task.getTestId());
// aloneExam.setTestName(task.getTestName()); // aloneExam.setTestName(task.getTestName());
// aloneExam.setName(item.getName()); // aloneExam.setName(item.getName());
// aloneExam.setUcode(item.getCode()); // aloneExam.setUcode(item.getUserNo());
// aloneExam.setTestDuration(task.getDuration()); // aloneExam.setTestDuration(task.getDuration());
// aloneExam.setTaskTime(LocalDateTime.now()); // aloneExam.setTaskTime(LocalDateTime.now());
// aloneExam.setStartTime(task.getStartTime()); // aloneExam.setStartTime(task.getStartTime());
@@ -146,8 +151,37 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{
// } // }
// } // }
//examUserTask.setStatus(ExamUserTask.STATUS_FINISH); //调用用户服务的接口,在启用下面的代码前,需要
//dao.update(examUserTask); List<AudienceUser> sudienceUsers=outSideService.getUsersByAudienceId(task.getGroupId());
int num=0;
if(sudienceUsers.size()>0) {
//防止加入两条的问题,应该是先查询,再添加
Map<String,Object> 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;
} }

View File

@@ -298,7 +298,7 @@ public class UserGroupApi extends ApiBaseController {
UserImportDto dto=userImportDtos.get(un); UserImportDto dto=userImportDtos.get(un);
// System.out.println(dto.getIsSuccess()+"错误情况"); // System.out.println(dto.getIsSuccess()+"错误情况");
if(dto!=null && !dto.getIsSuccess() && StringUtils.isBlank(dto.getException())) { if(dto!=null && !dto.getIsSuccess() && StringUtils.isBlank(dto.getException())) {
dto.setException("工号找不到"); dto.setException("工号找不到或用户已经删除");
} }
} }
} }

View File

@@ -34,6 +34,7 @@ public class BoeTokenImpl implements IAuthorizationToken{
Map<String,Object> payloadMap=new HashMap<String,Object>(); Map<String,Object> payloadMap=new HashMap<String,Object>();
// payloadMap.put("iss", "http://u.boe.com"); // payloadMap.put("iss", "http://u.boe.com");
payloadMap.put("iss","http://u.boe.com"); payloadMap.put("iss","http://u.boe.com");
//long iat=System.currentTimeMillis()/1000;
long iat=System.currentTimeMillis()/1000; long iat=System.currentTimeMillis()/1000;
payloadMap.put("iat", iat); payloadMap.put("iat", iat);
long exp=iat+(12*60*60);//过期时间,12个小时过期 long exp=iat+(12*60*60);//过期时间,12个小时过期
@@ -97,30 +98,30 @@ public class BoeTokenImpl implements IAuthorizationToken{
// public static void main(String[] args) { // public static void main(String[] args) {
// //
// Map<String,String> data=new HashMap<String,String>(); //// Map<String,String> data=new HashMap<String,String>();
// data.put("userId","DFF192E1-FB7B-11EC-9DDF-005056BD9028");//原系统id //// data.put("userId","DFF192E1-FB7B-11EC-9DDF-005056BD9028");//原系统id
// data.put("name", "测试账号0001"); //// data.put("name", "测试账号0001");
// ////
// try { //// try {
// ////
// BoeTokenImpl impl=new BoeTokenImpl(); //// BoeTokenImpl impl=new BoeTokenImpl();
// String token=impl.createToken(data); //// String token=impl.createToken(data);
// System.out.println(token); //// System.out.println(token);
// }catch(Exception e) { //// }catch(Exception e) {
// e.printStackTrace(); //// e.printStackTrace();
// } //// }
// //
// try { // try {
// //
// BoeTokenImpl impl=new BoeTokenImpl(); // BoeTokenImpl impl=new BoeTokenImpl();
// String token=impl.createToken(data); //// String token=impl.createToken(data);
// System.out.println(token); //// System.out.println(token);
//// ////
//// Map<String,String> tokenData = impl.readToken(token); //// Map<String,String> tokenData = impl.readToken(token);
// //
// //
// //String token="eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NDYyMDU0NjcsImV4cCI6MTY0NjIxMjY2NywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjAxNTU1M0RELTQ0NUUtNjlENC0zNTFGLUREOUExQTU2NDIwRSIsInBlcm1pc3Npb24iOiIifQ==.90e9509faf109b1c92e26f9475121d1bfd7c3e32b962d8ee1526849fee14501a"; // String token="eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJ1SWQiOiI5NTI5NDg2MjY0OTc3MjQ0MTEiLCJ1c2VyTm8iOiIxMjM0NTYwMSIsImlzcyI6Imh0dHA6Ly91LmJvZS5jb20iLCJuYW1lIjoi5Luj5rW35YW0IiwiR2l2ZW5OYW1lIjoiYm9ldSIsImRlcGFydElkIjoiOTg0MTQ3NTY2NTIxNjY3NTg0IiwicGVybWlzc2lvbiI6IiIsImV4cCI6MTY3NTc4MTQwMSwiaWF0IjoxNjc1NzM4MjAxLCJhaWQiOiI5NTI5NDg2MjY0OTc3MjQ0MTEiLCJ1c2VySWQiOiIwMTU1NTNERC00NDVFLTY5RDQtMzUxRi1ERDlBMUE1NjQyMEUifQ==.d1d8d3e53ece04a8a863d5f0a3c227cea559cc4cfcbc9010a1125f7a11d6e9a0";
// String token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NTAxOTY1NTksImV4cCI6MTY1MDIwMzc1OSwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInBlcm1pc3Npb24iOiIifQ==.6b6c5a073e4a62d81d91105fd65c1eb936dd597c30b2dd0d4924e6df885aaff2"; // //String token = "eyJhbGciOiJIUzI1NiIsInR5cGUiOiJ0b2tlbiJ9.eyJpc3MiOiJodHRwOi8vdS5ib2UuY29tIiwiR2l2ZW5OYW1lIjoiYm9ldSIsInVJZCI6OTY1MzQyMDI3NDk3NjA3MTY4LCJ1c2VySWQiOiI2QjA0OUZBRi1DMzE0LTdDQ0YtMEQyOC0wRDIzRjRDNDI1MzEiLCJleHAiOjE2NzU3NTU4ODYzMzV9.c65d86ccc5feb1c820490d94196f5509b6bb97dce748bc590160c6d8489bde6a";
// String[] tokens = token.split("\\."); // String[] tokens = token.split("\\.");
// System.out.println(tokens.length); // System.out.println(tokens.length);
// String header = new String(Base64.decodeBase64(tokens[0])); // String header = new String(Base64.decodeBase64(tokens[0]));
@@ -133,6 +134,7 @@ public class BoeTokenImpl implements IAuthorizationToken{
// //读取userId和exp过期时间 // //读取userId和exp过期时间
// ObjectMapper om=new ObjectMapper(); // ObjectMapper om=new ObjectMapper();
// JsonNode json = om.readTree(payload); // JsonNode json = om.readTree(payload);
// System.out.println(json);
// String userId=json.get("userId").asText(); // String userId=json.get("userId").asText();
// long exp=json.get("exp").asLong(); // long exp=json.get("exp").asLong();
// System.out.println("userId="+userId+",exp="+exp); // System.out.println("userId="+userId+",exp="+exp);

View File

@@ -31,4 +31,7 @@ public class CourseStudyItem {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime; private LocalDateTime startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime finishTime;
} }

View File

@@ -704,7 +704,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
QueryBuilder query=QueryBuilder.from(StudyCourse.class.getSimpleName()+" sc,"+ Course.class.getSimpleName()+" c"); 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("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.eqField("sc.courseId","c.id"));
query.addFilter(FieldFilters.eq("c.enabled",true)); query.addFilter(FieldFilters.eq("c.enabled",true));
query.addFilter(FieldFilters.eq("c.deleted",false)); query.addFilter(FieldFilters.eq("c.deleted",false));
@@ -719,12 +719,14 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
item.setStudentName((String)objs[2]); item.setStudentName((String)objs[2]);
item.setProgress((Float)objs[3]); item.setProgress((Float)objs[3]);
item.setStatus((Integer)objs[4]); item.setStatus((Integer)objs[4]);
//item.setStartTime((LocalDateTime)objs[5]);
item.setStartTime((LocalDateTime)objs[5]);
item.setCourseId((String)objs[6]); item.setCourseId((String)objs[6]);
item.setCourseName((String)objs[7]); item.setCourseName((String)objs[7]);
item.setSysType1((String)objs[8]); item.setSysType1((String)objs[8]);
item.setSysType2((String)objs[9]); item.setSysType2((String)objs[9]);
item.setSysType3((String)objs[10]); item.setSysType3((String)objs[10]);
item.setFinishTime((LocalDateTime)objs[11]);
rslist.add(item); rslist.add(item);
} }

View File

@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
import com.xboe.common.PageList; import com.xboe.common.PageList;
import com.xboe.common.Pagination; import com.xboe.common.Pagination;
import com.xboe.common.utils.IDGenerator;
import com.xboe.common.utils.StringUtil; import com.xboe.common.utils.StringUtil;
import com.xboe.core.JsonResponse; import com.xboe.core.JsonResponse;
import com.xboe.core.api.ApiBaseController; import com.xboe.core.api.ApiBaseController;
@@ -134,10 +135,24 @@ public class MessageApi extends ApiBaseController {
return badRequest("内容不能为空"); return badRequest("内容不能为空");
} }
try { try {
//message.setIsRead(false); Message msg=new Message();
// message.setMsgType(1); msg.setId(IDGenerator.generate());
// message.setMsgTime(LocalDateTime.now()); // msg.setAcceptId(aid);
//MessageSender.send(message); // 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); return success(true);
} catch (Exception e) { } catch (Exception e) {
log.error("发布消息失败",e); log.error("发布消息失败",e);

View File

@@ -51,8 +51,8 @@ public class Message extends IdEntity {
private Integer pageType; private Integer pageType;
/** /**
*页面参数 默认是id * 页面参数 默认是id
* */ **/
@Column(name = "page_params",length = 50) @Column(name = "page_params",length = 50)
private String pageParams; private String pageParams;

View File

@@ -55,7 +55,6 @@ public class MessageSender {
msg.setSendType(1); msg.setSendType(1);
msg.setSource(data.getSource()); msg.setSource(data.getSource());
msg.setTitle(data.getTitle()); msg.setTitle(data.getTitle());
msg.setContent(data.getContent());
msgList.add(msg); msgList.add(msg);
} }
messageService.batchSave(msgList); messageService.batchSave(msgList);

View File

@@ -87,7 +87,10 @@ public class UserServiceImpl implements IUserService {
@Override @Override
public List<User> getListByUserNos(List<String> userNos) { public List<User> getListByUserNos(List<String> 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 @Override

View File

@@ -106,7 +106,6 @@ public class CourseJsonRunner {
list=courseOlds; list=courseOlds;
} }
} }
} }
log.info("共读取【"+list.size()+"】门课程"); log.info("共读取【"+list.size()+"】门课程");
if (list != null && !list.isEmpty()) { if (list != null && !list.isEmpty()) {