1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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() {
- addLaserData();
- }
- private void addLaserData() {
- List<SceneGpsDb> sceneGpsDbs1 = projectSceneGpsService.getNotGpsScene();
- if(sceneGpsDbs1.isEmpty()){
- log.info("没有需要更新GPS数据的场景");
- return;
- }
- List<ProjectSceneGps> laserssList = new ArrayList<>();
- List<ProjectSceneGps> lasersgList = new ArrayList<>();
- for (SceneGpsDb sceneGpsDb : sceneGpsDbs1) {
- ProjectSceneGps sceneGps = projectSceneGpsService.addGps(sceneGpsDb);
- if(sceneGps != null){
- log.info("num:{}gps:{}",sceneGpsDb.getNum(),sceneGps);
- if(sceneGps.getSceneSource() == 4 ) {
- laserssList.add(sceneGps);
- }else if( sceneGps.getSceneSource() == 5){
- lasersgList.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().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 ){
- sceneGps.setWebSite(ssObj.getString("webSite"));
- projectSceneGpsService.save(sceneGps);
- if(sceneGps.getGpsSource() == 2){
- sceneMapShowList.add(sceneGps.getNum());
- }
- }
- }
- }
- sceneProService.openMapShow(sceneMapShowList);
- }
- }
|