package com.fdkankan.fusion.httpClient; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fdkankan.fusion.httpClient.client.LaserClient; import com.fdkankan.fusion.httpClient.request.SSDownSceneParam; import com.fdkankan.fusion.httpClient.request.SSDownSceneParamLocal; import com.fdkankan.fusion.httpClient.response.FdkkResponse; import com.fdkankan.fusion.httpClient.response.SSDownSceneVo; import com.fdkankan.redis.util.RedisUtil; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import java.io.File; import java.util.*; import java.util.stream.Collectors; @Service @Slf4j public class LaserService { @Autowired LaserClient laserClient; public SSDownSceneVo downOfflineSceneStatus(String num) { try { SSDownSceneVo vo ; SSDownSceneParam param = new SSDownSceneParam(); param.setSceneCode(num); FdkkResponse responseEntity = laserClient.downOfflineSceneStatus(param); if( responseEntity.getCode() != HttpStatus.OK.value()){ log.error("downOfflineSceneStatus-根据场景码获取激光转台下载状态失败:{}",responseEntity); return null; } vo = JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), SSDownSceneVo.class); return vo; }catch (Exception e){ log.error("downOfflineSceneStatus-根据场景码获取激光转台下载状态失败!",e); } return null ; } public SSDownSceneVo downOfflineScene(String num) { try { SSDownSceneVo vo ; SSDownSceneParam param = new SSDownSceneParam(); param.setSceneCode(num); FdkkResponse responseEntity = laserClient.downOfflineScene(param); if( responseEntity.getCode() != HttpStatus.OK.value()){ log.error("downOfflineScene-根据场景码获取激光转台下载失败:{}",responseEntity); return null; } vo = JSONObject.parseObject(JSONObject.toJSONString(responseEntity.getData()), SSDownSceneVo.class); return vo ; }catch (Exception e){ log.error("downOfflineScene-根据场景码获取激光转台下载状态失败!",e); } return null ; } public FdkkResponse getSceneInfo(String num) { try { return laserClient.getSceneInfo(num); }catch (Exception e){ log.info("获取激光场景信息失败getSceneInfo-error:{}",num,e); } return null; } public FdkkResponse sceneLocInfo(String num) { try { return laserClient.sceneLocInfo(num,new HashMap<>()); }catch (Exception e){ log.info("获取激光场景信息失败getSceneInfo-error:{}",num,e); } return null; } public FdkkResponse getSceneInfoQuery(String num,String id) { try { return laserClient.getSceneInfoQuery(num,id); }catch (Exception e){ log.info("获取激光场景信息失败getSceneInfo-error:{}",num,e); } return null; } public void rebuildOffline(String buildPath,Boolean isLaser,Integer id) { try { SSDownSceneParamLocal param = new SSDownSceneParamLocal(); param.setId(id); param.setResultPath(buildPath+ File.separator); param.setOfflineType(isLaser ? 1 :2); param.setFusion(true); laserClient.downOfflineSceneNew(param); }catch (Exception e){ log.info("获取激光场景信息失败rebuildOffline-error:{},{},{}",buildPath,isLaser,id,e); } } public FdkkResponse getDataSetAndControlPoint(String num) { try { return laserClient.getDataSetAndControlPoint(num); }catch (Exception e){ log.info("获取激光场景信息失败getSceneInfo-error:{}",num,e); } return null; } }