123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- package com.fdkankan.ucenter.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.fdkankan.common.constant.ErrorCode;
- import com.fdkankan.common.exception.BusinessException;
- import com.fdkankan.common.util.JwtUtil;
- import com.fdkankan.fyun.face.FYunFileServiceInterface;
- import com.fdkankan.redis.constant.RedisKey;
- import com.fdkankan.redis.util.RedisUtil;
- import com.fdkankan.ucenter.common.Result;
- import com.fdkankan.ucenter.common.constants.ConstantFilePath;
- import com.fdkankan.ucenter.common.constants.ResultCode;
- import com.fdkankan.ucenter.entity.ScenePlus;
- import com.fdkankan.ucenter.entity.ScenePlusExt;
- import com.fdkankan.ucenter.entity.ScenePro;
- import com.fdkankan.ucenter.entity.User;
- import com.fdkankan.ucenter.service.*;
- import com.fdkankan.ucenter.vo.response.LaserSceneInfoVo;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.ObjectUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.io.File;
- import java.util.Objects;
- /**
- * <p>
- * TODO
- * </p>
- *
- * @author dengsixing
- * @since 2022/9/27
- **/
- @Slf4j
- @Service
- public class InnerServiceImpl implements IInnerService {
- @Autowired
- private ISceneProService sceneProService;
- @Autowired
- private IScenePlusService scenePlusService;
- @Autowired
- private IScenePlusExtService scenePlusExtService;
- @Autowired
- private IUserService userService;
- @Autowired
- private RedisUtil redisUtil;
- @Autowired
- private FYunFileServiceInterface fYunFileService;
- @Override
- public Result createTokenByNum(String num) {
- Long userId = null;
- ScenePro scenePro = sceneProService.getByNum(num);
- if(Objects.nonNull(scenePro)){
- userId = scenePro.getUserId();
- }else{
- ScenePlus scenePlus = scenePlusService.getByNum(num);
- if(Objects.isNull(scenePlus)){
- return Result.failure("场景为空");
- }
- userId = scenePlus.getUserId();
- }
- User user = userService.getById(userId);
- String token = JwtUtil.createJWT(-1, user.getUserName(), "user");
- String redisKey = String.format(RedisKey.TOKEN_V3,token);
- redisUtil.set(redisKey, JSON.toJSONString(user), RedisKey.EXPIRE_TIME_2_HOUR);
- JSONObject object = new JSONObject();
- object.put("token", token);
- return Result.success(object);
- }
- @Override
- public String getSceneNumVersion(String num) {
- String version = null;
- ScenePro scenepro = sceneProService.getByNum(num);
- if(scenepro == null){
- ScenePlus plus = scenePlusService.getByNum(num);
- if(plus != null){
- version = "V4";
- }
- }else {
- version = "V3";
- }
- return version;
- }
- @Override
- public String querySceneDataSource(String num) {
- String dataSource = null;
- ScenePro scenePro = sceneProService.getByNum(num);
- if(Objects.isNull(scenePro)){
- ScenePlus scenePlus = scenePlusService.getByNum(num);
- if(Objects.isNull(scenePlus)){
- return Result.failure(ErrorCode.FAILURE_CODE_5005.code(), ErrorCode.FAILURE_CODE_5005.message()).toString();
- }
- ScenePlusExt scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
- dataSource = scenePlusExt.getDataSource();
- }else{
- dataSource = scenePro.getDataSource();
- }
- return dataSource;
- }
- @Override
- public Result downloadCapture(String num) {
- ScenePro scenePro = sceneProService.getByNum(num);
- ScenePlus scenePlus = scenePlusService.getByNum(num);
- if (ObjectUtils.isEmpty(scenePlus) && ObjectUtils.isEmpty(scenePro)) {
- return Result.failure("场景为空");
- }
- String dataSource = null;
- if(!ObjectUtils.isEmpty(scenePlus)){
- ScenePlusExt scenePlusExt = scenePlusExtService.getByPlusId(scenePlus.getId());
- dataSource = scenePlusExt.getDataSource();
- }else{
- dataSource = scenePro.getDataSource();
- }
- String ossPath = ConstantFilePath.OSS_PREFIX
- + dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, "")
- .replace(ConstantFilePath.BUILD_MODEL_LASER_PATH, "");
- if (!ossPath.endsWith("/")) {
- ossPath = ossPath.concat("/");
- }
- fYunFileService.downloadFileByCommand(dataSource + File.separator + "capture", ossPath);
- return Result.success();
- }
- @Override
- public Result querySceneNum(String path) {
- ScenePro scenePro = sceneProService.findByFileId(path);
- if (!ObjectUtils.isEmpty(scenePro)) {
- return Result.success(scenePro.getNum());
- }
- ScenePlusExt scenePlusExt = scenePlusExtService.getByUnicode(path);
- if (!ObjectUtils.isEmpty(scenePlusExt)) {
- return Result.success(scenePlusService.getById(scenePlusExt.getPlusId()).getNum());
- }
- return null;
- }
- @Override
- public LaserSceneInfoVo getSceneInfo(String num) {
- LaserSceneInfoVo vo = new LaserSceneInfoVo();
- ScenePro scenepro = sceneProService.getByNum(num);
- if(scenepro != null){
- vo.setNum(scenepro.getNum());
- vo.setVersion("V3");
- vo.setSceneSource(scenepro.getSceneSource());
- vo.setSceneScheme(scenepro.getSceneScheme());
- vo.setSceneKind(null);
- vo.setSceneResolution(null);
- vo.setObjScenePath(scenepro.getWebSite());
- vo.setIsObj(scenepro.getIsObj());
- vo.setAlgorithmTime(scenepro.getCreateTime());
- return vo;
- }
- ScenePlus plus = scenePlusService.getByNum(num);
- if(plus != null){
- ScenePlusExt plusExt = scenePlusExtService.getByPlusId(plus.getId());
- if(plusExt != null){
- vo.setNum(plus.getNum());
- vo.setVersion("V4");
- vo.setSceneSource(plus.getSceneSource());
- vo.setSceneScheme(plusExt.getSceneScheme());
- vo.setSceneKind(plusExt.getSceneKind());
- vo.setSceneResolution(plusExt.getSceneResolution());
- vo.setObjScenePath(plusExt.getWebSite());
- vo.setIsObj(plusExt.getIsObj());
- vo.setAlgorithmTime(plusExt.getAlgorithmTime());
- return vo;
- }
- }
- throw new BusinessException(ResultCode.FAILURE_CODE_400002,ResultCode.FAILURE_MSG_400002);
- }
- }
|