b929f46f by chentao

调整层级关系

1 parent 691236a0
......@@ -28,11 +28,6 @@ public class BuildingBlock extends BaseEntity {
private String id;
/**
* 套件ID
*/
private String entiretyId;
/**
* 广告名称
*/
private String name;
......
......@@ -29,9 +29,9 @@ public class Course extends BaseEntity {
/**
* 系列ID
* 套件ID
*/
private String buildingBlockId;
private String entiretyId;
/**
* 课程名称
*/
......
......@@ -28,19 +28,19 @@ public class Entirety extends BaseEntity {
private String id;
/**
* 广告名称
* 系列ID
*/
private String name;
private String buildingBlockId;
/**
* 排序
* 套件名称
*/
private Long sort;
private String name;
/**
* 类型(0词语 1图标 )
* 排序
*/
private String type;
private Long sort;
/**
* 文件ID
......
......@@ -78,4 +78,9 @@ public class Question extends BaseEntity {
@TableLogic
private String delFlag;
/**
* 系列ID
*/
private String buildingBlockId;
}
\ No newline at end of file
......
......@@ -23,12 +23,6 @@ public class BuildingBlockBo extends BaseBO {
private String id;
/**
* 套件ID
*/
@NotBlank(message = "套件不能为空")
private String entiretyId;
/**
* 系列名称
*/
@NotBlank(message = "系列名称不能为空")
......
......@@ -25,8 +25,8 @@ public class CourseBo extends BaseBO {
/**
* 系列ID
*/
@NotBlank(message = "系列不能为空")
private String buildingBlockId;
@NotBlank(message = "套件不能为空")
private String entiretyId;
/**
* 课程名称
......
......@@ -23,6 +23,12 @@ public class EntiretyBo extends BaseBO {
private String id;
/**
* 系列ID
*/
@NotBlank(message = "系列不能为空")
private String buildingBlockId;
/**
* 套件名称
*/
@NotBlank(message = "套件名称不能为空")
......@@ -36,12 +42,6 @@ public class EntiretyBo extends BaseBO {
private Long sort;
/**
* 类型(0词语 1图标 )
*/
@NotBlank(message = "类别不能为空")
private String type;
/**
* 文件ID
*/
private String ossId;
......
......@@ -63,4 +63,9 @@ public class QuestionBo extends BaseBO {
* 排序
*/
private Long sort;
/**
* 系列ID
*/
private String buildingBlockId;
}
\ No newline at end of file
......
......@@ -2,6 +2,8 @@ package com.lego.core.domin.vo;
import lombok.Data;
import java.util.List;
/**
* 系列视图对象 core_building_block
*
......@@ -20,17 +22,7 @@ public class BuildingBlockVo {
private String id;
/**
* 套件ID
*/
private String entiretyId;
/**
* 套件名称
*/
private String entiretyName;
/**
* 广告名称
* 系列名称
*/
private String name;
......@@ -53,4 +45,10 @@ public class BuildingBlockVo {
* 排序
*/
private Long sort;
/**
* 套件信息
*/
List<EntiretyVo> entiretyList;
}
......
......@@ -22,14 +22,14 @@ public class CourseVo {
private String id;
/**
* 系列ID
* 套件ID
*/
private String buildingBlockId;
private String entiretyId;
/**
* 系列名称
* 套件名称
*/
private String buildingBlockName;
private String entiretyName;
/**
* 课程名称
......
......@@ -22,7 +22,17 @@ public class EntiretyVo {
private String id;
/**
* 广告名称
* 系列ID
*/
private String buildingBlockId;
/**
* 系列名称
*/
private String buildingBlockName;
/**
* 套件名称
*/
private String name;
......@@ -31,10 +41,6 @@ public class EntiretyVo {
*/
private Long sort;
/**
* 类型(0词语 1图标 )
*/
private String type;
/**
* 文件ID
......@@ -50,9 +56,4 @@ public class EntiretyVo {
* 前端APP数据国际化(zh_CN、en_US、ru_RU)
*/
private String language;
/**
* 系列信息
*/
List<BuildingBlockVo> BuildingblockList;
}
......
......@@ -78,4 +78,13 @@ public class QuestionVo {
* 前端APP数据国际化(zh_CN、en_US、ru_RU)
*/
private String language;
/**
* 系列ID
*/
private String buildingBlockId;
/**
* 系列名称
*/
private String buildingBlockName;
}
\ No newline at end of file
......
......@@ -40,13 +40,6 @@ public interface IBuildingBlockService {
List<BuildingBlockVo> list();
/**
* (根据套件ID)不带分页查询
*
* @return
*/
List<BuildingBlockVo> list(String language, Collection<String> entiretyIds);
/**
* 新增
*
* @param blockBo
......
......@@ -26,10 +26,10 @@ public interface ICourseService {
/**
* 根据系列id查找的课程列表
*
* @param buildingBlockId
* @param entiretyId
* @return
*/
List<CourseVo> list(String buildingBlockId);
List<CourseVo> list(String entiretyId);
/**
* 获取所有课程
......
......@@ -6,6 +6,7 @@ import com.lego.common.core.page.TableDataInfo;
import com.lego.core.domin.bo.AdvertBo;
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;
......@@ -74,4 +75,11 @@ public interface IEntiretyService {
* @throws ServerException
*/
List<EntiretyVo> getListByIds(Collection<String> ids);
/**
* (根据系列ID)不带分页查询
*
* @return
*/
List<EntiretyVo> list(String language, Collection<String> buildingBlockIds);
}
......
......@@ -9,15 +9,18 @@ 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.common.utils.spring.SpringUtils;
import com.lego.core.annotation.LanguageAnnotation;
import com.lego.core.domin.BuildingBlock;
import com.lego.core.domin.Course;
import com.lego.core.domin.Entirety;
import com.lego.core.domin.bo.BuildingBlockBo;
import com.lego.core.domin.bo.BuildingBlockQueryBo;
import com.lego.core.domin.vo.BuildingBlockVo;
import com.lego.core.domin.vo.EntiretyVo;
import com.lego.core.mapper.BuildingBlockMapper;
import com.lego.core.mapper.CourseMapper;
import com.lego.core.mapper.EntiretyMapper;
import com.lego.core.service.IBuildingBlockService;
import com.lego.core.service.IEntiretyService;
import com.lego.system.domain.vo.SysOssVo;
......@@ -28,10 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.rmi.ServerException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
/**
* 系列Service业务层处理
......@@ -43,10 +43,13 @@ import java.util.Set;
@Service
public class BuildingBlockServiceImpl implements IBuildingBlockService {
private final BuildingBlockMapper baseMapper;
private final IEntiretyService entiretyService;
private final CourseMapper courseMapper;
private final ISysOssService iSysOssService;
private final EntiretyMapper entiretyMapper;
private final OssService ossUrlService;
private final ISysOssService iSysOssService;
public IEntiretyService getEntiretyService() {
return SpringUtils.getBean(IEntiretyService.class);
}
/**
* 查询所有列表(带分页)
......@@ -58,26 +61,34 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
public TableDataInfo<BuildingBlockVo> listPage(BuildingBlockQueryBo queryBo, String language) {
Page<BuildingBlockVo> page = baseMapper.selectVoPage(queryBo.build(), Wrappers.<BuildingBlock>lambdaQuery()
.like(StrUtil.isNotBlank(queryBo.getSearchKey()), BuildingBlock::getName, queryBo.getSearchKey())
.eq(BuildingBlock::getLanguage, language).orderByAsc(BuildingBlock::getId));
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());
.eq(BuildingBlock::getLanguage, language).orderByAsc(BuildingBlock::getSort));
/**
* 处理二级数据
*/
List<BuildingBlockVo> list = page.getRecords();
Set<String> entiretyIdList = StreamUtils.toSet(list,BuildingBlockVo::getId);
List<EntiretyVo> entiretyList = getEntiretyService().list(language, entiretyIdList);
for(EntiretyVo vo : entiretyList){
if(Objects.nonNull(vo)) {
if (StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossUrlService.selectUrlByIds(vo.getOssId()));
}
}
}
Map<String,List<EntiretyVo>> entiretyMap = StreamUtils.groupByKey(entiretyList,EntiretyVo::getBuildingBlockId);
for(BuildingBlockVo vo:list){
if(StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossUrlService.selectUrlByIds(vo.getOssId()));
}
vo.setEntiretyList(entiretyMap.get(vo.getId()));
}
return TableDataInfo.build(page);
}
/**
* 不带分页查询
*
......@@ -85,7 +96,7 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
*/
@Override
public List<BuildingBlockVo> list(String language) {
List<BuildingBlockVo> list = baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language));
List<BuildingBlockVo> list = baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language).orderByAsc(BuildingBlock::getSort));
setInfo(list);
return list;
}
......@@ -102,31 +113,18 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
if (StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossUrlService.selectUrlByIds(vo.getOssId()));
}
List<EntiretyVo> entiretyVoList = entiretyMapper.selectVoList(Wrappers.<Entirety>lambdaQuery().eq(Entirety::getBuildingBlockId, vo.getId()));
for(EntiretyVo entiretyVo:entiretyVoList){
if(StrUtil.isNotBlank(entiretyVo.getOssId())){
entiretyVo.setOssUrl(ossUrlService.selectUrlByIds(entiretyVo.getOssId()));
}
}
vo.setEntiretyList(entiretyVoList);
}
return list;
}
/**
* (根据套件ID)不带分页查询
*
* @param language
* @param entiretyIds
* @return
*/
@Override
public List<BuildingBlockVo> list(String language, Collection<String> entiretyIds) {
List<BuildingBlockVo> list = Lists.newArrayList();
if(!CollectionUtils.isEmpty(entiretyIds)) {
list = baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language).in(BuildingBlock::getEntiretyId, entiretyIds));
}
else{
list = baseMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language));
}
setInfo(list);
return list;
}
/**
* 新增
*
* @param blockBo
......@@ -164,7 +162,7 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
@Override
public boolean remove(String id) throws ServerException {
checkExists(id);
checkCourseExists(id);
checkEntiretyExists(id);
return baseMapper.deleteById(id) > 0;
}
......@@ -205,9 +203,19 @@ public class BuildingBlockServiceImpl implements IBuildingBlockService {
* @param id
* @throws ServerException
*/
private void checkCourseExists(String id) throws ServerException {
if (courseMapper.exists(Wrappers.<Course>lambdaQuery().eq(Course::getBuildingBlockId, id))) {
private void checkEntiretyExists(String id) throws ServerException {
if (entiretyMapper.exists(Wrappers.<Entirety>lambdaQuery().eq(Entirety::getBuildingBlockId, id))) {
throw new ServerException(MessageUtils.message("core.data.exists"));
}
}
private void setInfo(List<BuildingBlockVo> list) {
if (ObjectUtil.isNotEmpty(list)) {
for (BuildingBlockVo vo : list) {
if (StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossUrlService.selectUrlByIds(vo.getOssId()));
}
}
}
}
}
......
......@@ -14,11 +14,11 @@ import com.lego.core.annotation.LanguageAnnotation;
import com.lego.core.domin.Course;
import com.lego.core.domin.bo.CourseBo;
import com.lego.core.domin.bo.CourseQueryBo;
import com.lego.core.domin.vo.BuildingBlockVo;
import com.lego.core.domin.vo.CourseVo;
import com.lego.core.domin.vo.EntiretyVo;
import com.lego.core.mapper.CourseMapper;
import com.lego.core.service.IBuildingBlockService;
import com.lego.core.service.ICourseService;
import com.lego.core.service.IEntiretyService;
import com.lego.system.domain.vo.SysOssVo;
import com.lego.system.service.ISysOssService;
import lombok.RequiredArgsConstructor;
......@@ -39,7 +39,7 @@ import java.util.Set;
@Service
public class CourseServiceImpl implements ICourseService {
private final CourseMapper baseMapper;
private final IBuildingBlockService buildingBlockService;
private final IEntiretyService entiretyService;
private final ISysOssService iSysOssService;
private final OssService ossUrlService;
......@@ -56,11 +56,11 @@ public class CourseServiceImpl implements ICourseService {
.eq(Course::getLanguage, language).orderByAsc(Course::getSort));
List<CourseVo> list = page.getRecords();
if (ObjectUtil.isNotEmpty(list)) {
Set<String> ids = StreamUtils.toSet(list, CourseVo::getBuildingBlockId);
List<BuildingBlockVo> blockList = buildingBlockService.getListByIds(ids);
Map<String, BuildingBlockVo> blockMap = StreamUtils.toMap(blockList, BuildingBlockVo::getId, v -> v);
Set<String> ids = StreamUtils.toSet(list, CourseVo::getEntiretyId);
List<EntiretyVo> entiretyList = entiretyService.getListByIds(ids);
Map<String, EntiretyVo> entiretyMap = StreamUtils.toMap(entiretyList, EntiretyVo::getId, v -> v);
for (CourseVo vo : list) {
vo.setBuildingBlockName(blockMap.getOrDefault(vo.getBuildingBlockId(), new BuildingBlockVo()).getName());
vo.setEntiretyName(entiretyMap.getOrDefault(vo.getEntiretyId(), new EntiretyVo()).getName());
if(StrUtil.isNotBlank(vo.getTwoDimensionalOssId())){
vo.setTwoDimensionalOssUrl(ossUrlService.selectUrlByIds(vo.getTwoDimensionalOssId()));
}
......@@ -83,12 +83,12 @@ public class CourseServiceImpl implements ICourseService {
/**
*
* @param buildingBlockId
* @param entiretyId
* @return
*/
@Override
public List<CourseVo> list(String buildingBlockId) {
List<CourseVo> list = baseMapper.selectVoList(Wrappers.<Course>lambdaQuery().eq(Course::getBuildingBlockId, buildingBlockId).orderByAsc(Course::getSort));
public List<CourseVo> list(String entiretyId) {
List<CourseVo> list = baseMapper.selectVoList(Wrappers.<Course>lambdaQuery().eq(Course::getEntiretyId, entiretyId).orderByAsc(Course::getSort));
for (CourseVo vo : list) {
if(StrUtil.isNotBlank(vo.getTwoDimensionalOssId())){
vo.setTwoDimensionalOssUrl(ossUrlService.selectUrlByIds(vo.getTwoDimensionalOssId()));
......
package com.lego.core.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -11,12 +12,12 @@ import com.lego.common.utils.MessageUtils;
import com.lego.common.utils.StreamUtils;
import com.lego.common.utils.spring.SpringUtils;
import com.lego.core.annotation.LanguageAnnotation;
import com.lego.core.domin.BuildingBlock;
import com.lego.core.domin.Course;
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.BuildingBlockMapper;
import com.lego.core.mapper.CourseMapper;
import com.lego.core.mapper.EntiretyMapper;
import com.lego.core.service.IBuildingBlockService;
import com.lego.core.service.IEntiretyService;
......@@ -24,10 +25,15 @@ import com.lego.system.domain.vo.SysOssVo;
import com.lego.system.service.ISysOssService;
import io.micrometer.core.instrument.util.StringUtils;
import lombok.RequiredArgsConstructor;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.rmi.ServerException;
import java.util.*;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 套件Service业务层处理
......@@ -39,9 +45,9 @@ import java.util.*;
@Service
public class EntiretyServiceImpl implements IEntiretyService {
private final EntiretyMapper baseMapper;
private final BuildingBlockMapper buildingBlockMapper;
private final ISysOssService iSysOssService;
private final OssService ossUrlService;
private final CourseMapper courseMapper;
public IBuildingBlockService getBuildingBlockService() {
return SpringUtils.getBean(IBuildingBlockService.class);
......@@ -59,28 +65,8 @@ public class EntiretyServiceImpl implements IEntiretyService {
language = "zh_CN";
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 = getBuildingBlockService().list(language, buildingBlockIdList);
for(BuildingBlockVo vo : buildingBlockList){
if(Objects.nonNull(vo)) {
if (StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossUrlService.selectUrlByIds(vo.getOssId()));
}
}
}
Map<String,List<BuildingBlockVo>> buildingBlockMap = StreamUtils.groupByKey(buildingBlockList,BuildingBlockVo::getEntiretyId);
for(EntiretyVo vo:list){
if(Objects.nonNull(vo)) {
if (StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossUrlService.selectUrlByIds(vo.getOssId()));
}
vo.setBuildingblockList(buildingBlockMap.get(vo.getId()));
}
}
setInfo(page.getRecords());
return TableDataInfo.build(page);
}
......@@ -96,13 +82,6 @@ public class EntiretyServiceImpl implements IEntiretyService {
if(StrUtil.isNotBlank(vo.getOssId())){
vo.setOssUrl(ossUrlService.selectUrlByIds(vo.getOssId()));
}
List<BuildingBlockVo> buildingBlockVoList = buildingBlockMapper.selectVoList(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getLanguage, language).eq(BuildingBlock::getEntiretyId, vo.getId()));
for(BuildingBlockVo blockVo:buildingBlockVoList){
if(StrUtil.isNotBlank(blockVo.getOssId())){
vo.setOssUrl(ossUrlService.selectUrlByIds(blockVo.getOssId()));
}
}
vo.setBuildingblockList(buildingBlockVoList);
}
return list;
......@@ -126,6 +105,26 @@ public class EntiretyServiceImpl implements IEntiretyService {
}
/**
* (根据套件ID)不带分页查询
*
* @param language
* @param buildingBlockIds
* @return
*/
@Override
public List<EntiretyVo> list(String language, Collection<String> buildingBlockIds) {
List<EntiretyVo> list = Lists.newArrayList();
if(!CollectionUtils.isEmpty(buildingBlockIds)) {
list = baseMapper.selectVoList(Wrappers.<Entirety>lambdaQuery().eq(Entirety::getLanguage, language).in(Entirety::getBuildingBlockId, buildingBlockIds));
}
else{
list = baseMapper.selectVoList(Wrappers.<Entirety>lambdaQuery().eq(Entirety::getLanguage, language));
}
setInfo(list);
return list;
}
/**
* 新增
*
* @param entiretyBo
......@@ -164,7 +163,7 @@ public class EntiretyServiceImpl implements IEntiretyService {
@Override
public boolean remove(String id) throws ServerException {
checkExists(id);
checkBuildingBlockExists(id);
checkCourseExists(id);
return baseMapper.deleteById(id) > 0;
}
......@@ -185,6 +184,19 @@ public class EntiretyServiceImpl implements IEntiretyService {
}
}
private void setInfo(List<EntiretyVo> list) {
if (ObjectUtil.isNotEmpty(list)) {
Set<String> ids = StreamUtils.toSet(list, EntiretyVo::getBuildingBlockId);
List<BuildingBlockVo> buildingBlockList = getBuildingBlockService().getListByIds(ids);
Map<String, BuildingBlockVo> buildingBlockMap = StreamUtils.toMap(buildingBlockList, BuildingBlockVo::getId, v -> v);
for (EntiretyVo vo : list) {
vo.setBuildingBlockName(buildingBlockMap.getOrDefault(vo.getBuildingBlockId(), new BuildingBlockVo()).getName());
if (StrUtil.isNotBlank(vo.getOssId())) {
vo.setOssUrl(ossUrlService.selectUrlByIds(vo.getOssId()));
}
}
}
}
/**
* 校验数据是否存在
......@@ -192,8 +204,8 @@ public class EntiretyServiceImpl implements IEntiretyService {
* @param id
* @throws ServerException
*/
private void checkBuildingBlockExists(String id) throws ServerException {
if (buildingBlockMapper.exists(Wrappers.<BuildingBlock>lambdaQuery().eq(BuildingBlock::getEntiretyId, id))) {
private void checkCourseExists(String id) throws ServerException {
if (courseMapper.exists(Wrappers.<Course>lambdaQuery().eq(Course::getEntiretyId, id))) {
throw new ServerException(MessageUtils.message("core.data.exists"));
}
}
......
package com.lego.core.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
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.utils.MessageUtils;
import com.lego.common.utils.StreamUtils;
import com.lego.common.utils.spring.SpringUtils;
import com.lego.core.annotation.LanguageAnnotation;
import com.lego.core.domin.Question;
import com.lego.core.domin.bo.QuestionBo;
import com.lego.core.domin.bo.QuestionQueryBo;
import com.lego.core.domin.vo.BuildingBlockVo;
import com.lego.core.domin.vo.EntiretyVo;
import com.lego.core.domin.vo.QuestionVo;
import com.lego.core.enums.StatusEnums;
import com.lego.core.mapper.QuestionMapper;
import com.lego.core.service.IBuildingBlockService;
import com.lego.core.service.IQuestionService;
import com.lego.system.domain.vo.SysOssVo;
import com.lego.system.service.ISysOssService;
......@@ -21,6 +27,8 @@ import org.springframework.stereotype.Service;
import java.rmi.ServerException;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 问题MService业务层处理
......@@ -47,6 +55,7 @@ public class QuestionServiceImpl implements IQuestionService {
.eq(Question::getLanguage,language)
.orderByAsc(Question::getSort));
List<QuestionVo> listVO = page.getRecords();
setInfo(listVO);
for (QuestionVo vo : listVO) {
StringBuilder sb = new StringBuilder();
if (StrUtil.equals(vo.getShowAndroid(), "1")) {
......@@ -80,6 +89,7 @@ public class QuestionServiceImpl implements IQuestionService {
@Override
public List<QuestionVo> list() {
List<QuestionVo> list = baseMapper.selectVoList(Wrappers.<Question>lambdaQuery().eq(Question::getStatus, "1"));
setInfo(list);
for (QuestionVo vo : list) {
StringBuilder sb = new StringBuilder();
if (StrUtil.equals(vo.getShowAndroid(), "1")) {
......@@ -189,4 +199,19 @@ public class QuestionServiceImpl implements IQuestionService {
throw new ServerException(MessageUtils.message("core.data.not.exists"));
}
}
private void setInfo(List<QuestionVo> list) {
if (ObjectUtil.isNotEmpty(list)) {
Set<String> ids = StreamUtils.toSet(list, QuestionVo::getBuildingBlockId);
List<BuildingBlockVo> buildingBlockList = getBuildingBlockService().getListByIds(ids);
Map<String, BuildingBlockVo> buildingBlockMap = StreamUtils.toMap(buildingBlockList, BuildingBlockVo::getId, v -> v);
for (QuestionVo vo : list) {
vo.setBuildingBlockName(buildingBlockMap.getOrDefault(vo.getBuildingBlockId(), new BuildingBlockVo()).getName());
}
}
}
public IBuildingBlockService getBuildingBlockService() {
return SpringUtils.getBean(IBuildingBlockService.class);
}
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!