From 91b70d5ad2ada85cf00b25f7b9ecd9cf980bf138 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期一, 12 八月 2024 16:42:44 +0800
Subject: [PATCH] 优化:websocket接收消息

---
 ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java |  166 +++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 107 insertions(+), 59 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java b/ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java
index c594b93..3b5c939 100644
--- a/ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java
+++ b/ard-work/src/main/java/com/ruoyi/app/position/controller/ArdAppPositionController.java
@@ -2,14 +2,16 @@
 
 import javax.servlet.http.HttpServletResponse;
 
+import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellParam;
 import com.ruoyi.app.position.domain.ArdAppPosition;
 import com.ruoyi.app.position.service.IArdAppPositionService;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.storage.minio.utils.MinioUtils;
-import com.ruoyi.rongcloud.service.RongCloudService;
 import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.utils.minio.MinioUtil;
+import com.ruoyi.utils.result.Results;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -29,24 +31,28 @@
 import com.ruoyi.common.core.page.TableDataInfo;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.net.InetAddress;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.UnknownHostException;
 import java.util.*;
 
 /**
  * app浣嶇疆Controller
- * 
+ *
  * @author ard
  * @date 2023-07-18
  */
 @Api(tags = "app浣嶇疆")
 @RestController
 @RequestMapping("/app/position")
-public class ArdAppPositionController extends BaseController
-{
+public class ArdAppPositionController extends BaseController {
     @Autowired
     private IArdAppPositionService ardAppPositionService;
     @Autowired
     private ISysUserService sysUserService;
-
+//    @Autowired
+//    private MinioUtils minioUtil;
 
     /**
      * 鏌ヨapp浣嶇疆鍒楄〃
@@ -54,8 +60,7 @@
     @ApiOperation("鏌ヨapp浣嶇疆鍒楄〃")
 //    @PreAuthorize("@ss.hasPermi('app:position:list')")
     @GetMapping("/list")
-    public TableDataInfo list(ArdAppPosition ardAppPosition)
-    {
+    public TableDataInfo list(ArdAppPosition ardAppPosition) {
         startPage();
         List<ArdAppPosition> list = ardAppPositionService.selectArdAppPositionList(ardAppPosition);
         return getDataTable(list);
@@ -67,8 +72,7 @@
     @PreAuthorize("@ss.hasPermi('app:position:export')")
     @Log(title = "app浣嶇疆", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ArdAppPosition ardAppPosition)
-    {
+    public void export(HttpServletResponse response, ArdAppPosition ardAppPosition) {
         List<ArdAppPosition> list = ardAppPositionService.selectArdAppPositionList(ardAppPosition);
         ExcelUtil<ArdAppPosition> util = new ExcelUtil<ArdAppPosition>(ArdAppPosition.class);
         util.exportExcel(response, list, "app浣嶇疆鏁版嵁");
@@ -79,8 +83,7 @@
      */
     @PreAuthorize("@ss.hasPermi('app:position:query')")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") String id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(ardAppPositionService.selectArdAppPositionById(id));
     }
 
@@ -91,9 +94,8 @@
 //    @PreAuthorize("@ss.hasPermi('app:position:add')")
     @Log(title = "app浣嶇疆", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody ArdAppPosition ardAppPosition)
-    {
-        return toAjax(ardAppPositionService.insertArdAppPosition(ardAppPosition));
+    public AjaxResult add(@RequestBody ArdAppPosition ardAppPosition) {
+        return AjaxResult.success(ardAppPositionService.insertArdAppPosition(ardAppPosition));
     }
 
     /**
@@ -102,8 +104,7 @@
     @PreAuthorize("@ss.hasPermi('app:position:edit')")
     @Log(title = "app浣嶇疆", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody ArdAppPosition ardAppPosition)
-    {
+    public AjaxResult edit(@RequestBody ArdAppPosition ardAppPosition) {
         return toAjax(ardAppPositionService.updateArdAppPosition(ardAppPosition));
     }
 
@@ -112,95 +113,142 @@
      */
     @PreAuthorize("@ss.hasPermi('app:position:remove')")
     @Log(title = "app浣嶇疆", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable String[] ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
         return toAjax(ardAppPositionService.deleteArdAppPositionByIds(ids));
     }
+
     /**
      * 鑾峰彇鎵�鏈夌敤鎴�
      */
     @ApiOperation("鑾峰彇鎵�鏈夌敤鎴�")
     @GetMapping("/getUserlist")
-    public AjaxResult getUserlist(Long deptId)
-    {
-        SysUser user=new SysUser();
+    public AjaxResult getUserlist(Long deptId) {
+        SysUser user = new SysUser();
         user.setDeptId(deptId);
         List<SysUser> list = sysUserService.selectUserList(user);
         return AjaxResult.success(list);
     }
 
+    /**
+     * 鑾峰彇鎵�鏈塧pp鐢ㄦ埛
+     */
+    @ApiOperation("鑾峰彇鎵�鏈塧pp鐢ㄦ埛")
+    @GetMapping("/getAppUserList")
+    public AjaxResult getAppUserList(Long deptId) {
+        SysUser user = new SysUser();
+        user.setDeptId(deptId);
+        List<SysUser> list = sysUserService.selectAllAppUserList(user);
+        return AjaxResult.success(list);
+    }
 
     /**
      * 鑾峰彇鎵�鏈塧pp鐢ㄦ埛
      */
     @ApiOperation("鑾峰彇鎵�鏈塧pp鐢ㄦ埛pc")
     @GetMapping("/getAppUserForPclist")
-    public AjaxResult getAppUserForPclist(Long deptId)
-    {
-        SysUser user=new SysUser();
+    public AjaxResult getAppUserForPclist(Long deptId) {
+        SysUser user = new SysUser();
         user.setDeptId(deptId);
         List<SysUser> list = sysUserService.selectAllAppUserList(user);
-        List<SysUser> onLineList=new ArrayList<>();
-        List<SysUser> offLineList=new ArrayList<>();
-        for(SysUser sysUser:list)
-        {
+        List<SysUser> onLineList = new ArrayList<>();
+        List<SysUser> offLineList = new ArrayList<>();
+        for (SysUser sysUser : list) {
             ArdAppPosition ardAppPosition = ardAppPositionService.selectLastArdAppPositionByUserId(sysUser.getUserId());
-            if(ardAppPosition!=null) {
-                Map<String, Object> params =new HashMap<>();
+            if (ardAppPosition != null) {
+                Map<String, Object> params = new HashMap<>();
                 params.put("longitude", ardAppPosition.getLongitude());
                 params.put("latitude", ardAppPosition.getLatitude());
                 params.put("altitude", ardAppPosition.getAltitude());
                 params.put("bearing", ardAppPosition.getBearing());
                 sysUser.setParams(params);
             }
-            if(StringUtils.isNotNull(sysUser.getAppOnlineState()))
-            {
-                if(sysUser.getAppOnlineState().equals("1"))
-                {
+            if (StringUtils.isNotNull(sysUser.getAppOnlineState())) {
+                if (sysUser.getAppOnlineState().equals("1")) {
                     onLineList.add(sysUser);
-                }
-                else
-                {
+                } else {
                     offLineList.add(sysUser);
                 }
-            }
-            else
-            {
+            } else {
                 offLineList.add(sysUser);
             }
 
         }
-        Map<String,Object> onlineMap=new HashMap<>();
-        onlineMap.put("children",onLineList);
-        onlineMap.put("name","鍦ㄧ嚎鐢ㄦ埛("+onLineList.size()+")");
-        onlineMap.put("disabled",true);
-        onlineMap.put("id","onLine");
-        Map<String,Object> offlineMap=new HashMap<>();
-        offlineMap.put("children",offLineList);
-        offlineMap.put("name","绂荤嚎鐢ㄦ埛("+offLineList.size()+")");
-        offlineMap.put("disabled",true);
-        offlineMap.put("id","offLine");
-        List< Map<String,Object> > lists = new ArrayList<>();
+        Map<String, Object> onlineMap = new HashMap<>();
+        onlineMap.put("children", onLineList);
+        onlineMap.put("name", "鍦ㄧ嚎鐢ㄦ埛(" + onLineList.size() + ")");
+        onlineMap.put("disabled", true);
+        onlineMap.put("id", "onLine");
+        Map<String, Object> offlineMap = new HashMap<>();
+        offlineMap.put("children", offLineList);
+        offlineMap.put("name", "绂荤嚎鐢ㄦ埛(" + offLineList.size() + ")");
+        offlineMap.put("disabled", true);
+        offlineMap.put("id", "offLine");
+        List<Map<String, Object>> lists = new ArrayList<>();
         lists.add(onlineMap);
         lists.add(offlineMap);
         return AjaxResult.success(lists);
     }
+
     /**
      * 鑾峰彇鐢ㄦ埛璇︽儏
      */
     @ApiOperation("鑾峰彇鐢ㄦ埛璇︽儏")
     @GetMapping("/getUserInfo")
-    public AjaxResult getUserInfo(String userId)
-    {
+    public AjaxResult getUserInfo(String userId) {
         SysUser sysUser = sysUserService.selectUserById(userId);
         return AjaxResult.success(sysUser);
     }
+
     @PostMapping("/uploadFile")
     @ApiOperation("涓婁紶鏂囦欢")
-    public AjaxResult uploadFile(MultipartFile file,String type)
-    {
-        String url = MinioUtils.putObjectAndGetUrl("app",type, file);
-        return AjaxResult.success(url);
+    public AjaxResult uploadFile(MultipartFile file, String type) throws MalformedURLException, UnknownHostException {
+        String urlStr = MinioUtil.putObjectAndGetUrl("app", type, file);
+        URL url = new URL(urlStr);
+        // 鏇挎崲 https 涓� http锛屽苟灏嗕富鏈哄悕鍜岀鍙e彿鏇挎崲涓烘湰鍦板湴鍧�
+        String serverIpAddress = InetAddress.getLocalHost().getHostAddress();
+        // 鏋勫缓鏂扮殑 URL 瀵硅薄锛屼娇鐢� HTTPS 鍗忚
+        URL httpsUrl = new URL("https", serverIpAddress, url.getPort(), url.getFile());
+        return AjaxResult.success(httpsUrl);
     }
+
+    @GetMapping("/getOnlinePCOrCommander")
+    @ApiOperation("鏌ヨ鏈儴闂ㄥ湪绾縋C绔強鎸囨尌绔�")
+    public AjaxResult getOnlinePCOrCommander() {
+        String usersId = SecurityUtils.getUserId();
+        Map<String, List<SysUser>> result = ardAppPositionService.getOnlinePCOrCommander(usersId);
+        return AjaxResult.success(result);
+    }
+
+    @GetMapping("/getOnlineCommanderPosition")
+    @ApiOperation("鍗曞叺绔煡鐪嬪凡閫氳繃瀹℃壒鐨勫湪绾挎寚鎸ョ浣嶇疆")
+    public AjaxResult getOnlineCommanderPosition() {
+        String soilderId = SecurityUtils.getUserId();
+        try {
+            List<Map<String, Object>> result = ardAppPositionService.getOnlineCommanderPosition(soilderId);
+            return AjaxResult.success(result);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error();
+        }
+    }
+
+    @PostMapping("/getAPPPositionByUserIdAndTime")
+    @ApiOperation("鏌ョ湅APP鍘嗗彶浣嶇疆")
+    public AjaxResult getAPPPositionByUserIdAndTime(@RequestBody Map<String, String> para) {
+        try {
+            List<ArdAppPosition> result = ardAppPositionService.getAPPPositionByUserIdAndTime(para);
+            return AjaxResult.success(result);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error();
+        }
+    }
+
+    @GetMapping("/getOnlineAPPSoilderByCommanderId")
+    public AjaxResult getOnlineAPPSoilderByCommanderId() {
+        String userId = SecurityUtils.getUserId();
+        return success(ardAppPositionService.getOnlineAPPSoilderByCommanderId(userId));
+    }
+
 }

--
Gitblit v1.9.3