1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.fdkankan.manage_jp.task;
- import com.alibaba.fastjson.JSONObject;
- import com.fdkankan.manage_jp.entity.Project;
- import com.fdkankan.manage_jp.entity.ProjectSceneGps;
- import com.fdkankan.manage_jp.entity.ScenePlus;
- import com.fdkankan.manage_jp.httpClient.service.LaserService;
- import com.fdkankan.manage_jp.service.IProjectSceneGpsService;
- import com.fdkankan.manage_jp.service.ISceneProService;
- import com.fdkankan.manage_jp.vo.response.SceneGpsDb;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.stream.Collectors;
- @Service
- @Slf4j
- public class TaskService {
- @Autowired
- IProjectSceneGpsService projectSceneGpsService;
- @Autowired
- LaserService laserService;
- @Autowired
- ISceneProService sceneProService;
- @Scheduled(initialDelay = 2000, fixedDelay = 1000 * 60 )
- public void run() {
- List<SceneGpsDb> numList = projectSceneGpsService.getNotGpsScene();
- if(numList.isEmpty()){
- log.info("没有需要更新GPS数据的场景");
- }
- List<ProjectSceneGps> laserssList = new ArrayList<>();
- List<ProjectSceneGps> lasersgList = new ArrayList<>();
- for (SceneGpsDb sceneGpsDb : numList) {
- ProjectSceneGps sceneGps = projectSceneGpsService.addGps(sceneGpsDb);
- if(sceneGps != null){
- log.info("num:{}gps:{}",sceneGpsDb.getNum(),sceneGps);
- if(sceneGps.getSceneSource() == 4 ) {
- laserssList.add(sceneGps);
- if(sceneGpsDb.getIsObj() == 1){
- sceneGps.setIsObj(1);
- sceneGps.setWebSite(sceneGpsDb.getWebSite());
- laserssList.add(sceneGps);
- }
- }else if( sceneGps.getSceneSource() == 5){
- lasersgList.add(sceneGps);
- if(sceneGpsDb.getIsObj() == 1){
- sceneGps.setIsObj(1);
- sceneGps.setWebSite(sceneGpsDb.getWebSite());
- laserssList.add(sceneGps);
- }
- }
- }
- }
- addLaserList(laserssList,4);
- addLaserList(lasersgList,5);
- }
- private void addLaserList(List<ProjectSceneGps> laserssList,Integer sceneSource) {
- List<String> sceneMapShowList = new ArrayList<>();
- if(!laserssList.isEmpty()){
- List<String> numList1 = laserssList.stream().filter(e -> e.getIsObj() == 0).map(ProjectSceneGps::getNum).collect(Collectors.toList());
- HashMap<String, JSONObject> ssSceneMap = laserService.list(numList1,sceneSource);
- for (ProjectSceneGps sceneGps : laserssList) {
- JSONObject ssObj = ssSceneMap.get(sceneGps.getNum());
- if(ssObj!=null ){
- if(sceneGps.getIsObj() == 0){
- sceneGps.setWebSite(ssObj.getString("webSite"));
- }
- sceneMapShowList.add(sceneGps.getNum());
- projectSceneGpsService.save(sceneGps);
- }
- }
- }
- sceneProService.openMapShow(sceneMapShowList);
- }
- }
|