From 2a83dc06a43087f7ca6bebd5440530b2b3c16b85 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期六, 22 七月 2023 15:30:52 +0800
Subject: [PATCH] 三一车辆消息打印取消提交
---
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java | 123 +++++++++++++++++++++++++++--------------
1 files changed, 81 insertions(+), 42 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
index 102b824..fdd4998 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -1,9 +1,7 @@
package com.ruoyi.sy.controller;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -11,10 +9,14 @@
import com.ruoyi.client.ARDCarSYGPSClient;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.sy.domain.ArdSyUser;
+import com.ruoyi.sy.gps31.PushClientImplPosition;
import com.ruoyi.sy.service.IArdSyUserService;
import com.ruoyi.sy.service.SysParaService;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
+import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.utils.httpclient.SYCarClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -33,6 +35,8 @@
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
+
+import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS;
/**
* 涓変竴杞﹁締Controller
@@ -58,6 +62,40 @@
@Autowired
private IArdSyUserService iArdSyUserService;
+
+ private ArdSyCarController ardSyCarController;
+
+ @PostConstruct
+ public void init(){
+ ardSyCarController = this;
+ ardSyCarController.sysConfigService = this.sysConfigService;
+ ardSyCarController.iArdSyUserService = this.iArdSyUserService;
+
+ SysConfig config = new SysConfig();
+ config.setConfigKey("syCarPT");
+ List<SysConfig> sysConfigResult = sysConfigService.selectConfigList(config);
+ String syURL = "";
+ if(sysConfigResult.size() == 0){
+ return;
+ }else{
+ syURL = sysConfigResult.get(0).getConfigValue();
+ }
+ String ip = syURL.split(":")[1].replace("//", "");
+ List<ArdSyUser> ardSyUserList = iArdSyUserService.selectSyUser();
+ //杞﹁締瀹炴椂浣嶇疆绾跨▼
+ PushClientImplPosition pushClientImplPosition = new PushClientImplPosition(ip,ardSyUserList.get(0).getUserId(),ardSyUserList.get(0).getPassword());
+ Thread pushClientImplPositionThread = new Thread(pushClientImplPosition);
+ pushClientImplPositionThread.start();
+
+ Date date = new Date();
+ Timer carPositionTimer = new Timer();//瀹氭椂鎺ㄩ�佸疄鏃朵綅缃�
+ TimerTask carPositionTask =new TimerTask(){
+ public void run(){
+ ardSyCarService.sendArdSyCarPosition();
+ }
+ };
+ carPositionTimer.scheduleAtFixedRate(carPositionTask,date,3*1000);//鍚敤
+ }
/**
* 鏌ヨ涓変竴杞﹁締鍒楄〃
@@ -226,48 +264,49 @@
@ApiOperation("鏍规嵁鐢ㄦ埛鑾峰彇涓変竴鍒楄〃")
public Map<String,Object> allListByUser(){
String usersId = SecurityUtils.getUserId();
- Map<String, String> result = logInMap.get(Integer.parseInt(usersId));
- String syURL = sysParaService.getSYURL();
- if(result == null){
- Map<String,Object> m = iArdSyUserService.selectArdSyUserByUsersId(Integer.parseInt(usersId));
- if(m == null){
- Map<String,Object> map0 = new HashMap();
- map0.put("rspDesc", "褰撳墠鐧诲綍鐢ㄦ埛鏈寕鎺ヨ溅杈嗘潈闄�");
- map0.put("rspCode", "0");
- return map0;
- }
- Map<String, Object> result0 = ARDCarGPSLogInClient.loginIn(syURL,(String) m.get("userId"), (String) m.get("password"));
- result = new HashMap();
- result.put("userId", (String) m.get("userId"));
- result.put("sessionId", (String) result0.get("sessionId"));
- }
+ ArdSyUser ardSyUser = iArdSyUserService.userById(usersId);
Map<String,Object> result0 = new HashMap();
- try {
- result0 = ARDCarSYGPSClient.getCarGPSTeamList(syURL,result.get("userId"),result.get("sessionId"));//
- } catch (Exception e) {
- Map<String,Object> map = new HashMap();
- map.put("rspCode", 0);
- map.put("list", new ArrayList());
- return map;
- }
- int online = 0;
- for(Map<String,Object> map : (List<Map<String,Object>>) result0.get("list")){
- Map<String,Object> resultMap = (Map<String, Object>) ARDCarSYGPSClient.getCarListByTeamId(syURL,(String)map.get("teamId"),result.get("sessionId"));
- List<Map<String,Object>> carList = (List<Map<String, Object>>) resultMap.get("carList");
- for(Map<String,Object> m : carList){
- if(((String) m.get("stateCn")).contains("鍦ㄧ嚎")){
- online = online + 1;
- }else{
- continue;
- }
+ //鍒ゆ柇鍏宠仈琛ㄦ槸鍚︽湁鏁版嵁
+ if(ardSyUser!=null){
+ //31鐢ㄦ埛鍚嶅瘑鐮�
+ String username31 = ardSyUser.getUserId();
+ String password31 = ardSyUser.getPassword();
+ //鏌ヨ鍦板潃
+ Map<String, String> result = logInMap.get(Integer.parseInt(usersId));
+ String syURL = sysParaService.getSYURL();
+ Map<String, Object> result1 = ARDCarGPSLogInClient.loginIn(syURL,username31, password31);
+ result = new HashMap();
+ result.put("userId", username31);
+ result.put("sessionId", (String) result1.get("sessionId"));
+ try {
+ result0 = ARDCarSYGPSClient.getCarGPSTeamList(syURL,result.get("userId"),result.get("sessionId"));//
+ } catch (Exception e) {
+ Map<String,Object> map = new HashMap();
+ map.put("rspCode", 0);
+ map.put("list", new ArrayList());
+ return map;
}
- for(Map<String,Object> m : (List<Map<String,Object>>) result0.get("list")){
- if(((String) m.get("teamId")).equals(((String) map.get("teamId")))){
- map.put("count", Integer.parseInt((String) m.get("carNum")));
+ int online = 0;
+ for(Map<String,Object> map : (List<Map<String,Object>>) result0.get("list")){
+ Map<String,Object> resultMap = (Map<String, Object>) ARDCarSYGPSClient.getCarListByTeamId(syURL,(String)map.get("teamId"),result.get("sessionId"));
+ List<Map<String,Object>> carList = (List<Map<String, Object>>) resultMap.get("carList");
+ for(Map<String,Object> m : carList){
+ if(((String) m.get("stateCn")).contains("鍦ㄧ嚎")){
+ online = online + 1;
+ }else{
+ continue;
+ }
}
+ for(Map<String,Object> m : (List<Map<String,Object>>) result0.get("list")){
+ if(((String) m.get("teamId")).equals(((String) map.get("teamId")))){
+ map.put("count", Integer.parseInt((String) m.get("carNum")));
+ }
+ }
+ map.put("online", online);
+ online = 0;
}
- map.put("online", online);
- online = 0;
+ }else {
+ result0.put("鍒楄〃涓虹┖锛�","鏃犲叧鑱旇处鍙凤紒");
}
return result0;
}
--
Gitblit v1.9.3