mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-12 04:16:51 +08:00
Merge branch 'preview' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/baseservers into release
This commit is contained in:
@@ -105,7 +105,16 @@ public interface ICourseService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
PageList<Course> findSimplePage(int pageIndex, int pageSize, CourseQueryDto dto);
|
PageList<Course> findSimplePage(int pageIndex, int pageSize, CourseQueryDto dto);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 只是查询少量字段
|
||||||
|
* @param pageIndex
|
||||||
|
* @param pageSize
|
||||||
|
* @param dto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<Course> findSimpleList(int pageSize,CourseQueryDto dto);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加课程
|
* 添加课程
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import java.time.format.DateTimeFormatter;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@@ -319,7 +320,57 @@ public class CourseServiceImpl implements ICourseService {
|
|||||||
|
|
||||||
return rs;
|
return rs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Course> findSimpleList(int pageSize, CourseQueryDto dto) {
|
||||||
|
List<IFieldFilter> filters = createFilters(dto);
|
||||||
|
//自动添加过滤已删除
|
||||||
|
filters.add(FieldFilters.eq("deleted",false));
|
||||||
|
filters.add(FieldFilters.eq("enabled",true));
|
||||||
|
//返回的结果
|
||||||
|
|
||||||
|
|
||||||
|
QueryBuilder query=QueryBuilder.from(Course.class).addFilters(filters);
|
||||||
|
|
||||||
|
if(dto.getTopOrder()!=null) {
|
||||||
|
if(dto.getTopOrder()){
|
||||||
|
query.addOrder(OrderCondition.desc("isTop"));
|
||||||
|
query.addOrder(OrderCondition.desc("topTime"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
OrderCondition oc=null;
|
||||||
|
if(StringUtils.isNotBlank(dto.getOrderField())) {
|
||||||
|
if(dto.getOrderAsc()==null || dto.getOrderAsc()) {
|
||||||
|
oc=OrderCondition.asc(dto.getOrderField());
|
||||||
|
}else {
|
||||||
|
oc=OrderCondition.desc(dto.getOrderField());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
//oc=OrderCondition.desc("id");
|
||||||
|
//默认按发布时间排序
|
||||||
|
oc=OrderCondition.desc("publishTime");
|
||||||
|
}
|
||||||
|
query.addOrder(oc);
|
||||||
|
|
||||||
|
// if(dto.getTopOrder()!=null && dto.getTopOrder()){
|
||||||
|
// query.addOrder(OrderCondition.desc("topTime"));
|
||||||
|
// }
|
||||||
|
|
||||||
|
int num=6;
|
||||||
|
List<Course> courses = this.userHobbyList(dto.getAid(), dto.getOrderField(), dto.getOrderAsc());
|
||||||
|
if(courses!=null && !courses.isEmpty()){
|
||||||
|
num=6-courses.size();
|
||||||
|
//重复的不包括
|
||||||
|
List<String> courseIds = courses.stream().map(Course::getId).collect(Collectors.toList());
|
||||||
|
query.addFilter(FieldFilters.notIn("id",courseIds));
|
||||||
|
}
|
||||||
|
query.setPageSize(num);
|
||||||
|
query.addFields("new Course(id,type,name,coverImg,score,studys,comments,shares,praises,favorites,forUsers,value,summary,publishTime,isTop)");
|
||||||
|
List<Course> rs=courseDao.findList(query.builder());
|
||||||
|
courses.addAll(rs);
|
||||||
|
return courses;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void save(Course course) {
|
public void save(Course course) {
|
||||||
course.setComments(0);
|
course.setComments(0);
|
||||||
@@ -980,6 +1031,9 @@ public class CourseServiceImpl implements ICourseService {
|
|||||||
for (Object o:list) {
|
for (Object o:list) {
|
||||||
strings.add((String) o);
|
strings.add((String) o);
|
||||||
}
|
}
|
||||||
|
if(list.isEmpty()){
|
||||||
|
return courses;
|
||||||
|
}
|
||||||
QueryBuilder builder = QueryBuilder.from(Course.class);
|
QueryBuilder builder = QueryBuilder.from(Course.class);
|
||||||
builder.addFilter(FieldFilters.eq("deleted",false));
|
builder.addFilter(FieldFilters.eq("deleted",false));
|
||||||
builder.addFilter(FieldFilters.eq("enabled",true));
|
builder.addFilter(FieldFilters.eq("enabled",true));
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.xboe.school.api;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
@@ -125,34 +126,78 @@ public class PortalIndexApi extends ApiBaseController{
|
|||||||
*推荐课程
|
*推荐课程
|
||||||
* */
|
* */
|
||||||
@PostMapping("/courselist")
|
@PostMapping("/courselist")
|
||||||
public JsonResponse<PageList<Course>> courseList(Pagination pager, CourseQueryDto dto){
|
public JsonResponse<List<Course>> courseList(Pagination pager, CourseQueryDto dto){
|
||||||
|
String aid = this.getCurrent().getAccountId();
|
||||||
dto.setPublish(true);
|
dto.setPublish(true);
|
||||||
dto.setYearFilter(true);
|
dto.setYearFilter(true);
|
||||||
PageList<Course> coursePageList = courseService.findSimplePage(pager.getPageIndex(), pager.getPageSize(),dto);
|
dto.setAid(aid);
|
||||||
|
List<Course> coursePageList = courseService.findSimpleList( pager.getPageSize(),dto);
|
||||||
|
|
||||||
String aid = this.getCurrent().getAccountId();
|
|
||||||
List<Course> courses = courseService.userHobbyList(aid,dto.getOrderField(),dto.getOrderAsc());
|
|
||||||
|
|
||||||
//计算下标,
|
// List<Course> courses = courseService.userHobbyList(aid,dto.getOrderField(),dto.getOrderAsc());
|
||||||
int i=0;
|
//
|
||||||
if(!courses.isEmpty()){
|
// PageList<Course> pageList = new PageList<>();
|
||||||
for (Course c:courses) {
|
// pageList.setList(new ArrayList<Course>());
|
||||||
coursePageList.getList().add(i,c);
|
// pageList.setPageSize(6);
|
||||||
i++;
|
// pageList.setCount(coursePageList.getCount());
|
||||||
}
|
//
|
||||||
}
|
// int i=0;
|
||||||
|
// if(!courses.isEmpty()){
|
||||||
|
// for (Course c:courses) {
|
||||||
|
// pageList.getList().add(i,c);
|
||||||
|
// i++;
|
||||||
|
//// coursePageList.getList().remove(coursePageList.getList().size()-i);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//// if(!courses.isEmpty()){
|
||||||
|
//// for (Course c:courses) {
|
||||||
|
//// for (Course c1:coursePageList.getList()) {
|
||||||
|
//// if(c.getId().equals(c1.getId())){
|
||||||
|
//// coursePageList.getList().remove(c1);
|
||||||
|
//// }
|
||||||
|
//// }
|
||||||
|
//// }
|
||||||
|
//// }
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// //并添加
|
||||||
|
//
|
||||||
|
// for (Course c:coursePageList.getList()) {
|
||||||
|
// if(pageList.getList().size()<6){
|
||||||
|
// pageList.getList().add(c);
|
||||||
|
// }
|
||||||
|
// if(pageList.getList().size()>=6){
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// //去重,
|
||||||
|
// List<Course> collect = pageList.getList().stream().distinct().collect(Collectors.toList());
|
||||||
|
// if(collect.size()<pageList.getList().size()){
|
||||||
|
// for (Course c:collect) {
|
||||||
|
// for (Course c1:coursePageList.getList()) {
|
||||||
|
// if(!c.getId().equals(c1.getId())){
|
||||||
|
// collect.add(c1);
|
||||||
|
// }
|
||||||
|
// if(collect.size()>=6){
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
//提取教师信息
|
//提取教师信息
|
||||||
List<String> ids=new ArrayList<String>();
|
List<String> ids=new ArrayList<String>();
|
||||||
|
|
||||||
|
|
||||||
for(Course c :coursePageList.getList()) {
|
for(Course c :coursePageList) {
|
||||||
ids.add(c.getId());
|
ids.add(c.getId());
|
||||||
}
|
}
|
||||||
List<CourseTeacher> teachers = courseService.findTeachersByCourseIds(ids);
|
List<CourseTeacher> teachers = courseService.findTeachersByCourseIds(ids);
|
||||||
//注意对于多个教师的情况,这里只是设置第一个教师
|
//注意对于多个教师的情况,这里只是设置第一个教师
|
||||||
for(Course c :coursePageList.getList()) {
|
for(Course c :coursePageList) {
|
||||||
for(CourseTeacher ct : teachers) {
|
for(CourseTeacher ct : teachers) {
|
||||||
if(ct.getCourseId().equals(c.getId())) {
|
if(ct.getCourseId().equals(c.getId())) {
|
||||||
c.setSysCreateAid(ct.getTeacherId());
|
c.setSysCreateAid(ct.getTeacherId());
|
||||||
|
|||||||
Reference in New Issue
Block a user