增加新的接口,给东吴

This commit is contained in:
daihh
2023-01-18 11:25:08 +08:00
parent a08f4615ef
commit 0f9ee1574b
5 changed files with 113 additions and 1 deletions

View File

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

View File

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

View File

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

View File

@@ -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;
@@ -94,4 +95,6 @@ public interface IStudyCourseService {
* */
List<Object[]> progress(String aid,List<String> courseIds);
List<CourseStudyItem> findByCourseAndUsers(String courseId,List<String> aids) throws Exception;
}

View File

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