根据ids查询课程及学习信息,增加属性

This commit is contained in:
daihh
2022-11-03 16:06:19 +08:00
parent cbea7697f5
commit 0bfb95f760
4 changed files with 54 additions and 16 deletions

View File

@@ -35,6 +35,7 @@ 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.dto.StudyCourseSimple;
import com.xboe.school.study.entity.StudyCourse;
import com.xboe.school.study.entity.StudyCourseItem;
import com.xboe.school.study.entity.StudySignup;
@@ -654,14 +655,14 @@ public class StudyCourseApi extends ApiBaseController{
* 我的关注 二次查询
* */
@PostMapping("/follow-ids")
public JsonResponse<List<StudyCourse>> followIds(@RequestBody StudyCourseQuery studyCourseQuery){
public JsonResponse<List<StudyCourseSimple>> 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<StudyCourseSimple> studyCouseDtos = service.followids(studyCourseQuery);
// List<String> ids=new ArrayList<String>();
// for(StudyCourse scourse:studyCouseDtos) {
// ids.add(scourse.getCourseId());

View File

@@ -0,0 +1,38 @@
package com.xboe.school.study.dto;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@Data
public class StudyCourseSimple {
private String id;
private String courseName;
private String courseId;
private String courseType;
private Integer source;
private String courseImage;
private Float progress;
private Float lastScore;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime addTime;
private String sysType1;
private String sysType2;
private String sysType3;
private String aid;
}

View File

@@ -1,18 +1,16 @@
package com.xboe.school.study.service;
import java.util.List;
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.dto.StudyCourseSimple;
import com.xboe.school.study.entity.StudyCourse;
import com.xboe.school.study.entity.StudyCourseItem;
import com.xboe.school.study.entity.StudySignup;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
public interface IStudyCourseService {
/**
@@ -81,7 +79,7 @@ public interface IStudyCourseService {
/**
* 二次查询 我的关注
* */
List<StudyCourse> followids(StudyCourseQuery studyCourseQuery);
List<StudyCourseSimple> followids(StudyCourseQuery studyCourseQuery);
/**
* 查询课程最新学习记录的进度

View File

@@ -1,15 +1,11 @@
package com.xboe.school.study.service.impl;
import java.math.BigInteger;
import java.sql.Timestamp;
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;
@@ -37,6 +33,7 @@ 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.StudyCourseSimple;
import com.xboe.school.study.entity.StudyCourse;
import com.xboe.school.study.entity.StudyCourseItem;
import com.xboe.school.study.entity.StudySignup;
@@ -418,18 +415,18 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
}
@Override
public List<StudyCourse> followids(StudyCourseQuery studyCourseQuery) {
public List<StudyCourseSimple> followids(StudyCourseQuery studyCourseQuery) {
//分两次查询,查询课程,查询学习记录
String courseHql="Select id,coverImg,score from "+Course.class.getSimpleName()+" where id in(?1)";
String courseHql="Select id,coverImg,score,name,sysType1,sysType2,sysType3 from "+Course.class.getSimpleName()+" where id in(?1)";
String studyHql="Select courseId,addTime,progress,aid from "+StudyCourse.class.getSimpleName()+" where aid in(?1) and courseId in(?2)";
List<StudyCourse> rs=new ArrayList<>();
List<StudyCourseSimple> rs=new ArrayList<>();
try {
List<Object[]> clist= studyCourseDao.findListFields(courseHql,studyCourseQuery.getIds());
List<Object[]> slist= studyCourseDao.findListFields(studyHql,studyCourseQuery.getAids(),studyCourseQuery.getIds());
//数据数量一般不会太多不超过20条所以直接使用嵌套循环
for(Object[] sobjs : slist) {
StudyCourse sc=new StudyCourse();
StudyCourseSimple sc=new StudyCourseSimple();
sc.setCourseId(ConvertUtil.toStr(sobjs[0]));
sc.setAddTime((LocalDateTime)sobjs[1]);
sc.setProgress(ConvertUtil.toFloat(sobjs[2]));
@@ -440,6 +437,10 @@ public class StudyCourseServiceImpl implements IStudyCourseService{
if(cid!=null && cid.equals(sc.getCourseId())) {
sc.setCourseImage(ConvertUtil.toStr(cobjs[1]));
sc.setLastScore(ConvertUtil.toFloat(cobjs[2]));//课程分数,使用此值来承载
sc.setCourseName(ConvertUtil.toStr(cobjs[3]));
sc.setSysType1(ConvertUtil.toStr(cobjs[4]));
sc.setSysType2(ConvertUtil.toStr(cobjs[5]));
sc.setSysType3(ConvertUtil.toStr(cobjs[6]));
break;
}
}