From 1744329b3f9c3726936a1e1542620dd2780111b6 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期一, 24 七月 2023 12:11:42 +0800
Subject: [PATCH] 三一车辆接口改為forest提交

---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java |   69 +++++++++++++++++++++++++---------
 1 files changed, 51 insertions(+), 18 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index b14176e..5f23307 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -8,13 +8,19 @@
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
 
+import com.alibaba.fastjson.JSON;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.common.websocket.util.WebSocketUtils;
 import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
 import com.ruoyi.device.hiksdk.util.minio.MinioUtils;
 import com.ruoyi.sy.domain.ArdSyUser;
+import com.ruoyi.sy.gps31.PositionContainer;
 import com.ruoyi.sy.mapper.ArdSyUserMapper;
 import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.mapper.SysConfigMapper;
+import com.ruoyi.system.mapper.SysUserMapper;
+import com.ruoyi.utils.forest.SYClient;
 import com.ruoyi.utils.httpclient.SYCarClient;
 import com.ruoyi.utils.result.Constants;
 import com.ruoyi.utils.result.Results;
@@ -25,6 +31,7 @@
 import io.minio.http.Method;
 import io.minio.messages.Contents;
 import io.minio.messages.Item;
+import org.apache.commons.codec.digest.DigestUtils;
 import org.springframework.stereotype.Service;
 import com.ruoyi.sy.mapper.ArdSyCarMapper;
 import com.ruoyi.sy.domain.ArdSyCar;
@@ -32,6 +39,8 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+
+import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS;
 
 /**
  * 涓変竴杞﹁締Service涓氬姟灞傚鐞�
@@ -50,6 +59,11 @@
     @Resource
     private ArdSyUserMapper ardSyUserMapper;
 
+    @Resource
+    private SysUserMapper userMapper;
+
+    @Resource
+    private SYClient sYClient;
 
     /**
      * 鏌ヨ涓変竴杞﹁締
@@ -150,9 +164,12 @@
                 return result;
             }else{
                 ArdSyUser ardSyUser = ardSyUserList.get(0);
-                Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword());
+                //Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword());
+                String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
+                Map<String,Object> LogInResult = sYClient.logIn(syURL,passwordMd5,ardSyUser.getUserId());
                 String sessionId = (String) LogInResult.get("sessionId");
-                Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId);
+                //Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId);
+                Map<String,Object> carListMap = sYClient.getCarList(syURL,sessionId);
                 if(((String)carListMap.get("rspCode")).equals("1")){
                     List<Map<String,Object>> list = (List<Map<String,Object>>) carListMap.get("list");
                     ArdSyCar ardSyCar = new ArdSyCar();
@@ -202,25 +219,14 @@
                 return result;
             }else{
                 ArdSyUser ardSyUser = ardSyUserList.get(0);
-                Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword());
+                //Map<String,Object> LogInResult = SYCarClient.logIn(syURL,ardSyUser.getUserId(), ardSyUser.getPassword());
+                String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
+                Map<String,Object> LogInResult = sYClient.logIn(syURL,passwordMd5,ardSyUser.getUserId());
                 String sessionId = (String) LogInResult.get("sessionId");
-                Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId);
+                //Map<String,Object> carListMap = SYCarClient.getCarList(syURL,sessionId);
+                Map<String,Object> carListMap = sYClient.getCarList(syURL,sessionId);
                 if(((String)carListMap.get("rspCode")).equals("1")){
                     List<Map<String,Object>> list = (List<Map<String,Object>>) carListMap.get("list");
-                    /*ArdSyCar ardSyCar = new ArdSyCar();
-                    List<ArdSyCar> ardSyCarList = ardSyCarMapper.selectArdSyCarList(ardSyCar);
-                    List<String> carIdList = new ArrayList();
-                    for(ArdSyCar innerArdSyCar : ardSyCarList){
-                        carIdList.add(innerArdSyCar.getCarId());
-                    }
-
-                    List<Map<String,Object>> carList = list.stream().filter(new Predicate<Map<String,Object>>(){
-                        @Override
-                        public boolean test(Map<String,Object> map) {
-                            return !carIdList.contains((String)map.get("carId"));
-                        }
-                    }).collect(Collectors.toList());
-                    result.put("data",carList);*/
                     result.put("data",list);
                     result.put("code","200");
                     return result;
@@ -333,6 +339,7 @@
 //        return result;
 //    }
 
+
     @Override
     public Results carListById(String id) {
         try {
@@ -347,4 +354,30 @@
             return Results.error(e.toString());
         }
     }
+
+    @Override
+    public Map<String, Object> getArdSyCarAndDeptByCarId(String carId) {
+        Map<String, Object> result = ardSyCarMapper.getArdSyCarAndDeptByCarId(carId);
+        return result;
+    }
+
+    @Override
+    public void sendArdSyCarPosition() {
+        for(String key : ONLINE_USER_SESSIONS.keySet()){
+            SysUser sysUser = userMapper.selectUserById(key);
+            String deptId = String.valueOf(sysUser.getDeptId());
+            Map<String,Map<String,Object>> map = PositionContainer.getDeptPositionMap().get(deptId);
+            Map<Integer,Object> data = new HashMap();
+            data.put(30000, map.values());
+            WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(key), JSON.toJSONString(data));
+        }
+    }
+
+    @Override
+    public void sendArdSyCarAlarmByCarId(String carId, Map<Integer,Object> data) {
+        List<SysUser> result = userMapper.getSysUserByCarId(carId);
+        for(SysUser sysUser : result){
+            WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(sysUser.getUserId()), JSON.toJSONString(data));
+        }
+    }
 }

--
Gitblit v1.9.3