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