04cdbeb5 by chentao

Merge branch 'master' of http://g.jimilicai.com:8000/legobackend/lego-manage

# Conflicts:
#	lego-admin/src/main/resources/application.yml
2 parents 16084be5 5cdd472b
......@@ -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,7 +138,12 @@ security:
- /actuator/**
- /core/advert/list
- /core/buildingBlock/list
- /core/buildingBlock/listPage
- /core/buildingBlock/getById/**
- /core/course/listPage
- /core/course/**
- /core/getById/**
- /core/entirety/listPage
- /core/entirety/list
- /core/question/listPage
- /core/upgrade/listPage
......
......@@ -40,6 +40,11 @@ public class BuildingBlockVo {
private String ossId;
/**
* 图片URL
*/
private String ossUrl;
/**
* 前端APP数据国际化(zh_CN、en_US、ru_RU)
*/
private String language;
......
......@@ -49,6 +49,11 @@ public class CourseVo {
private String twoDimensionalUrl;
/**
* 2D oss URL
*/
private String twoDimensionalOssUrl;
/**
* 2D oss_id
*/
private String twoDimensionalOssId;
......@@ -69,6 +74,11 @@ public class CourseVo {
private String threeDimensionalOssId;
/**
* 3D oss_URL
*/
private String threeDimensionalOssUrl;
/**
* 案例OSS_id
*/
private String caseOssId;
......
......@@ -2,6 +2,8 @@ package com.lego.core.domin.vo;
import lombok.Data;
import java.util.List;
/**
* 套件视图对象 core_entirety
*
......@@ -40,7 +42,17 @@ public class EntiretyVo {
private String ossId;
/**
* 文件URL
*/
private String ossUrl;
/**
* 前端APP数据国际化(zh_CN、en_US、ru_RU)
*/
private String language;
/**
* 系列信息
*/
List<BuildingBlockVo> BuildingblockList;
}
......
......@@ -30,11 +30,21 @@ public class QuestionVo {
private String coverOssId;
/**
* 封面URl
*/
private String coverOssUrl;
/**
* 视频 ossId
*/
private String videoOssId;
/**
* 视频URL
*/
private String videoOssUrl;
/**
* Android展示状态 0 不展示 1展示
*/
private String showAndroid;
......
......@@ -28,6 +28,11 @@ public class UpgradeVo {
private String fileOssId;
/**
* 文件地址
*/
private String ossUrl;
/**
* 升级包类型 Android IOS windows
*/
private String platformType;
......
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);
/**
* 新增
......
......@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lego.common.core.page.TableDataInfo;
import com.lego.common.core.service.OssService;
import com.lego.common.utils.MessageUtils;
import com.lego.common.utils.StreamUtils;
import com.lego.core.annotation.LanguageAnnotation;
......@@ -37,6 +38,7 @@ import java.util.Set;
public class BuildingBlockServiceImpl implements IBuildingBlockService {
private final BuildingBlockMapper baseMapper;
private final IEntiretyService entiretyService;
private final OssService ossService;
/**
* 查询所有列表(带分页)
......@@ -49,18 +51,25 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
Page<BuildingBlockVo> page = baseMapper.selectVoPage(queryBo.build(), Wrappers.<BuildingBlock>lambdaQuery()
.eq(StrUtil.isNotBlank(queryBo.getSearchKey()), BuildingBlock::getName, queryBo.getSearchKey())
.eq(BuildingBlock::getLanguage, language));
List<BuildingBlockVo> list = page.getRecords();
setInfo(page.getRecords());
return TableDataInfo.build(page);
}
private void setInfo(List<BuildingBlockVo> list) {
if (ObjectUtil.isNotEmpty(list)) {
Set<String> ids = StreamUtils.toSet(list, BuildingBlockVo::getEntiretyId);
List<EntiretyVo> entiretyList = entiretyService.getListByIds(ids);
Map<String, EntiretyVo> entiretyMap = StreamUtils.toMap(entiretyList, EntiretyVo::getId, v -> v);
for (BuildingBlockVo vo : list) {
vo.setEntiretyName(entiretyMap.getOrDefault(vo.getEntiretyId(), new EntiretyVo()).getName());
if (StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossService.selectUrlByIds(vo.getOssId()));
}
}
}
return TableDataInfo.build(page);
}
/**
* 不带分页查询
*
......@@ -68,7 +77,23 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
*/
@Override
public List<BuildingBlockVo> list(String language) {
return baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language));
List<BuildingBlockVo> list = baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language));
setInfo(list);
return list;
}
/**
* (根据套件ID)不带分页查询
*
* @param language
* @param entiretyIds
* @return
*/
@Override
public List<BuildingBlockVo> list(String language, Collection<String> entiretyIds) {
List<BuildingBlockVo> list = baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language).in(BuildingBlock::getEntiretyId, entiretyIds));
setInfo(list);
return list;
}
/**
......@@ -120,7 +145,14 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
*/
@Override
public List<BuildingBlockVo> getListByIds(Collection<String> ids) {
return baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().in(BuildingBlock::getId, ids));
List<BuildingBlockVo> list = baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().in(BuildingBlock::getId, ids));
setInfo(list);
return list;
}
@Override
public BuildingBlockVo get(String id) {
return baseMapper.selectVoById(id);
}
......
......@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lego.common.core.page.TableDataInfo;
import com.lego.common.core.service.OssService;
import com.lego.common.utils.MessageUtils;
import com.lego.common.utils.StreamUtils;
import com.lego.core.annotation.LanguageAnnotation;
......@@ -39,6 +40,7 @@ public class CourseServiceImpl implements ICourseService {
private final CourseMapper baseMapper;
private final IBuildingBlockService buildingBlockService;
private final ISysOssService ossService;
private final OssService ossUrlService;
/**
* 查询所有列表
......@@ -47,10 +49,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);
......@@ -58,12 +60,47 @@ public class CourseServiceImpl implements ICourseService {
Map<String, BuildingBlockVo> blockMap = StreamUtils.toMap(blockList, BuildingBlockVo::getId, v -> v);
for (CourseVo vo : list) {
vo.setBuildingBlockName(blockMap.getOrDefault(vo.getBuildingBlockId(), new BuildingBlockVo()).getName());
if(StrUtil.isNotBlank(vo.getTwoDimensionalOssId())){
vo.setTwoDimensionalOssUrl(ossUrlService.selectUrlByIds(vo.getTwoDimensionalOssId()));
}
if(StrUtil.isNotBlank(vo.getThreeDimensionalOssId())){
vo.setThreeDimensionalOssUrl(ossUrlService.selectUrlByIds(vo.getThreeDimensionalOssId()));
}
}
}
return TableDataInfo.build(page);
}
/**
*
* @param buildingBlockId
* @return
*/
@Override
public List<CourseVo> list(String buildingBlockId) {
List<CourseVo> list = baseMapper.selectVoList(Wrappers.<Course>lambdaQuery().eq(Course::getBuildingBlockId, buildingBlockId));
for (CourseVo vo : list) {
if(StrUtil.isNotBlank(vo.getTwoDimensionalOssId())){
vo.setTwoDimensionalOssUrl(ossUrlService.selectUrlByIds(vo.getTwoDimensionalOssId()));
}
if(StrUtil.isNotBlank(vo.getThreeDimensionalOssId())){
vo.setThreeDimensionalOssUrl(ossUrlService.selectUrlByIds(vo.getThreeDimensionalOssId()));
}
}
return list;
}
/**
* 课程详情
* @param id
* @return
*/
@Override
public CourseVo getById(String id) {
return baseMapper.selectVoById(id);
}
/**
* 新增
*
* @param courseBo
......@@ -96,6 +133,7 @@ public class CourseServiceImpl implements ICourseService {
/**
* 从上传文件中获取案例名称
*
* @param course
*/
private void setCaseName(Course course) {
......
......@@ -6,19 +6,22 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.core.service.OssService;
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 +33,8 @@ import java.util.List;
@Service
public class EntiretyServiceImpl implements IEntiretyService {
private final EntiretyMapper baseMapper;
private final OssService ossService;
private final IBuildingBlockService buildingBlockService;
/**
* 查询所有列表
......@@ -41,6 +46,22 @@ 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);
for(BuildingBlockVo vo : BuildingBlockList){
if(StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossService.selectUrlByIds(vo.getOssId()));
}
}
Map<String,List<BuildingBlockVo>> buildingBlockMap = StreamUtils.groupByKey(BuildingBlockList,BuildingBlockVo::getEntiretyId);
for(EntiretyVo vo:list){
vo.setOssUrl(ossService.selectUrlByIds(vo.getOssId()));
vo.setBuildingblockList(buildingBlockMap.get(vo.getId()));
}
return TableDataInfo.build(page);
}
......@@ -51,7 +72,20 @@ public class EntiretyServiceImpl implements IEntiretyService {
*/
@Override
public List<EntiretyVo> list(String language) {
return baseMapper.selectVoList(Wrappers.<Entirety>lambdaQuery().eq(Entirety::getLanguage, language).orderByAsc(Entirety::getSort));
List<EntiretyVo> list = baseMapper.selectVoList(Wrappers.<Entirety>lambdaQuery().eq(Entirety::getLanguage, language).orderByAsc(Entirety::getSort));
for(EntiretyVo vo:list){
if(StrUtil.isNotBlank(vo.getOssId())){
vo.setOssUrl(ossService.selectUrlByIds(vo.getOssId()));
}
List<BuildingBlockVo> buildingBlockVoList = vo.getBuildingblockList();
for(BuildingBlockVo blockVo:buildingBlockVoList){
if(StrUtil.isNotBlank(blockVo.getOssId())){
blockVo.setOssUrl(ossService.selectUrlByIds(blockVo.getOssId()));
}
}
}
return list;
}
/**
......
......@@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lego.common.core.page.TableDataInfo;
import com.lego.common.core.service.OssService;
import com.lego.common.utils.MessageUtils;
import com.lego.core.annotation.LanguageAnnotation;
import com.lego.core.domin.Question;
......@@ -30,6 +31,7 @@ import java.util.List;
@Service
public class QuestionServiceImpl implements IQuestionService {
private final QuestionMapper baseMapper;
private final OssService ossService;
/**
* 查询列表
......@@ -58,6 +60,12 @@ public class QuestionServiceImpl implements IQuestionService {
if (StrUtil.isNotBlank(sb.toString())) {
vo.setShowStr(sb.substring(0, sb.length() - 1));
}
if(StrUtil.isNotBlank(vo.getCoverOssId())){
vo.setCoverOssUrl(ossService.selectUrlByIds(vo.getCoverOssId()));
}
if(StrUtil.isNotBlank(vo.getVideoOssId())){
vo.setVideoOssUrl(ossService.selectUrlByIds(vo.getVideoOssUrl()));
}
}
return TableDataInfo.build(page);
}
......
......@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lego.common.core.page.TableDataInfo;
import com.lego.common.core.service.OssService;
import com.lego.common.utils.DateUtils;
import com.lego.common.utils.MessageUtils;
import com.lego.core.annotation.LanguageAnnotation;
......@@ -20,6 +21,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.rmi.ServerException;
import java.util.List;
/**
* APP升级Service业务层处理
......@@ -31,6 +33,7 @@ import java.rmi.ServerException;
@Service
public class UpgradeServiceImpl implements IUpgradeService {
private final UpgradeMapper baseMapper;
private final OssService ossService;
/**
* 查询列表
......@@ -45,6 +48,12 @@ public class UpgradeServiceImpl implements IUpgradeService {
.eq(StrUtil.isNotBlank(query.getFileType()), Upgrade::getFileType, query.getFileType())
.eq(StrUtil.isNotBlank(query.getPlatformType()), Upgrade::getPlatformType, query.getPlatformType())
.eq(Upgrade::getLanguage, language));
List<UpgradeVo> list = page.getRecords();
for (UpgradeVo vo : list) {
if (StrUtil.isNotBlank(vo.getFileOssId())) {
vo.setOssUrl(ossService.selectUrlByIds(vo.getFileOssId()));
}
}
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!