26f4f87e by 村长大人

增加APP相关接口

1 parent ed382813
......@@ -40,7 +40,18 @@ public class BuildingBlockController extends BaseController {
@PostMapping("listPage")
public TableDataInfo<BuildingBlockVo> listPage(@RequestBody BuildingBlockQueryBo query, HttpServletRequest request) {
String language = request.getHeader("content-language");
return service.listPage(query,language);
return service.listPage(query, language);
}
/**
* 根据ID查询详情
*
* @param id
* @return
*/
@GetMapping("/getById/{id}")
public R<BuildingBlockVo> getById(@RequestParam("id") String id) {
return R.ok(service.get(id));
}
/**
......
......@@ -40,7 +40,29 @@ public class CourseController extends BaseController {
@PostMapping("listPage")
public TableDataInfo<CourseVo> listPage(@RequestBody CourseQueryBo query, HttpServletRequest request) {
String language = request.getHeader("content-language");
return service.listPage(query,language);
return service.listPage(query, language);
}
/**
* 根据系列id查找的课程列表
*
* @param buildingBlockId
* @return
*/
@GetMapping("/list/{buildingBlockId}")
public R<List<CourseVo>> list(@RequestParam("buildingBlockId") String buildingBlockId) {
return R.ok(service.list(buildingBlockId));
}
/**
* 课程详情
*
* @param id
* @return
*/
@GetMapping("/getById/{id}")
public R<CourseVo> getById(@RequestParam("id") String id) {
return R.ok(service.getById(id));
}
/**
......
......@@ -138,10 +138,14 @@ security:
- /actuator/**
- /core/advert/list
- /core/buildingBlock/listPage
- /core/buildingBlock/getById/**
- /core/course/listPage
- /core/course/**
- /core/getById/**
- /core/entirety/listPage
- /core/question/listPage
- /core/upgrade/listPage
-
# MyBatisPlus配置
# https://baomidou.com/config/
......
......@@ -2,6 +2,8 @@ package com.lego.core.domin.vo;
import lombok.Data;
import java.util.List;
/**
* 套件视图对象 core_entirety
*
......@@ -43,4 +45,9 @@ public class EntiretyVo {
* 前端APP数据国际化(zh_CN、en_US、ru_RU)
*/
private String language;
/**
* 系列信息
*/
List<BuildingBlockVo> BuildingblockList;
}
......
package com.lego.core.service;
import com.lego.common.core.domain.PageQuery;
import com.lego.common.core.page.TableDataInfo;
import com.lego.core.domin.BuildingBlock;
import com.lego.core.domin.bo.AdvertBo;
import com.lego.core.domin.bo.BuildingBlockBo;
import com.lego.core.domin.bo.BuildingBlockQueryBo;
import com.lego.core.domin.bo.EntiretyBo;
import com.lego.core.domin.vo.AdvertVo;
import com.lego.core.domin.vo.BuildingBlockVo;
import com.lego.core.domin.vo.EntiretyVo;
import java.rmi.ServerException;
import java.util.Collection;
......@@ -29,7 +23,7 @@ public interface IBuildingBlockService {
* @param queryBo
* @return
*/
TableDataInfo<BuildingBlockVo> listPage(BuildingBlockQueryBo queryBo,String language);
TableDataInfo<BuildingBlockVo> listPage(BuildingBlockQueryBo queryBo, String language);
/**
* 不带分页查询
......@@ -39,6 +33,13 @@ public interface IBuildingBlockService {
List<BuildingBlockVo> list(String language);
/**
* (根据套件ID)不带分页查询
*
* @return
*/
List<BuildingBlockVo> list(String language, Collection<String> entiretyIds);
/**
* 新增
*
* @param blockBo
......@@ -66,9 +67,19 @@ public interface IBuildingBlockService {
/**
* 根据ID集合获取积木
*
* @param ids
* @return
* @throws ServerException
*/
List<BuildingBlockVo> getListByIds(Collection<String> ids);
/**
* 根据ID获取详情
*
* @param id
* @return
*/
BuildingBlockVo get(String id);
}
......
......@@ -6,6 +6,7 @@ import com.lego.core.domin.bo.CourseQueryBo;
import com.lego.core.domin.vo.CourseVo;
import java.rmi.ServerException;
import java.util.List;
/**
* 课程Service接口
......@@ -20,7 +21,23 @@ public interface ICourseService {
* @param query
* @return
*/
TableDataInfo<CourseVo> listPage(CourseQueryBo query,String language);
TableDataInfo<CourseVo> listPage(CourseQueryBo query, String language);
/**
* 根据系列id查找的课程列表
*
* @param buildingBlockId
* @return
*/
List<CourseVo> list(String buildingBlockId);
/**
* 课程详情
*
* @param id
* @return
*/
CourseVo getById(String id);
/**
* 新增
......
......@@ -72,6 +72,17 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
}
/**
* (根据套件ID)不带分页查询
* @param language
* @param entiretyIds
* @return
*/
@Override
public List<BuildingBlockVo> list(String language, Collection<String> entiretyIds) {
return baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language).in(BuildingBlock::getEntiretyId,entiretyIds));
}
/**
* 新增
*
* @param blockBo
......@@ -123,6 +134,11 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
return baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().in(BuildingBlock::getId, ids));
}
@Override
public BuildingBlockVo get(String id) {
return baseMapper.selectVoById(id);
}
/**
* 校验数据是否存在
......
......@@ -47,10 +47,10 @@ public class CourseServiceImpl implements ICourseService {
* @return
*/
@Override
public TableDataInfo<CourseVo> listPage(CourseQueryBo query,String language) {
public TableDataInfo<CourseVo> listPage(CourseQueryBo query, String language) {
Page<CourseVo> page = baseMapper.selectVoPage(query.build(),
Wrappers.<Course>lambdaQuery().eq(StrUtil.isNotBlank(query.getSearchKey()), Course::getName, query.getSearchKey())
.eq(Course::getLanguage,language));
.eq(Course::getLanguage, language));
List<CourseVo> list = page.getRecords();
if (ObjectUtil.isNotEmpty(list)) {
Set<String> ids = StreamUtils.toSet(list, CourseVo::getBuildingBlockId);
......@@ -64,6 +64,26 @@ public class CourseServiceImpl implements ICourseService {
}
/**
*
* @param buildingBlockId
* @return
*/
@Override
public List<CourseVo> list(String buildingBlockId) {
return baseMapper.selectVoList(Wrappers.<Course>lambdaQuery().eq(Course::getBuildingBlockId, buildingBlockId));
}
/**
* 课程详情
* @param id
* @return
*/
@Override
public CourseVo getById(String id) {
return baseMapper.selectVoById(id);
}
/**
* 新增
*
* @param courseBo
......@@ -96,6 +116,7 @@ public class CourseServiceImpl implements ICourseService {
/**
* 从上传文件中获取案例名称
*
* @param course
*/
private void setCaseName(Course course) {
......
......@@ -7,18 +7,20 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lego.common.core.domain.PageQuery;
import com.lego.common.core.page.TableDataInfo;
import com.lego.common.utils.MessageUtils;
import com.lego.common.utils.StreamUtils;
import com.lego.core.annotation.LanguageAnnotation;
import com.lego.core.domin.Entirety;
import com.lego.core.domin.bo.EntiretyBo;
import com.lego.core.domin.vo.BuildingBlockVo;
import com.lego.core.domin.vo.EntiretyVo;
import com.lego.core.mapper.EntiretyMapper;
import com.lego.core.service.IBuildingBlockService;
import com.lego.core.service.IEntiretyService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.rmi.ServerException;
import java.util.Collection;
import java.util.List;
import java.util.*;
/**
* 套件Service业务层处理
......@@ -30,6 +32,7 @@ import java.util.List;
@Service
public class EntiretyServiceImpl implements IEntiretyService {
private final EntiretyMapper baseMapper;
private final IBuildingBlockService buildingBlockService;
/**
* 查询所有列表
......@@ -41,6 +44,16 @@ public class EntiretyServiceImpl implements IEntiretyService {
public TableDataInfo<EntiretyVo> listPage(PageQuery query, String language) {
Page<EntiretyVo> page = baseMapper.selectVoPage(query.build(), Wrappers.<Entirety>lambdaQuery()
.eq(Entirety::getLanguage, language).orderByAsc(Entirety::getSort));
/**
* 处理二级数据
*/
List<EntiretyVo> list = page.getRecords();
Set<String> BuildingBlockIdList = StreamUtils.toSet(list,EntiretyVo::getId);
List<BuildingBlockVo> BuildingBlockList = buildingBlockService.list(language, BuildingBlockIdList);
Map<String,List<BuildingBlockVo>> buildingBlockMap = StreamUtils.groupByKey(BuildingBlockList,BuildingBlockVo::getEntiretyId);
for(EntiretyVo vo:list){
vo.setBuildingblockList(buildingBlockMap.get(vo.getId()));
}
return TableDataInfo.build(page);
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!