|
@@ -1,7 +1,9 @@
|
|
|
package com.gis.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.bean.copier.CopyOptions;
|
|
|
import cn.hutool.core.lang.tree.Tree;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.gis.common.util.Result;
|
|
|
import com.gis.domain.entity.*;
|
|
|
import com.gis.domain.vo.*;
|
|
@@ -10,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
public class WorkViewServiceImpl implements WorkViewService {
|
|
@@ -30,6 +34,14 @@ public class WorkViewServiceImpl implements WorkViewService {
|
|
|
private WorkCustomButtonService workCustomButtonService;
|
|
|
@Autowired
|
|
|
private WorkNavigationSettingService workNavigationSettingService;
|
|
|
+ @Autowired
|
|
|
+ private WorkVisualAngleService workVisualAngleService;
|
|
|
+ @Autowired
|
|
|
+ private WorkExplanationService workExplanationService;
|
|
|
+ @Autowired
|
|
|
+ private WorkHotService workHotService;
|
|
|
+ @Autowired
|
|
|
+ private WorkCustomMaskService workCustomMaskService;
|
|
|
|
|
|
@Override
|
|
|
public WorkViewVo getViewInfo(String workId) {
|
|
@@ -58,6 +70,28 @@ public class WorkViewServiceImpl implements WorkViewService {
|
|
|
|
|
|
WorkSceneVo initialScene = workNavigationSettingService.getInitialScene(workId);
|
|
|
|
|
|
+ //视角
|
|
|
+ List<WorkVisualAngle> workVisualAngles = workVisualAngleService.listByWorkId(workId);
|
|
|
+ List<WorkVisualAngleVo> workVisualAngleVos = BeanUtil.copyToList(workVisualAngles, WorkVisualAngleVo.class);
|
|
|
+
|
|
|
+ //讲解
|
|
|
+ List<WorkExplanation> workExplanations = workExplanationService.listByWorkId(workId);
|
|
|
+ List<WorkExplanationVo> workExplanationVos = BeanUtil.copyToList(workExplanations, WorkExplanationVo.class);
|
|
|
+
|
|
|
+ //热点
|
|
|
+ List<WorkHot> workHots = workHotService.listByWorkId(workId);
|
|
|
+ Map<Long, WorkHot> workHotMap = workHots.stream().collect(Collectors.toMap(WorkHot::getId, v -> v));
|
|
|
+ List<WorkHotVO> workHotVOS = BeanUtil.copyToList(workHots, WorkHotVO.class, new CopyOptions().setIgnoreProperties(WorkHot::getFodderId, WorkHot::getContent));
|
|
|
+ workHotVOS.stream().forEach(v->{
|
|
|
+ WorkHot workHot = workHotMap.get(v.getId());
|
|
|
+ v.setFodderId(JSON.parseArray(workHot.getFodderId()));
|
|
|
+ v.setContent(JSON.parseObject(workHot.getContent()));
|
|
|
+ });
|
|
|
+
|
|
|
+ //遮罩
|
|
|
+ List<WorkCustomMaskEntity> workCustomMaskEntities = workCustomMaskService.listByWorkId(workId);
|
|
|
+ List<WorkCustomMaskVO> workCustomMaskVOS = BeanUtil.copyToList(workCustomMaskEntities, WorkCustomMaskVO.class);
|
|
|
+
|
|
|
return WorkViewVo.builder()
|
|
|
.workId(workId)
|
|
|
.work(workVo)
|
|
@@ -66,9 +100,13 @@ public class WorkViewServiceImpl implements WorkViewService {
|
|
|
.workCoverType(workCoverTypeVo)
|
|
|
.workBackgroundMusic(workBackgroundMusicVo)
|
|
|
.workLogo(workLogoVo)
|
|
|
- .workCustomButtonVoList(workCustomButtonVos)
|
|
|
+ .workCustomButtonList(workCustomButtonVos)
|
|
|
.navigationTrees(navigationTrees)
|
|
|
.firstScene(initialScene)
|
|
|
+ .workVisualAngleList(workVisualAngleVos)
|
|
|
+ .workExplanationList(workExplanationVos)
|
|
|
+ .workHotList(workHotVOS)
|
|
|
+ .workCustomMaskList(workCustomMaskVOS)
|
|
|
.build();
|
|
|
}
|
|
|
}
|