|
@@ -25,6 +25,7 @@ import com.fdkankan.manage_jp.vo.request.SceneParam;
|
|
|
import com.fdkankan.manage_jp.vo.response.SceneVo;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.ibatis.annotations.Param;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
@@ -55,157 +56,6 @@ public class LaserService {
|
|
|
ITmColdStorageService tmColdStorageService;
|
|
|
|
|
|
|
|
|
- public PageInfo pageList(SceneParam param) {
|
|
|
- try {
|
|
|
- LaserSceneParam laserSceneParam = getLaserSceneParam(param);
|
|
|
- if(laserSceneParam == null ){
|
|
|
- return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
|
|
|
- }
|
|
|
- FdkkResponse response = laserClient.sceneList(laserSceneParam);
|
|
|
- JSONObject jsonObject =response.getData();
|
|
|
- if(jsonObject == null){
|
|
|
- return PageInfo.PageInfoEmpty(param.getPageNum(),param.getPageSize());
|
|
|
- }
|
|
|
- JSONArray list = jsonObject.getJSONArray("list");
|
|
|
- long total =jsonObject.getLong("total");
|
|
|
-
|
|
|
- List<SceneVo> sceneVoList = new ArrayList<>();
|
|
|
- for (Object o : list) {
|
|
|
- String res = JSONObject.toJSONString(o);
|
|
|
- SceneVo vo = JSONObject.parseObject(res,SceneVo.class);
|
|
|
- //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
|
|
|
- JSONObject obj = (JSONObject) o;
|
|
|
- vo.setStatusString(getLaserStatus(vo.getStatus()));
|
|
|
- if(vo.getStatus().equals(3)){
|
|
|
- vo.setPayStatus(-2);
|
|
|
- }else {
|
|
|
- vo.setPayStatus(1);
|
|
|
- }
|
|
|
- vo.setStatus(toFdStatus(vo.getStatus()));
|
|
|
- vo.setSceneName(obj.getString("title"));
|
|
|
- vo.setUserName(obj.getString("phone"));
|
|
|
- vo.setThumb(obj.getString("thumb"));
|
|
|
- vo.setWebSite(obj.getString("webSite"));
|
|
|
- vo.setChildName(obj.getString("snCode"));
|
|
|
- vo.setIsObj(obj.getInteger("buildObjStatus"));
|
|
|
- vo.setIsDel(param.getIsDel());
|
|
|
- if(param.getCooperateSceneCodes() != null && param.getCooperateSceneCodes().contains(vo.getNum())){
|
|
|
- vo.setIsMain(false);
|
|
|
- vo.setIsDel(false);
|
|
|
- }
|
|
|
- sceneVoList.add(vo);
|
|
|
- }
|
|
|
- List<String> sceneNumList = sceneVoList.stream().map(SceneVo::getNum).collect(Collectors.toList());
|
|
|
- HashMap<String,Boolean> coldMap = tmColdStorageService.getByNumList(sceneNumList);
|
|
|
- for (SceneVo sceneVo : sceneVoList) {
|
|
|
- Company company = companyService.getByChildName(sceneVo.getChildName());
|
|
|
- if(company != null){
|
|
|
- sceneVo.setCompanyName(company.getCompanyName());
|
|
|
- }
|
|
|
- if(coldMap.get(sceneVo.getNum())!=null){
|
|
|
- sceneVo.setColdStorage(coldMap.get(sceneVo.getNum()));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- Page<SceneVo> voPage = new Page<>(param.getPageNum(),param.getPageSize());
|
|
|
- voPage.setRecords(sceneVoList);
|
|
|
- voPage.setTotal(total);
|
|
|
- return PageInfo.PageInfo(voPage);
|
|
|
- }catch (Exception e){
|
|
|
- log.error("访问深时失败:",e);
|
|
|
- //throw new BusinessException(ResultCode.SS_GET_ERROR);
|
|
|
- }
|
|
|
- Page<SceneVo> voPage = new Page<>(param.getPageNum(),param.getPageSize());
|
|
|
- return PageInfo.PageInfo(voPage);
|
|
|
- }
|
|
|
-
|
|
|
- private LaserSceneParam getLaserSceneParam(SceneParam param) {
|
|
|
- LaserSceneParam newParam = new LaserSceneParam();
|
|
|
- if(param.getCompanyId() != null){ //客户场景
|
|
|
- List<CameraDetail> cameraDetails = cameraDetailService.getListByCompanyId(param.getCompanyId());
|
|
|
- param.setSnCodes(this.setSnCodes(cameraDetails));
|
|
|
- if((param.getSnCodes() == null || param.getSnCodes().size() <=0) && param.getCooperateSceneCodes().size()<=0){
|
|
|
- return null;
|
|
|
- }
|
|
|
- if(param.getSnCodes() == null || param.getSnCodes().size()<=0){
|
|
|
- param.setSnCodes(Arrays.asList("not-camera"));
|
|
|
- }
|
|
|
- }
|
|
|
- if(param.getUserId() != null){ //客户场景
|
|
|
- User user = userService.getById(param.getUserId());
|
|
|
- if(user == null){
|
|
|
- return null;
|
|
|
- }
|
|
|
- newParam.setPhone(user.getUserName());
|
|
|
- }
|
|
|
- if(StringUtils.isNotBlank(param.getCompanyName())){ //客户场景
|
|
|
- List<CameraDetail> cameraDetails = cameraDetailService.getListByCompanyName(param.getCompanyName());
|
|
|
- param.setSnCodes(this.setSnCodes(cameraDetails));
|
|
|
- if(param.getSnCodes() == null || param.getSnCodes().size() <=0){
|
|
|
- return null;
|
|
|
- }
|
|
|
- }
|
|
|
- if(StringUtils.isNotBlank(param.getChildName())){
|
|
|
- List<Camera> cameraList = cameraService.getLikeChildName(param.getChildName());
|
|
|
- List<String> snCodes = cameraList.stream().map(Camera::getSnCode).collect(Collectors.toList());
|
|
|
- if(param.getSnCodes() != null && param.getSnCodes().size() >0){
|
|
|
- List<String> list3 = param.getSnCodes().stream().filter(snCodes::contains).collect(Collectors.toList());
|
|
|
- param.setSnCodes(list3);
|
|
|
- }else {
|
|
|
- param.setSnCodes(snCodes);
|
|
|
- }
|
|
|
- if(param.getSnCodes() == null || param.getSnCodes().size()<=0){
|
|
|
- return null;
|
|
|
- }
|
|
|
- }
|
|
|
- BeanUtils.copyProperties(param,newParam);
|
|
|
- newParam.setTitle(param.getSceneName());
|
|
|
- return newParam;
|
|
|
- }
|
|
|
-
|
|
|
- private List<String> setSnCodes(List<CameraDetail> cameraDetails) {
|
|
|
- if(cameraDetails != null && cameraDetails.size() >0){
|
|
|
- Set<Long> cameraIds = cameraDetails.stream()
|
|
|
- .filter(entity -> entity.getGoodsId() == 10).map(CameraDetail::getCameraId).collect(Collectors.toSet());
|
|
|
- if(cameraIds.size() >0){
|
|
|
- List<Camera> cameraList = cameraService.listByIds(cameraIds);
|
|
|
- return cameraList.stream().map(Camera::getSnCode).collect(Collectors.toList());
|
|
|
- }
|
|
|
- }
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- private Integer toFdStatus(Integer status) {
|
|
|
- //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
|
|
|
- switch (status){
|
|
|
- case 0 :
|
|
|
- case 4 :
|
|
|
- return 0;
|
|
|
- case 2 : return -2;
|
|
|
- case 3 : return -2;
|
|
|
- default: return -1;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public static String getLaserStatus(Integer status){
|
|
|
- //深时状态,-1:场景被删 0:计算中 1计算失败 2计算成功 3封存 4生成OBJ中
|
|
|
- switch (status){
|
|
|
- case -1 : return "场景已删除";
|
|
|
- case 0 : return "计算中";
|
|
|
- case 1 : return "计算失败";
|
|
|
- case 2 : return "计算成功";
|
|
|
- case 3 : return "封存";
|
|
|
- case 4 : return "生成OBJ中";
|
|
|
- default: return "";
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
public SSDownSceneVo downOfflineSceneStatus(String num) {
|
|
|
try {
|
|
|
SSDownSceneVo vo ;
|
|
@@ -372,4 +222,36 @@ public class LaserService {
|
|
|
params.put("businessType", 0);
|
|
|
rabbitMqProducer.sendByWorkQueue(cloudPointBuild, params);
|
|
|
}
|
|
|
+
|
|
|
+ public HashMap<String, JSONObject> list(List<String> sceneNumList) {
|
|
|
+ LaserSceneParam newParam = new LaserSceneParam();
|
|
|
+ newParam.setPageNum(1);
|
|
|
+ newParam.setPageSize(sceneNumList.size());
|
|
|
+ newParam.setSceneCodes(sceneNumList);
|
|
|
+ return this.list(newParam);
|
|
|
+ }
|
|
|
+ public HashMap<String, JSONObject> list(List<String> sceneNumList,Integer status) {
|
|
|
+ LaserSceneParam newParam = new LaserSceneParam();
|
|
|
+ newParam.setPageNum(1);
|
|
|
+ newParam.setPageSize(sceneNumList.size());
|
|
|
+ newParam.setSceneCodes(sceneNumList);
|
|
|
+ newParam.setStatus(status);
|
|
|
+ return this.list(newParam);
|
|
|
+ }
|
|
|
+
|
|
|
+ public HashMap<String, JSONObject> list(LaserSceneParam newParam) {
|
|
|
+ HashMap<String, JSONObject> map = new HashMap<>();
|
|
|
+ FdkkResponse fdkkResponse = laserClient.sceneList(newParam);
|
|
|
+ JSONObject jsonObject = fdkkResponse.getData();
|
|
|
+ if(jsonObject == null){
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+ JSONArray list = jsonObject.getJSONArray("list");
|
|
|
+
|
|
|
+ for (Object o : list) {
|
|
|
+ JSONObject obj = (JSONObject) o;
|
|
|
+ map.put(obj.getString("num"),obj);
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
}
|