mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-08 18:36:51 +08:00
增加新的接口,给东吴
This commit is contained in:
@@ -32,6 +32,8 @@ import com.xboe.module.course.service.ICourseSectionService;
|
||||
import com.xboe.module.course.service.ICourseService;
|
||||
import com.xboe.module.teacher.entity.Teacher;
|
||||
import com.xboe.module.teacher.service.ITeacherService;
|
||||
import com.xboe.school.study.dto.CourseStudyItem;
|
||||
import com.xboe.school.study.dto.CourseStudyQuery;
|
||||
import com.xboe.school.study.dto.StudyContentDto;
|
||||
import com.xboe.school.study.dto.StudyCourseNameDto;
|
||||
import com.xboe.school.study.dto.StudyCourseQuery;
|
||||
@@ -703,6 +705,27 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
return success(studyCouseDtos);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 对外提供的接口,根据课程,和学生id集合。获取指定学习的学习情况
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/course-study-bystudents")
|
||||
public JsonResponse<List<CourseStudyItem>> courseUsers(@RequestBody CourseStudyQuery query){
|
||||
if(StringUtils.isBlank(query.getCourseId())){
|
||||
return badRequest("未指定课程");
|
||||
}
|
||||
if(query.getStudentIds()==null){
|
||||
return badRequest("未指定学生信息");
|
||||
}
|
||||
try {
|
||||
List<CourseStudyItem> rs = service.findByCourseAndUsers(query.getCourseId(),query.getStudentIds());
|
||||
return success(rs);
|
||||
}catch(Exception e) {
|
||||
log.error("按课程,学生id集合查询错误",e);
|
||||
return error("查询错误",e.getMessage());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.xboe.school.study.dto;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CourseStudyItem {
|
||||
|
||||
private String id;
|
||||
|
||||
private String courseId;
|
||||
|
||||
private String courseName;
|
||||
|
||||
private String studentId;
|
||||
|
||||
private String studentName;
|
||||
|
||||
private String sysType1;
|
||||
|
||||
private String sysType2;
|
||||
|
||||
private String sysType3;
|
||||
|
||||
private Float progress;//学习进度
|
||||
|
||||
private Integer status;//学习状态
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.xboe.school.study.dto;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CourseStudyQuery {
|
||||
|
||||
/**
|
||||
* 课程id
|
||||
*/
|
||||
private String courseId;
|
||||
|
||||
/**
|
||||
* 学生的id集合
|
||||
*/
|
||||
private List<String> studentIds;
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import java.util.List;
|
||||
|
||||
import com.xboe.common.OrderCondition;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.school.study.dto.CourseStudyItem;
|
||||
import com.xboe.school.study.dto.StudyCourseNameDto;
|
||||
import com.xboe.school.study.dto.StudyCourseQuery;
|
||||
import com.xboe.school.study.dto.StudyCourseSimple;
|
||||
@@ -93,5 +94,7 @@ public interface IStudyCourseService {
|
||||
* 查询课程最新学习记录的进度
|
||||
* */
|
||||
List<Object[]> progress(String aid,List<String> courseIds);
|
||||
|
||||
List<CourseStudyItem> findByCourseAndUsers(String courseId,List<String> aids) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.xboe.school.study.dao.StudyHomeWorkDao;
|
||||
import com.xboe.school.study.dao.StudyScoreDao;
|
||||
import com.xboe.school.study.dao.StudySignupDao;
|
||||
import com.xboe.school.study.dao.StudyTimeDao;
|
||||
import com.xboe.school.study.dto.CourseStudyItem;
|
||||
import com.xboe.school.study.dto.StudyCourseNameDto;
|
||||
import com.xboe.school.study.dto.StudyCourseQuery;
|
||||
import com.xboe.school.study.dto.StudyCourseSimple;
|
||||
@@ -698,4 +699,36 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
return rs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CourseStudyItem> findByCourseAndUsers(String courseId, List<String> aids) throws Exception {
|
||||
|
||||
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.addFilter(FieldFilters.eqField("sc.courseId","c.id"));
|
||||
query.addFilter(FieldFilters.eq("c.enabled",true));
|
||||
query.addFilter(FieldFilters.eq("c.deleted",false));
|
||||
query.addFilter(FieldFilters.eq("c.id",courseId));
|
||||
query.addFilter(FieldFilters.in("sc.aid",aids));
|
||||
List<CourseStudyItem> rslist=new ArrayList<CourseStudyItem>();
|
||||
List<Object[]> list=studyCourseDao.findListFields(query.builder());
|
||||
for(Object[] objs : list) {
|
||||
CourseStudyItem item=new CourseStudyItem();
|
||||
item.setId((String)objs[0]);
|
||||
item.setStudentId((String)objs[1]);
|
||||
item.setStudentName((String)objs[2]);
|
||||
item.setProgress((Float)objs[3]);
|
||||
item.setStatus((Integer)objs[4]);
|
||||
//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]);
|
||||
rslist.add(item);
|
||||
}
|
||||
|
||||
return rslist;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user