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:
@@ -6,7 +6,9 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.xboe.common.utils.StringUtil;
|
||||||
import com.xboe.school.study.dto.StudyCourseNameDto;
|
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.dto.StudyCouseDto;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -530,14 +532,54 @@ public class StudyCourseApi extends ApiBaseController{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二次查询
|
* 个人/他人主页二次查询
|
||||||
* */
|
* */
|
||||||
@PostMapping("/ids")
|
@PostMapping("/ids")
|
||||||
public JsonResponse<List<StudyCouseDto>> ids(@RequestBody List<String> ids){
|
public JsonResponse<List<StudyCourse>> ids(@RequestBody StudyCourseQuery studyCourseQuery){
|
||||||
if(ids.isEmpty()){
|
if(studyCourseQuery!=null && studyCourseQuery.getIds().isEmpty()){
|
||||||
return badRequest("参数异常");
|
return badRequest("参数异常");
|
||||||
}
|
}
|
||||||
List<StudyCouseDto> studyCouseDtos = service.ids(ids);
|
if(studyCourseQuery!=null && StringUtil.isBlank(studyCourseQuery.getAid())){
|
||||||
|
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()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return success(studyCouseDtos);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 我的关注 二次查询
|
||||||
|
* */
|
||||||
|
@PostMapping("/follow-ids")
|
||||||
|
public JsonResponse<List<StudyCourse>> followIds(@RequestBody StudyCourseQuery studyCourseQuery){
|
||||||
|
if(studyCourseQuery!=null && studyCourseQuery.getIds().isEmpty()){
|
||||||
|
return badRequest("参数异常");
|
||||||
|
}
|
||||||
|
if(studyCourseQuery!=null && studyCourseQuery.getAids().isEmpty()){
|
||||||
|
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()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return success(studyCouseDtos);
|
return success(studyCouseDtos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.xboe.school.study.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class StudyCourseQuery {
|
||||||
|
|
||||||
|
private List<String> ids;
|
||||||
|
|
||||||
|
private String aid;
|
||||||
|
|
||||||
|
private List<String> aids;
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ package com.xboe.school.study.service;
|
|||||||
import com.xboe.common.OrderCondition;
|
import com.xboe.common.OrderCondition;
|
||||||
import com.xboe.common.PageList;
|
import com.xboe.common.PageList;
|
||||||
import com.xboe.school.study.dto.StudyCourseNameDto;
|
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.dto.StudyCouseDto;
|
||||||
import com.xboe.school.study.entity.StudyCourse;
|
import com.xboe.school.study.entity.StudyCourse;
|
||||||
import com.xboe.school.study.entity.StudyCourseItem;
|
import com.xboe.school.study.entity.StudyCourseItem;
|
||||||
@@ -59,13 +60,18 @@ public interface IStudyCourseService {
|
|||||||
void deleteSignUp(String id,String courseId,String aid);
|
void deleteSignUp(String id,String courseId,String aid);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 二次查询
|
* 二次查询 个人/他人
|
||||||
* */
|
* */
|
||||||
List<StudyCouseDto> ids(List<String> ids);
|
List<StudyCourse> ids(StudyCourseQuery studyCourseQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询课程内容学习记录
|
* 查询课程内容学习记录
|
||||||
* */
|
* */
|
||||||
List<StudyCourseItem> findStudyItem(String studyId, String aid);
|
List<StudyCourseItem> findStudyItem(String studyId, String aid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二次查询 我的关注
|
||||||
|
* */
|
||||||
|
List<StudyCourse> followids(StudyCourseQuery studyCourseQuery);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.xboe.module.course.dao.CourseDao;
|
|||||||
import com.xboe.module.course.entity.Course;
|
import com.xboe.module.course.entity.Course;
|
||||||
import com.xboe.school.study.dao.*;
|
import com.xboe.school.study.dao.*;
|
||||||
import com.xboe.school.study.dto.StudyCourseNameDto;
|
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.dto.StudyCouseDto;
|
||||||
import com.xboe.school.study.entity.StudyCourse;
|
import com.xboe.school.study.entity.StudyCourse;
|
||||||
import com.xboe.school.study.entity.StudyCourseItem;
|
import com.xboe.school.study.entity.StudyCourseItem;
|
||||||
@@ -261,25 +262,29 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<StudyCouseDto> ids(List<String> ids) {
|
public List<StudyCourse> ids(StudyCourseQuery studyCourseQuery) {
|
||||||
List<StudyCouseDto> studyCouseDtos = new ArrayList<>();
|
// List<StudyCouseDto> studyCouseDtos = new ArrayList<>();
|
||||||
QueryBuilder builder = QueryBuilder.from(StudyCourse.class);
|
QueryBuilder builder = QueryBuilder.from(StudyCourse.class.getSimpleName()+" sc,"+ Course.class.getSimpleName()+" c");
|
||||||
builder.addFilter(FieldFilters.in("courseId",ids));
|
builder.addFilter(FieldFilters.eqField("sc.courseId","c.id"));
|
||||||
builder.addFields("courseId","progress","lastTime");
|
builder.addFilter(FieldFilters.eq("c.enabled",true));
|
||||||
try {
|
builder.addFilter(FieldFilters.eq("c.deleted",false));
|
||||||
List<Object[]> listFields = studyCourseDao.findListFields(builder.builder());
|
builder.addFilter(FieldFilters.eq("sc.aid",studyCourseQuery.getAid()));
|
||||||
for (Object[] o:listFields) {
|
builder.addFilter(FieldFilters.in("sc.courseId",studyCourseQuery.getIds()));
|
||||||
StudyCouseDto studyCouseDto = new StudyCouseDto();
|
builder.addOrder(OrderCondition.desc("sc.lastTime"));
|
||||||
studyCouseDto.setCourseId((String) o[0]);
|
builder.addFields("sc");
|
||||||
studyCouseDto.setProgress((Float) o[1]);
|
// try {
|
||||||
studyCouseDto.setLastTime((LocalDateTime) o[2]);
|
//// List<Object[]> listFields = studyCourseDao.(builder.builder());
|
||||||
studyCouseDtos.add(studyCouseDto);
|
//// for (Object[] o:listFields) {
|
||||||
}
|
//// StudyCouseDto studyCouseDto = new StudyCouseDto();
|
||||||
} catch (Exception e) {
|
//// studyCouseDto.setCourseId((String) o[0]);
|
||||||
e.printStackTrace();
|
//// studyCouseDto.setProgress((Float) o[1]);
|
||||||
}
|
//// studyCouseDto.setLastTime((LocalDateTime) o[2]);
|
||||||
|
//// studyCouseDtos.add(studyCouseDto);
|
||||||
|
//// }
|
||||||
|
List<StudyCourse> list = studyCourseDao.findList(builder.builder());
|
||||||
|
|
||||||
return studyCouseDtos;
|
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -288,6 +293,20 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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));
|
||||||
|
builder.addFilter(FieldFilters.eq("c.deleted",false));
|
||||||
|
builder.addFilter(FieldFilters.in("sc.aid",studyCourseQuery.getAids()));
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StudyCourse has(String courseId, String aid) {
|
public StudyCourse has(String courseId, String aid) {
|
||||||
List<StudyCourse> list=studyCourseDao.findList(1,OrderCondition.desc("id"),FieldFilters.eq("courseId", courseId),FieldFilters.eq("aid", aid));
|
List<StudyCourse> list=studyCourseDao.findList(1,OrderCondition.desc("id"),FieldFilters.eq("courseId", courseId),FieldFilters.eq("aid", aid));
|
||||||
|
|||||||
Reference in New Issue
Block a user