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表公开课
*/
private Integer openCourse;
/**
* 是否公开0表非公开报名1表公开报名-字段需新增,按管理端需求增加
*/
private Integer openEnroll;
}

View File

@@ -40,4 +40,9 @@ public class CourseStudyDto {
/**学习进度0-100的值*/
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("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);

View File

@@ -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();

View File

@@ -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<String, String> 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<String, String> params = new HashMap<>();
// params.put("audienceId", "70061506155860912129");
// params.put("audienceId", "7008604893867151361");
// String json = null;
// List<AudienceUser> list=new ArrayList<AudienceUser>();
// 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());
// }

View File

@@ -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;
}

View File

@@ -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()));
}

View File

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

View File

@@ -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);

View File

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

View File

@@ -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检查是否已有发布了

View File

@@ -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<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);
}
}
//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) {
// List<UserGroupItem> items = ugroupDao.findList("groupId", task.getGroupId());
// int num=0;
// if(items.size()>0) {
// //防止加入两条的问题,应该是先查询,再添加
// Map<String,Object> 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<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.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<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);
// System.out.println(dto.getIsSuccess()+"错误情况");
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>();
// 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<String,String> data=new HashMap<String,String>();
// 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<String,String> data=new HashMap<String,String>();
//// 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<String,String> 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);

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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);

View File

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

View File

@@ -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);

View File

@@ -87,7 +87,10 @@ public class UserServiceImpl implements IUserService {
@Override
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

View File

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