移动端课程和消息接口

This commit is contained in:
86182
2022-11-09 19:35:09 +08:00
parent ac70722885
commit 62851a321e
7 changed files with 88 additions and 3 deletions

View File

@@ -383,4 +383,32 @@ public class CoursePortalApi extends ApiBaseController{
return success(map);
}
/**
* 移动端二期新增 详情页的推荐课程列表
* */
@PostMapping("/mobile-list")
public JsonResponse<List<Course>> mobileList(Integer num,CourseQueryDto courseQueryDto){
if(num==null){
num=6;
}
List<Course> courses = courseService.mobiledelList(num, courseQueryDto);
//提取教师信息
List<String> ids=new ArrayList<String>();
for(Course c :courses) {
ids.add(c.getId());
}
List<CourseTeacher> teachers = courseService.findTeachersByCourseIds(ids);
//注意对于多个教师的情况,这里只是设置第一个教师
for(Course c :courses) {
for(CourseTeacher ct : teachers) {
if(ct.getCourseId().equals(c.getId())) {
c.setTeacherId(ct.getTeacherId());
c.setTeacher(ct.getTeacherName());
}
}
}
return success(courses);
}
}

View File

@@ -80,7 +80,7 @@ public class Course extends BaseEntity {
this.setStudys(studys);
this.setShares(shares);
this.setPraises(praises);
this.setFavorites(praises);
this.setFavorites(favorites);
this.forUsers=forUsers;
this.value=value;
this.summary=summary;

View File

@@ -314,4 +314,10 @@ public interface ICourseService {
List<Course> userHobbyList(String aid,String orderField,Boolean orderAsc);
/**
* 移动端详情页 推荐课程,同内容分类的
* */
List<Course> mobiledelList(Integer num,CourseQueryDto courseQueryDto);
}

View File

@@ -1115,6 +1115,30 @@ public class CourseServiceImpl implements ICourseService {
}
@Override
public List<Course> mobiledelList(Integer num, CourseQueryDto courseQueryDto) {
QueryBuilder builder = QueryBuilder.from(Course.class);
builder.setPageSize(num);
builder.addFilter(FieldFilters.eq("deleted",false));
builder.addFilter(FieldFilters.eq("enabled",true));
builder.addFilter(FieldFilters.eq("status",Course.STATUS_AUDIT_FINISH));
builder.addFilter(FieldFilters.eq("published", true));
if(courseQueryDto!=null){
if(StringUtil.isNotBlank(courseQueryDto.getSysType1())){
builder.addFilter(FieldFilters.eq("sysType1",courseQueryDto.getSysType1()));
}
if(StringUtil.isNotBlank(courseQueryDto.getSysType2())){
builder.addFilter(FieldFilters.eq("sysType2",courseQueryDto.getSysType2()));
}
if(StringUtil.isNotBlank(courseQueryDto.getSysType3())){
builder.addFilter(FieldFilters.eq("sysType3",courseQueryDto.getSysType3()));
}
}
builder.addFields("new Course(id,type,name,coverImg,score,studys,comments,shares,praises,favorites,forUsers,value,summary,publishTime,isTop,sysType1,sysType2,sysType3)");
List<Course> list = courseDao.findList(builder.builder());
return list;
}
@Override
public int countWaitAudit(String aid) {
//查询待审核的课程

View File

@@ -126,7 +126,7 @@ public class MessageApi extends ApiBaseController {
/**
* 移动端
* 消息页面,按用户分组返回
* 消息页面,按用户分组返回 暂时不用
*
* */
@GetMapping("/mess-group")
@@ -141,7 +141,7 @@ public class MessageApi extends ApiBaseController {
/**
* 移动端
* 按用户删除消息
* 按用户删除消息 暂时不用
* */
@GetMapping("/remove")
public JsonResponse<Boolean> remove(String aid){
@@ -156,6 +156,19 @@ public class MessageApi extends ApiBaseController {
}
}
/**
* 用户消息 查最新的一条
* */
@GetMapping
public JsonResponse<List<Message>> userMess(){
String aid = this.getCurrent().getAccountId();
if(StringUtil.isBlank(aid)){
return badRequest("参数异常");
}
List<Message> messages = service.userMess(aid);
return success(messages);
}
}

View File

@@ -50,5 +50,9 @@ public interface IMessageService {
* */
void remove(String aid);
/**
* 查询最新的一条消息,每个用户
* */
List<Message> userMess(String aid);
}

View File

@@ -98,4 +98,14 @@ public class MessageServiceImpl implements IMessageService {
public void remove(String aid) {
dao.deleteByFilter(FieldFilters.eq("acceptId",aid));
}
@Override
public List<Message> userMess(String aid) {
QueryBuilder builder = QueryBuilder.from(Message.class);
builder.addFilter(FieldFilters.eq("acceptId",aid));
builder.addGroupBy("acceptId");
builder.addOrder(OrderCondition.desc("msgTime"));
List<Message> list = dao.findList(builder.builder());
return list;
}
}