mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-07 09:56:47 +08:00
个人主页,我的关注主页,课程学习的二次查询
This commit is contained in:
@@ -6,7 +6,9 @@ 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 org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -530,14 +532,54 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
}
|
||||
|
||||
/**
|
||||
* 二次查询
|
||||
* 个人/他人主页二次查询
|
||||
* */
|
||||
@PostMapping("/ids")
|
||||
public JsonResponse<List<StudyCouseDto>> ids(@RequestBody List<String> ids){
|
||||
if(ids.isEmpty()){
|
||||
public JsonResponse<List<StudyCourse>> ids(@RequestBody StudyCourseQuery studyCourseQuery){
|
||||
if(studyCourseQuery!=null && studyCourseQuery.getIds().isEmpty()){
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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.PageList;
|
||||
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;
|
||||
@@ -59,13 +60,18 @@ public interface IStudyCourseService {
|
||||
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<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.school.study.dao.*;
|
||||
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;
|
||||
@@ -261,25 +262,29 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StudyCouseDto> ids(List<String> ids) {
|
||||
List<StudyCouseDto> studyCouseDtos = new ArrayList<>();
|
||||
QueryBuilder builder = QueryBuilder.from(StudyCourse.class);
|
||||
builder.addFilter(FieldFilters.in("courseId",ids));
|
||||
builder.addFields("courseId","progress","lastTime");
|
||||
try {
|
||||
List<Object[]> listFields = studyCourseDao.findListFields(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);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
public List<StudyCourse> ids(StudyCourseQuery studyCourseQuery) {
|
||||
// List<StudyCouseDto> studyCouseDtos = new ArrayList<>();
|
||||
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.eq("sc.aid",studyCourseQuery.getAid()));
|
||||
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 studyCouseDtos;
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -288,6 +293,20 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
|
||||
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
|
||||
public StudyCourse has(String courseId, String 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