mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 03:46:50 +08:00
提交受众推送的修改
This commit is contained in:
@@ -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;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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检查是否已有发布了
|
||||||
|
|||||||
@@ -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,38 +61,69 @@ 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);
|
||||||
|
// 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()));
|
Map<String,Object> amap= aloneExamDao.findMap("aid", "name",FieldFilters.eq("testId", task.getTestId()));
|
||||||
//这里应该是单独的线程去处理
|
//这里应该是单独的线程去处理
|
||||||
for(UserGroupItem item :items) {
|
for(AudienceUser item :sudienceUsers) {
|
||||||
if(amap.containsKey(item.getAid())) {
|
if(amap.containsKey(item.getId())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//检查是否存在
|
//检查是否存在
|
||||||
AloneExam aloneExam = new AloneExam();
|
AloneExam aloneExam = new AloneExam();
|
||||||
aloneExam.setAid(item.getAid());
|
aloneExam.setAid(item.getId());
|
||||||
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.getUserNo());
|
aloneExam.setUcode(item.getCode());
|
||||||
aloneExam.setTestDuration(task.getDuration());
|
aloneExam.setTestDuration(task.getDuration());
|
||||||
aloneExam.setTaskTime(LocalDateTime.now());
|
aloneExam.setTaskTime(LocalDateTime.now());
|
||||||
aloneExam.setStartTime(task.getStartTime());
|
aloneExam.setStartTime(task.getStartTime());
|
||||||
aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过
|
aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过
|
||||||
aloneExam.setScore(0f);
|
aloneExam.setScore(0f);
|
||||||
aloneExamDao.save(aloneExam);
|
aloneExamDao.save(aloneExam);
|
||||||
|
num++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//examUserTask.setStatus(ExamUserTask.STATUS_FINISH);
|
//examUserTask.setStatus(ExamUserTask.STATUS_FINISH);
|
||||||
//dao.update(examUserTask);
|
//dao.update(examUserTask);
|
||||||
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void rePushTask(ExamTestDto task) {
|
public int rePushTask(ExamTestDto task) {
|
||||||
//执行推送,当前因为是固定人,所以这里直接添加处理,按受众添加到每个人中
|
//执行推送,当前因为是固定人,所以这里直接添加处理,按受众添加到每个人中
|
||||||
//查询受众的信息,2022、11、30 这个的返回需要从接口获取人员信息,然后推送
|
//查询受众的信息,2022、11、30 这个的返回需要从接口获取人员信息,然后推送
|
||||||
// List<UserGroupItem> items = ugroupDao.findList("groupId", task.getGroupId());
|
// List<UserGroupItem> items = ugroupDao.findList("groupId", task.getGroupId());
|
||||||
@@ -122,6 +153,7 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{
|
|||||||
|
|
||||||
//调用用户服务的接口,在启用下面的代码前,需要
|
//调用用户服务的接口,在启用下面的代码前,需要
|
||||||
List<AudienceUser> sudienceUsers=outSideService.getUsersByAudienceId(task.getGroupId());
|
List<AudienceUser> sudienceUsers=outSideService.getUsersByAudienceId(task.getGroupId());
|
||||||
|
int num=0;
|
||||||
if(sudienceUsers.size()>0) {
|
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()));
|
||||||
@@ -143,11 +175,13 @@ public class ExamUserTaskServiceImpl implements IExamUserTaskService{
|
|||||||
aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过
|
aloneExam.setStatus(AloneExamAnswer.STATUS_NONE);//未考试过
|
||||||
aloneExam.setScore(0f);
|
aloneExam.setScore(0f);
|
||||||
aloneExamDao.save(aloneExam);
|
aloneExamDao.save(aloneExam);
|
||||||
|
num++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// examUserTask.setStatus(ExamUserTask.STATUS_FINISH);
|
// examUserTask.setStatus(ExamUserTask.STATUS_FINISH);
|
||||||
// dao.update(examUserTask);
|
// dao.update(examUserTask);
|
||||||
|
return num;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user