package com.fdkankan.model.utils; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.fdkankan.model.constants.ConstantFilePath; import java.io.File; import java.nio.charset.Charset; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** *

* 此工具类提供场景信息处理相关工具函数 *

* * @author dengsixing * @since 2022/3/10 **/ public class SceneUtil { public static String getPath(String path, String cameraName, String fileId, int cameraType, String unicode){ if(cameraType < 3){ return path; } String localPath = cameraName.replace("4DKKPRO_", "") .replace("-fdage", "").toLowerCase() + File.separator + fileId + File.separator + unicode; if(cameraType == 5 || cameraType == 6){ path = ConstantFilePath.BUILD_MODEL_PATH + unicode; }else if(cameraType == 14) { path = ConstantFilePath.BUILD_MODEL_LASER_PATH + localPath; } else{ path = ConstantFilePath.BUILD_MODEL_PATH + localPath; } return path; } /** * 根据vision.txt获取全景图名称列表 * @param visionPath * @return */ public static List getPanoramaImageList(String visionPath){ String visionTxt = FileUtil.readString(visionPath, Charset.forName("UTF-8")); JSONObject visionObject = JSON.parseObject(visionTxt); JSONArray sweepLocations = visionObject.getJSONArray("sweepLocations"); List imageList = sweepLocations.parallelStream().map(o -> { JSONObject item = (JSONObject) o; return item.getString("uuid") + ".jpg"; }).collect(Collectors.toList()); return imageList; } /** * 根据dataSource获取原始资源目录 * @param dataSource * @return */ public static String getHomePath(String dataSource) { String homePath = ConstantFilePath.OSS_PREFIX + dataSource.replace(ConstantFilePath.BUILD_MODEL_PATH, "") .replace(ConstantFilePath.BUILD_MODEL_LASER_PATH, ""); if (!homePath.endsWith("/")) { homePath = homePath.concat("/"); } return homePath; } public static Map getPropertyFromDataSource(String dataSource){ if(StrUtil.isEmpty(dataSource)){ return null; } String homePath = getHomePath(dataSource); homePath = homePath.substring(0, homePath.lastIndexOf("/")); String[] arr = homePath.split("/"); Map result = new HashMap<>(); result.put("homePath", homePath); result.put("snCode", arr[1]); result.put("fileId", arr[2]); result.put("uuid", arr[3]); return result; } public static void main(String[] args) { String str = "27"; int n = 8; System.out.println("10进制=" + Integer.parseInt(str, n)); System.out.println(Integer.toHexString(Integer.parseInt(str, n))); } }