mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-10 03:16:48 +08:00
Merge branch 'preview' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/baseservers into release
This commit is contained in:
@@ -6,10 +6,8 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.xboe.common.utils.StringUtil;
|
||||
import com.xboe.school.study.dto.StudyCourseNameDto;
|
||||
import com.xboe.school.study.dto.StudyCourseQuery;
|
||||
import com.xboe.school.study.dto.StudyCouseDto;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
@@ -22,13 +20,27 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import com.xboe.common.OrderCondition;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.common.Pagination;
|
||||
import com.xboe.common.utils.StringUtil;
|
||||
import com.xboe.core.CurrentUser;
|
||||
import com.xboe.core.JsonResponse;
|
||||
import com.xboe.core.api.ApiBaseController;
|
||||
import com.xboe.module.course.entity.Course;
|
||||
import com.xboe.module.course.entity.CourseContent;
|
||||
import com.xboe.module.course.entity.CourseCrowd;
|
||||
import com.xboe.module.course.entity.CourseSection;
|
||||
import com.xboe.module.course.entity.CourseTeacher;
|
||||
import com.xboe.module.course.service.ICourseContentService;
|
||||
import com.xboe.module.course.service.ICourseSectionService;
|
||||
import com.xboe.module.course.service.ICourseService;
|
||||
import com.xboe.module.course.service.ICourseTeacherService;
|
||||
import com.xboe.module.teacher.entity.Teacher;
|
||||
import com.xboe.module.teacher.service.ITeacherService;
|
||||
import com.xboe.school.study.dto.StudyContentDto;
|
||||
import com.xboe.school.study.dto.StudyCourseNameDto;
|
||||
import com.xboe.school.study.dto.StudyCourseQuery;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import com.xboe.school.study.entity.StudyCourseItem;
|
||||
import com.xboe.school.study.entity.StudySignup;
|
||||
import com.xboe.school.study.entity.StudyTime;
|
||||
import com.xboe.school.study.service.IStudyCourseService;
|
||||
import com.xboe.school.study.service.IStudyService;
|
||||
@@ -53,6 +65,19 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
@Autowired
|
||||
ICourseService courseService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ICourseContentService contentService;
|
||||
|
||||
@Autowired
|
||||
private ICourseSectionService sectionService;
|
||||
|
||||
@Autowired
|
||||
private ICourseTeacherService courseTeacherService;
|
||||
|
||||
@Autowired
|
||||
private ITeacherService teacherService;
|
||||
|
||||
@Autowired
|
||||
IStudySignupService signupService;
|
||||
|
||||
@@ -107,6 +132,59 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 学习页面,加载课程的信息,用于替换portal中的detail方法
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/studyIndex",method = {RequestMethod.GET,RequestMethod.POST})
|
||||
public JsonResponse<Map<String,Object>> loadDetail(String id,Boolean addView,Boolean crowd){
|
||||
if(StringUtils.isBlank(id)){
|
||||
return error("无课程信息");
|
||||
}
|
||||
String aid=getCurrent().getAccountId();
|
||||
//StudyCourse sc=service.findByCourseIdAndAid(id, aid);
|
||||
Map<String,Object> rs=new HashMap<String,Object>();
|
||||
Course course=courseService.getAddView(id);
|
||||
if(course==null || course.getDeleted()){
|
||||
return badRequest("课程不存在或已被删除");
|
||||
}
|
||||
rs.put("course",course);
|
||||
|
||||
List<CourseCrowd> courseCrowdList = courseService.findCrowdByCourseId(id);
|
||||
if(crowd!=null && crowd) {
|
||||
rs.put("crowds",courseCrowdList);
|
||||
}
|
||||
List<CourseContent> cclist=contentService.getByCourseId(id);
|
||||
List<CourseSection> sectionlist=sectionService.getByCourseId(id);
|
||||
List<CourseTeacher> teachers=courseService.findTeachersByCourseId(id);
|
||||
|
||||
//获取教师的介绍信息,因为一门课程 的教师不会太多,所以这里简单直接遍历查询,后续再优化
|
||||
for(CourseTeacher ct : teachers) {
|
||||
Teacher t = teacherService.get(ct.getTeacherId());
|
||||
if(t!=null) {
|
||||
ct.setRemark(t.getDescription());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
rs.put("contents",cclist);
|
||||
rs.put("sections",sectionlist);
|
||||
rs.put("teachers",teachers);
|
||||
|
||||
//检查是否已报名
|
||||
StudySignup ss = signupService.getByCidAndAid(id, aid);
|
||||
if(ss!=null && ss.getStatus()!=null && ss.getStatus()==9) {
|
||||
rs.put("signup",true);
|
||||
}else {
|
||||
rs.put("signup",false);
|
||||
}
|
||||
|
||||
return success(rs);
|
||||
}
|
||||
|
||||
|
||||
// /**
|
||||
// * 检查是否有相应的课程学习
|
||||
// * @param cid
|
||||
@@ -543,16 +621,16 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
studyCourseQuery.setAid(this.getCurrent().getAccountId());
|
||||
}
|
||||
List<StudyCourse> studyCouseDtos = service.ids(studyCourseQuery);
|
||||
List<String> ids=new ArrayList<String>();
|
||||
for(StudyCourse scourse:studyCouseDtos) {
|
||||
ids.add(scourse.getCourseId());
|
||||
}
|
||||
Map<String,Object> maps = courseService.findImages(ids);
|
||||
for(StudyCourse scourse:studyCouseDtos) {
|
||||
if(maps.containsKey(scourse.getCourseId())) {
|
||||
scourse.setCourseImage((String)maps.get(scourse.getCourseId()));
|
||||
}
|
||||
}
|
||||
// List<String> ids=new ArrayList<String>();
|
||||
// for(StudyCourse scourse:studyCouseDtos) {
|
||||
// ids.add(scourse.getCourseId());
|
||||
// }
|
||||
// Map<String,Object> maps = courseService.findImages(ids);
|
||||
// for(StudyCourse scourse:studyCouseDtos) {
|
||||
// if(maps.containsKey(scourse.getCourseId())) {
|
||||
// scourse.setCourseImage((String)maps.get(scourse.getCourseId()));
|
||||
// }
|
||||
// }
|
||||
|
||||
return success(studyCouseDtos);
|
||||
}
|
||||
@@ -569,16 +647,16 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
return badRequest("无关注人");
|
||||
}
|
||||
List<StudyCourse> studyCouseDtos = service.followids(studyCourseQuery);
|
||||
List<String> ids=new ArrayList<String>();
|
||||
for(StudyCourse scourse:studyCouseDtos) {
|
||||
ids.add(scourse.getCourseId());
|
||||
}
|
||||
Map<String,Object> maps = courseService.findImages(ids);
|
||||
for(StudyCourse scourse:studyCouseDtos) {
|
||||
if(maps.containsKey(scourse.getCourseId())) {
|
||||
scourse.setCourseImage((String)maps.get(scourse.getCourseId()));
|
||||
}
|
||||
}
|
||||
// List<String> ids=new ArrayList<String>();
|
||||
// for(StudyCourse scourse:studyCouseDtos) {
|
||||
// ids.add(scourse.getCourseId());
|
||||
// }
|
||||
// Map<String,Object> maps = courseService.findImages(ids);
|
||||
// for(StudyCourse scourse:studyCouseDtos) {
|
||||
// if(maps.containsKey(scourse.getCourseId())) {
|
||||
// scourse.setCourseImage((String)maps.get(scourse.getCourseId()));
|
||||
// }
|
||||
// }
|
||||
|
||||
return success(studyCouseDtos);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,20 @@
|
||||
|
||||
package com.xboe.school.study.service.impl;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.xboe.common.OrderCondition;
|
||||
import com.xboe.common.PageList;
|
||||
import com.xboe.core.orm.FieldFilters;
|
||||
@@ -10,24 +24,21 @@ import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.course.dao.CourseContentDao;
|
||||
import com.xboe.module.course.dao.CourseDao;
|
||||
import com.xboe.module.course.entity.Course;
|
||||
import com.xboe.school.study.dao.*;
|
||||
import com.xboe.school.study.dao.StudyAssessDao;
|
||||
import com.xboe.school.study.dao.StudyCourseDao;
|
||||
import com.xboe.school.study.dao.StudyCourseItemDao;
|
||||
import com.xboe.school.study.dao.StudyExamDao;
|
||||
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.StudyCourseNameDto;
|
||||
import com.xboe.school.study.dto.StudyCourseQuery;
|
||||
import com.xboe.school.study.dto.StudyCouseDto;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import com.xboe.school.study.entity.StudyCourseItem;
|
||||
import com.xboe.school.study.service.IStudyCourseService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@@ -272,19 +283,29 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
builder.addFilter(FieldFilters.in("sc.courseId",studyCourseQuery.getIds()));
|
||||
builder.addOrder(OrderCondition.desc("sc.lastTime"));
|
||||
builder.addFields("sc");
|
||||
// try {
|
||||
//// List<Object[]> listFields = studyCourseDao.(builder.builder());
|
||||
//// for (Object[] o:listFields) {
|
||||
//// StudyCouseDto studyCouseDto = new StudyCouseDto();
|
||||
//// studyCouseDto.setCourseId((String) o[0]);
|
||||
//// studyCouseDto.setProgress((Float) o[1]);
|
||||
//// studyCouseDto.setLastTime((LocalDateTime) o[2]);
|
||||
//// studyCouseDtos.add(studyCouseDto);
|
||||
//// }
|
||||
List<StudyCourse> list = studyCourseDao.findList(builder.builder());
|
||||
|
||||
|
||||
return list;
|
||||
builder.addFields("c.score");
|
||||
builder.addFields("c.coverImg");
|
||||
//List<StudyCourse> list = studyCourseDao.findList(builder.builder());
|
||||
List<StudyCourse> rs=new ArrayList<StudyCourse>();
|
||||
Set<String> checkSet=new HashSet<String>();
|
||||
try {
|
||||
List<Object[]> list= studyCourseDao.findListFields(builder.builder());
|
||||
for(Object[] objs:list) {
|
||||
StudyCourse sc=(StudyCourse)objs[0];
|
||||
if(!checkSet.contains(sc.getCourseId())) {
|
||||
Float score=(Float)objs[1];
|
||||
String img=(String)objs[2];
|
||||
sc.setLastScore(score);
|
||||
sc.setCourseImage(img);
|
||||
rs.add(sc);
|
||||
checkSet.add(sc.getCourseId());
|
||||
}
|
||||
}
|
||||
return rs;
|
||||
}catch(Exception e){
|
||||
log.error("",e);
|
||||
}
|
||||
return rs;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -295,6 +316,7 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
|
||||
@Override
|
||||
public List<StudyCourse> followids(StudyCourseQuery studyCourseQuery) {
|
||||
//当前先这样查询,以后要修改,只查询需要的字段,另外 ,需要按课程分组,不然一门课程会查出很多记录出来
|
||||
QueryBuilder builder = QueryBuilder.from(StudyCourse.class.getSimpleName()+" sc,"+ Course.class.getSimpleName()+" c");
|
||||
builder.addFilter(FieldFilters.eqField("sc.courseId","c.id"));
|
||||
// builder.addFilter(FieldFilters.eq("c.enabled",true));
|
||||
@@ -303,8 +325,29 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
builder.addFilter(FieldFilters.in("sc.courseId",studyCourseQuery.getIds()));
|
||||
builder.addOrder(OrderCondition.desc("sc.lastTime"));
|
||||
builder.addFields("sc");
|
||||
List<StudyCourse> list = studyCourseDao.findList(builder.builder());
|
||||
return list;
|
||||
builder.addFields("c.score");
|
||||
builder.addFields("c.coverImg");
|
||||
//List<StudyCourse> list = studyCourseDao.findList(builder.builder());
|
||||
List<StudyCourse> rs=new ArrayList<StudyCourse>();
|
||||
Set<String> checkSet=new HashSet<String>();
|
||||
try {
|
||||
List<Object[]> list= studyCourseDao.findListFields(builder.builder());
|
||||
for(Object[] objs:list) {
|
||||
StudyCourse sc=(StudyCourse)objs[0];
|
||||
if(!checkSet.contains(sc.getCourseId())) {
|
||||
Float score=(Float)objs[1];
|
||||
String img=(String)objs[2];
|
||||
sc.setLastScore(score);
|
||||
sc.setCourseImage(img);
|
||||
rs.add(sc);
|
||||
checkSet.add(sc.getCourseId());
|
||||
}
|
||||
}
|
||||
return rs;
|
||||
}catch(Exception e){
|
||||
log.error("",e);
|
||||
}
|
||||
return rs;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user