mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-10 19:36:50 +08:00
新增加的考试的接口
This commit is contained in:
@@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.xboe.TempFilterConfig;
|
||||
import com.xboe.account.entity.Account;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.common.Pagination;
|
||||
@@ -27,7 +26,6 @@ import com.xboe.core.CurrentUser;
|
||||
import com.xboe.core.JsonResponse;
|
||||
import com.xboe.core.api.ApiBaseController;
|
||||
import com.xboe.core.log.AutoLog;
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.data.outside.IOutSideDataService;
|
||||
import com.xboe.externalinterface.system.service.IFwUserService;
|
||||
import com.xboe.module.assistance.service.IEmailService;
|
||||
|
||||
@@ -1,18 +1,28 @@
|
||||
package com.xboe.module.exam.api;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.common.Pagination;
|
||||
import com.xboe.common.utils.StringUtil;
|
||||
import com.xboe.core.JsonResponse;
|
||||
import com.xboe.core.api.ApiBaseController;
|
||||
import com.xboe.module.exam.dto.TestUserDto;
|
||||
import com.xboe.module.exam.dto.TestUserQuery;
|
||||
import com.xboe.module.exam.entity.AloneExam;
|
||||
import com.xboe.module.exam.entity.AloneExamAnswer;
|
||||
import com.xboe.module.exam.service.IAloneExamService;
|
||||
import com.xboe.module.exam.vo.AloneExamQuery;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 对于与第三方对接的扩展接口
|
||||
@@ -94,5 +104,39 @@ public class AloneExamExtendApi extends ApiBaseController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 考试情况统计,按考试
|
||||
* 总人数,完成人数,进行中的人数,未开始的人数,通过的人数,未通过的人数
|
||||
* @param testId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/stat")
|
||||
public JsonResponse<Map<String,Object>> stat(String testId){
|
||||
if(StringUtil.isBlank(testId)){
|
||||
return badRequest("参数异常");
|
||||
}
|
||||
//List<AloneExamAnswer> answer = aloneExamService.findAnswer(aloneId);
|
||||
Map<String,Object> map=new HashMap<String,Object>();
|
||||
try {
|
||||
|
||||
return success(map);
|
||||
}catch(Exception e) {
|
||||
return error("考试统计错误",e.getMessage(),null);
|
||||
}
|
||||
}
|
||||
|
||||
@PostMapping("/user-answers")
|
||||
public JsonResponse<PageList<TestUserDto>> userAnswers(@RequestBody TestUserQuery query){
|
||||
if(StringUtil.isBlank(query.getTestId())){
|
||||
return badRequest("参数异常");
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
return success(null);
|
||||
}catch(Exception e) {
|
||||
return error("考试统计错误",e.getMessage(),null);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.xboe.module.exam.dto;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TestUserAnswerDto {
|
||||
|
||||
private Integer totalScore;
|
||||
|
||||
private Float realScore;
|
||||
|
||||
private Float score;
|
||||
|
||||
private Integer status;
|
||||
|
||||
private Integer testDuration;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime lastTime;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.xboe.module.exam.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TestUserDto implements java.io.Serializable{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer pageIndex;
|
||||
|
||||
private Integer pageSize;
|
||||
|
||||
private Integer status;
|
||||
|
||||
private String testId;
|
||||
|
||||
private String testName;//这一项为什么还要呀,就是指定的考试
|
||||
|
||||
private String aloneId;
|
||||
|
||||
private String aid;
|
||||
|
||||
private String name;
|
||||
|
||||
private List<TestUserAnswerDto> answers;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.xboe.module.exam.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class TestUserQuery implements java.io.Serializable{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
private Integer pageIndex;
|
||||
private Integer pageSize;
|
||||
private Integer status;
|
||||
private String[] aids;
|
||||
private String testId;
|
||||
}
|
||||
@@ -1,27 +1,31 @@
|
||||
package com.xboe.module.exam.service.impl;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import com.xboe.common.utils.StringUtil;
|
||||
import com.xboe.module.exam.vo.AloneExamQuery;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.xboe.common.OrderCondition;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.common.utils.StringUtil;
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.core.orm.QueryBuilder;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.exam.dao.AloneExamAnswerDao;
|
||||
import com.xboe.module.exam.dao.AloneExamDao;
|
||||
import com.xboe.module.exam.dto.TestUserDto;
|
||||
import com.xboe.module.exam.dto.TestUserQuery;
|
||||
import com.xboe.module.exam.entity.AloneExam;
|
||||
import com.xboe.module.exam.entity.AloneExamAnswer;
|
||||
import com.xboe.module.exam.entity.ExamTest;
|
||||
import com.xboe.module.exam.service.IAloneExamService;
|
||||
import com.xboe.module.exam.vo.AloneExamQuery;
|
||||
|
||||
@Service
|
||||
public class AloneExamServiceImpl implements IAloneExamService{
|
||||
@@ -332,4 +336,52 @@ public class AloneExamServiceImpl implements IAloneExamService{
|
||||
return aeDao.get(id);
|
||||
}
|
||||
|
||||
//新增加的接口
|
||||
|
||||
/**
|
||||
* 按考试统计(总人数,完成人数,进行中的人数,未开始的人数,通过的人数,未通过的人数)
|
||||
* @param testId
|
||||
* @return
|
||||
*/
|
||||
public Map<String,Object> statByTestId(String testId) throws Exception {
|
||||
// QueryBuilder query=QueryBuilder.from(AloneExamAnswer.class);
|
||||
// query.addField("new AloneExamAnswer(id,aid,name,testId,testName,arrange,passLine,status,startTime,endTime,lastTime,clientIp,ucode,score,totalScore,realScore,useSecond)");
|
||||
// query.addFilter(FieldFilters.eq("aid",aid));
|
||||
// query.addFilter(FieldFilters.eq("testId",testId));
|
||||
// query.addOrder(OrderCondition.desc("id"));
|
||||
// query.setPageSize(1);
|
||||
// List<AloneExamAnswer> list=dao.findList(query.builder());
|
||||
// if(list.isEmpty()) {
|
||||
// return null;
|
||||
// }
|
||||
return null;
|
||||
}
|
||||
|
||||
public PageList<TestUserDto> findTestUserAnswers(TestUserQuery params) throws Exception{
|
||||
|
||||
QueryBuilder query=QueryBuilder.from(AloneExam.class);
|
||||
query.addFields("id,aid,name,testName,passLine,score,status");
|
||||
query.setPageIndex(params.getPageIndex());
|
||||
query.setPageSize(params.getPageSize());
|
||||
query.addFilter(FieldFilters.eq("testId",params.getTestId()));
|
||||
if(params.getAids()!=null) {
|
||||
query.addFilter(FieldFilters.in("aid",params.getAids()));
|
||||
}
|
||||
if(params.getStatus()!=null) {
|
||||
query.addFilter(FieldFilters.eq("status",params.getStatus()));
|
||||
}
|
||||
PageList<Object[]> rsUsers=aeDao.findPageFields(query.builder());
|
||||
List<TestUserDto> dtoUsers=new ArrayList<TestUserDto>();
|
||||
for(Object[] objs : rsUsers.getList()) {
|
||||
TestUserDto dto=new TestUserDto();
|
||||
dto.setAloneId((String)objs[0]);
|
||||
dto.setAid((String)objs[1]);
|
||||
dto.setName((String)objs[2]);
|
||||
dto.setTestId(params.getTestId());
|
||||
dto.setTestName((String)objs[3]);
|
||||
}
|
||||
|
||||
PageList<TestUserDto> rs=new PageList<TestUserDto>();
|
||||
return rs;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -437,7 +437,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
List<Object[]> clist= studyCourseDao.findListFields(courseHql,studyCourseQuery.getIds());
|
||||
List<Object[]> slist= studyCourseDao.findListFields(studyHql,studyCourseQuery.getAids(),studyCourseQuery.getIds());
|
||||
//数据数量一般不会太多,不超过20条,所以直接使用嵌套循环
|
||||
Map<String,Object> map=new HashMap<String,Object>();
|
||||
//Map<String,Object> map=new HashMap<String,Object>();
|
||||
for(Object[] sobjs : slist) {
|
||||
StudyCourseSimple sc=new StudyCourseSimple();
|
||||
sc.setCourseId(ConvertUtil.toStr(sobjs[0]));
|
||||
|
||||
Reference in New Issue
Block a user