|
|
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fdkankan.common.constant.ErrorCode;
|
|
|
import com.fdkankan.common.constant.SceneConstant;
|
|
|
import com.fdkankan.common.constant.SceneKind;
|
|
|
import com.fdkankan.common.constant.SceneVersionType;
|
|
|
@@ -38,6 +39,7 @@ import com.fdkankan.ucenter.service.*;
|
|
|
import com.fdkankan.ucenter.util.DateUserUtil;
|
|
|
import com.fdkankan.ucenter.util.SceneResourcePath;
|
|
|
import com.fdkankan.ucenter.vo.ResponseScene;
|
|
|
+import com.fdkankan.ucenter.vo.request.DemoSceneParam;
|
|
|
import com.fdkankan.ucenter.vo.request.RequestScene;
|
|
|
import com.fdkankan.ucenter.vo.request.SceneParam;
|
|
|
import com.fdkankan.ucenter.vo.response.*;
|
|
|
@@ -45,6 +47,7 @@ import com.fdkankan.ucenter.vo.response.*;
|
|
|
import java.io.File;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
+import java.util.concurrent.Executor;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -53,6 +56,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.joda.time.DateTime;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
@@ -130,33 +134,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
public HashMap<String, SceneNumVo> findSceneNumber(String token) {
|
|
|
HashMap<String, SceneNumVo> hashMap = new HashMap<>();
|
|
|
User user = userService.getByUserName(JwtUtil.getUsername(token));
|
|
|
-// SceneNumVo sceneNumVoKk = getSceneNumVoByType(Arrays.asList(1,2,12,13,14), user.getId());
|
|
|
-// Integer oldNum = sceneService.getCountByUserId(user.getId());
|
|
|
-// sceneNumVoKk.setSceneNum( oldNum + sceneNumVoKk.getSceneNum());
|
|
|
-// sceneNumVoKk.setTotalNum(oldNum + sceneNumVoKk.getTotalNum());
|
|
|
-//
|
|
|
-// SceneNumVo sceneNumVoKj = getSceneNumVoByType(Collections.singletonList(3), user.getId());
|
|
|
-//
|
|
|
-// SceneNumVo sceneNumVoSS = fdkkLaserService.getLaserSceneNumByUser(token,4);
|
|
|
-// SceneNumVo sceneNumVoSSObj = getSceneNumVoByObjType(Arrays.asList(4), user.getId());
|
|
|
-//
|
|
|
-// SceneNumVo sceneNumVoSG = fdkkLaserService.getLaserSceneNumByUser(token,5);
|
|
|
-// SceneNumVo sceneNumVoSGObj = getSceneNumVoByObjType(Arrays.asList(5), user.getId());
|
|
|
-//
|
|
|
-// SceneNumVo sceneNumVoE57 = fdkkLaserService.getLaserSceneNumByUser(token,57);
|
|
|
-// SceneNumVo sceneNumVoE57Obj = getSceneNumVoByObjType(Arrays.asList(57), user.getId());
|
|
|
-//
|
|
|
-// SceneNumVo sceneNumVoSX = fdkkLaserService.getLaserSceneNumByUser(token,7);
|
|
|
-// hashMap.put("kk",sceneNumVoKk);
|
|
|
-// hashMap.put("kJ",sceneNumVoKj);
|
|
|
-// hashMap.put("SS",sceneNumVoSS);
|
|
|
-// hashMap.put("SS_OBJ",sceneNumVoSSObj);
|
|
|
-// hashMap.put("SG",sceneNumVoSG);
|
|
|
-// hashMap.put("SG_OBJ",sceneNumVoSGObj);
|
|
|
-// hashMap.put("e57",sceneNumVoE57);
|
|
|
-// hashMap.put("e57_OBJ",sceneNumVoE57Obj);
|
|
|
-// hashMap.put("sx",sceneNumVoSX);
|
|
|
-
|
|
|
|
|
|
List<SceneNumVo> groupBySceneSouceV3 = scenePlusService.getGroupBySceneSouceV3(user.getId());
|
|
|
List<SceneNumVo> groupBySceneSouceV4 = scenePlusService.getGroupBySceneSouceV4(user.getId());
|
|
|
@@ -227,24 +204,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
sceneNumVo.setTotalNum(sceneNumVo.getSceneNum() + sceneNumVo.getCooperationSceneNum());
|
|
|
return sceneNumVo;
|
|
|
}
|
|
|
- private SceneNumVo getSceneNumVoByObjType(List<Integer> sceneSourceList, Long userId){
|
|
|
- SceneNumVo sceneNumVo = new SceneNumVo();
|
|
|
- LambdaQueryWrapper<ScenePro> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ScenePro::getUserId, userId);
|
|
|
- queryWrapper.in(ScenePro::getSceneSource, sceneSourceList);
|
|
|
- queryWrapper.eq(ScenePro::getIsUpgrade, 0);
|
|
|
- queryWrapper.eq(ScenePro::getIsObj,1);
|
|
|
- Integer sceneNum = Math.toIntExact(this.count(queryWrapper));
|
|
|
- List<ScenePlus> scenePlusList = scenePlusService.getCountByUserIdAndSceneSource(userId,sceneSourceList,1);
|
|
|
-
|
|
|
- long plusCount = scenePlusList.size();
|
|
|
- Long cooperNum = sceneCooperationService.getCooperationSceneNum(userId, sceneSourceList);
|
|
|
-
|
|
|
- sceneNumVo.setCooperationSceneNum(cooperNum);
|
|
|
- sceneNumVo.setSceneNum(sceneNum + plusCount);
|
|
|
- sceneNumVo.setTotalNum(sceneNumVo.getSceneNum() + sceneNumVo.getCooperationSceneNum());
|
|
|
- return sceneNumVo;
|
|
|
- }
|
|
|
|
|
|
|
|
|
@Override
|
|
|
@@ -288,10 +247,11 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
}
|
|
|
|
|
|
@Autowired
|
|
|
- ThreadPoolConfig threadPoolConfig;
|
|
|
+ @Qualifier("taskExecutor")
|
|
|
+ private Executor taskExecutor;
|
|
|
@Override
|
|
|
public void lockOrUnLockBySpace(CameraDetail cameraDetail, Long cameraId) {
|
|
|
- threadPoolConfig.taskExecutor().execute(() -> {
|
|
|
+ taskExecutor.execute(() -> {
|
|
|
log.info("异步任务执行,当前线程:" + Thread.currentThread().getName());
|
|
|
List<SimpleSceneVo> voList = this.getSimpleSceneVo(cameraDetail);
|
|
|
if(voList .size() <=0){
|
|
|
@@ -554,7 +514,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
if(StringUtils.isNotEmpty(param.getSearchKey()) && !"11".equals(param.getType())){
|
|
|
List<Long> userIds = userService.getLikeUserName(param.getSearchKey());
|
|
|
if(userIds.size() > 0){
|
|
|
- List<String> cooperationList = sceneCooperationService.getNumByUserIds(userIds);
|
|
|
+ List<String> cooperationList = sceneCooperationService.getNumByUserIds(userIds,"mesh");
|
|
|
param.setNumList(cooperationList);
|
|
|
}
|
|
|
}
|
|
|
@@ -801,9 +761,6 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
@Autowired
|
|
|
RabbitMqProducer rabbitMqProducer;
|
|
|
|
|
|
- @Value("${queue.scene.copy:ucenter-copy-scene}")
|
|
|
- private String copySceneQueue;
|
|
|
-
|
|
|
private void copyScene(String oldNum,CameraDetail detailEntity,ScenePro scenePro,ScenePlus scenePlus,CameraType cameraType) throws Exception {
|
|
|
String newNum = scene3dNumService.generateSceneNum(detailEntity.getType());
|
|
|
Long userId = scenePro == null ? scenePlus.getUserId() :scenePro.getUserId();
|
|
|
@@ -811,7 +768,23 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
HashMap<String,String > map = new HashMap<>();
|
|
|
map.put("oldNum",oldNum);
|
|
|
map.put("newNum",newNum);
|
|
|
- rabbitMqProducer.sendByWorkQueue(copySceneQueue,map);
|
|
|
+ rabbitMqProducer.sendByWorkQueue(ucenterConfig.getCopySceneQueue(),map);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void copyScene(String num,Long userId) {
|
|
|
+ if(StringUtils.isBlank(num)){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String[] split = num.split(",");
|
|
|
+ for (String oldNum : split) {
|
|
|
+ String newNum = scene3dNumService.generateSceneNumByOldNum(oldNum);
|
|
|
+ sceneCopyLogService.saveByNum(oldNum,newNum,userId);
|
|
|
+ HashMap<String,Object > map = new HashMap<>();
|
|
|
+ map.put("oldNum",oldNum);
|
|
|
+ map.put("newNum",newNum);
|
|
|
+ map.put("userId",userId);
|
|
|
+ rabbitMqProducer.sendByWorkQueue(ucenterConfig.getCopySceneQueue(),map);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -1418,4 +1391,27 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageInfo demoSceneList(DemoSceneParam param) {
|
|
|
+ if(param.getUserId() == null){
|
|
|
+ throw new BusinessException(ErrorCode.USER_NOT_LOGIN);
|
|
|
+ }
|
|
|
+ if(param.getIsObj() == 0){ //点云列表
|
|
|
+ param.setSceneSourceList(SceneSourceUtil.LaserSceneSource);
|
|
|
+ }
|
|
|
+ Page<SceneVo> page = scenePlusService.domeSceneList(new Page<>(param.getPageNum(),param.getPageSize()),param);
|
|
|
+ if(param.getIsObj() == 0){ //点云列表
|
|
|
+ for (SceneVo record : page.getRecords()) {
|
|
|
+ if(ucenterConfig.getActive().contains("prod")){
|
|
|
+ record.setWebSite(ucenterConfig.getBasePath() +"/index.html?m="+record.getNum());
|
|
|
+ }else {
|
|
|
+ record.setWebSite(ucenterConfig.getBasePath() +"/uat/index.html?m="+record.getNum());
|
|
|
+ }
|
|
|
+ record.setSceneName(record.getLaserTitle());
|
|
|
+ record.setIsLaser(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return PageInfo.PageInfo(page);
|
|
|
+ }
|
|
|
}
|