From 1e79a0e52ad5c666d38f900ae10ee92e26804da4 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 17 七月 2023 17:16:10 +0800
Subject: [PATCH] 提交

---
 ard-work/src/main/java/com/ruoyi/rongcloud/service/MyAddressSource.java            |   40 +++++
 ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java             |    5 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java            |    2 
 ard-work/src/main/java/com/ruoyi/rongcloud/domain/RongCloudParam.java              |    4 
 ard-work/src/main/java/com/ruoyi/media/service/IMediaService.java                  |    2 
 ard-work/pom.xml                                                                   |   40 ++--
 ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java  |   84 ++++++----
 /dev/null                                                                          |  183 ----------------------
 ard-work/src/main/java/com/ruoyi/media/domain/Items.java                           |    2 
 ard-work/src/main/java/com/ruoyi/rongcloud/service/RongCloudService.java           |    4 
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java |    2 
 ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java                 |   22 +-
 ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java     |   17 +
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java  |    1 
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java        |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java   |    3 
 ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java              |   41 ++++
 17 files changed, 190 insertions(+), 264 deletions(-)

diff --git a/ard-work/pom.xml b/ard-work/pom.xml
index 2d02074..1b1a772 100644
--- a/ard-work/pom.xml
+++ b/ard-work/pom.xml
@@ -65,18 +65,12 @@
             <artifactId>minio</artifactId>
             <version>8.3.5</version>
         </dependency>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>1.6.2</version>
-            <scope>compile</scope>
-        </dependency>
-        <!-- Forest -->
-        <dependency>
-            <groupId>com.dtflys.forest</groupId>
-            <artifactId>forest-spring-boot-starter</artifactId>
-            <version>1.5.22</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>io.swagger</groupId>-->
+<!--            <artifactId>swagger-annotations</artifactId>-->
+<!--            <version>1.6.2</version>-->
+<!--            <scope>compile</scope>-->
+<!--        </dependency>-->
         <!--mqtt-->
         <dependency>
             <groupId>org.springframework.integration</groupId>
@@ -87,18 +81,22 @@
             <groupId>com.ruoyi</groupId>
             <artifactId>ruoyi-system</artifactId>
         </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-core</artifactId>
-            <version>3.0.0</version>
-            <scope>compile</scope>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>io.springfox</groupId>-->
+<!--            <artifactId>springfox-core</artifactId>-->
+<!--            <version>3.0.0</version>-->
+<!--            <scope>compile</scope>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>com.github.xiaoymin</groupId>
-            <artifactId>knife4j-annotations</artifactId>
+            <artifactId>knife4j-spring</artifactId>
             <version>2.0.9</version>
-            <scope>compile</scope>
         </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.github.xiaoymin</groupId>-->
+<!--            <artifactId>knife4j-annotations</artifactId>-->
+<!--            <version>2.0.9</version>-->
+<!--        </dependency>-->
         <!--寮犲缓鎻愪緵寮曞渚濊禆-->
         <dependency>
             <groupId>org.gavaghan</groupId>
@@ -114,7 +112,7 @@
         <dependency>
             <groupId>com.dtflys.forest</groupId>
             <artifactId>forest-spring-boot-starter</artifactId>
-            <version>1.5.22</version>
+            <version>1.5.28</version>
         </dependency>
     </dependencies>
 
diff --git a/ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java b/ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java
index 4d1121a..088a8b5 100644
--- a/ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java
+++ b/ard-work/src/main/java/com/ruoyi/media/controller/MediaController.java
@@ -45,8 +45,9 @@
 
     @GetMapping("/getPaths")
     @ApiOperation("鑾峰彇褰撳墠杞爜鍒楄〃")
-    public AjaxResult getPaths() {
-        return AjaxResult.success(mediaService.paths());
+    public TableDataInfo getPaths() {
+        startPage();
+        return getDataTable(mediaService.paths());
     }
 
     @GetMapping("/getRtspSessions")
diff --git a/ard-work/src/main/java/com/ruoyi/media/domain/Items.java b/ard-work/src/main/java/com/ruoyi/media/domain/Items.java
index 522d282..09960f7 100644
--- a/ard-work/src/main/java/com/ruoyi/media/domain/Items.java
+++ b/ard-work/src/main/java/com/ruoyi/media/domain/Items.java
@@ -24,7 +24,7 @@
     private List<Readers> readers;
     private boolean sourceReady;
     private List<String> tracks;
-
+    private String mode;
 
     private String id;
     private Date created;
diff --git a/ard-work/src/main/java/com/ruoyi/media/service/IMediaService.java b/ard-work/src/main/java/com/ruoyi/media/service/IMediaService.java
index c3e1553..910ad97 100644
--- a/ard-work/src/main/java/com/ruoyi/media/service/IMediaService.java
+++ b/ard-work/src/main/java/com/ruoyi/media/service/IMediaService.java
@@ -9,7 +9,7 @@
 
     public String addPath(String name, String rtspPath);
     public void removePath(String name);
-    public List<Items>paths();
+    public List<StreamInfo>paths();
     public List<Items> rtspconns();
     public List<Items> rtspsessions();
 
diff --git a/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java b/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java
index bf043d6..cf7469e 100644
--- a/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java
+++ b/ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java
@@ -1,10 +1,12 @@
 package com.ruoyi.media.service.impl;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.media.domain.*;
 import com.ruoyi.media.service.IMediaService;
 import com.ruoyi.utils.forest.MediaClient;
 import com.ruoyi.utils.tools.ArdTool;
+import io.minio.messages.Item;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -61,11 +63,46 @@
     }
 
     @Override
-    public List<Items> paths() {
+    public List<StreamInfo> paths() {
         String apiUrl = "http://" + mediamtxHost + ":9997/v2";
         String list = mediaClient.paths(apiUrl);
         JsonsRoot jsonsRoot = JSONObject.parseObject(list, JsonsRoot.class);
-        return jsonsRoot.getItems();
+        List<Items> items = jsonsRoot.getItems();
+        List<StreamInfo> pathInfoList = new ArrayList<>();
+        for (Items item : items) {
+            StreamInfo info = new StreamInfo();
+            //ID
+            String name = item.getName();
+            info.setName(name);
+            String runoninit="";
+            String runondemand = item.getConf().getRunondemand();
+            if (StringUtils.isNotEmpty(runondemand))
+            {
+                runoninit= item.getConf().getRunondemand();
+            }
+            else
+            {
+                runoninit = item.getConf().getRunoninit();
+            }
+            //RTSP婧愬湴鍧�
+            runoninit = item.getConf().getRunondemand();
+            String regex = "rtsp://[^\\s\"]+";
+            Pattern pattern = Pattern.compile(regex);
+            Matcher matcher = pattern.matcher(runoninit);
+            if (matcher.find()) {
+                info.setRtspSource(matcher.group());
+            }
+            //浼犺緭鍗忚
+            regex = "-rtsp_transport\\s+(\\w+)";
+            pattern = Pattern.compile(regex);
+            matcher = pattern.matcher(runoninit);
+            if (matcher.find()) {
+                info.setProtocol(matcher.group(1));
+            }
+
+            pathInfoList.add(info);
+        }
+        return pathInfoList;
     }
 
     @Override
diff --git a/ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java b/ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java
index 4d3ac10..3c76221 100644
--- a/ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java
+++ b/ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java
@@ -7,13 +7,12 @@
 import com.ruoyi.rongcloud.service.RongCloudService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Description:
@@ -37,6 +36,7 @@
         String token = rongCloudService.getToken(userId, name);
         return AjaxResult.success(token);
     }
+
     @PostMapping("/uploadPic")
     @ApiOperation("涓婁紶鐢ㄦ埛澶村儚")
     public AjaxResult uploadPic(MultipartFile file)
@@ -44,4 +44,13 @@
         String url = MinioUtils.putObjectAndGetUrl("useravatar", file);
         return AjaxResult.success(url);
     }
+
+    @PostMapping("/checkOnline")
+    @ApiOperation("鏌ヨ鐢ㄦ埛鍦ㄧ嚎鐘舵��")
+    public AjaxResult checkOnline(@RequestBody List<String> userIds)
+    {
+        Map map = rongCloudService.checkOnline(userIds);
+        return AjaxResult.success(map);
+    }
+
 }
diff --git a/ard-work/src/main/java/com/ruoyi/rongcloud/domain/TokenParam.java b/ard-work/src/main/java/com/ruoyi/rongcloud/domain/RongCloudParam.java
similarity index 77%
rename from ard-work/src/main/java/com/ruoyi/rongcloud/domain/TokenParam.java
rename to ard-work/src/main/java/com/ruoyi/rongcloud/domain/RongCloudParam.java
index 1592491..5d0c41e 100644
--- a/ard-work/src/main/java/com/ruoyi/rongcloud/domain/TokenParam.java
+++ b/ard-work/src/main/java/com/ruoyi/rongcloud/domain/RongCloudParam.java
@@ -4,13 +4,13 @@
 
 /**
  * @Description:
- * @ClassName: TokenParam
+ * @ClassName: rongCloudParam
  * @Author: 鍒樿嫃涔�
  * @Date: 2023骞�07鏈�15鏃�16:54:39
  * @Version: 1.0
  **/
 @Data
-public class TokenParam {
+public class RongCloudParam {
     String userId;
     String name;
 }
diff --git a/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java b/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
index 8674902..fa55088 100644
--- a/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/rongcloud/service/Impl/RongCloudServiceImpl.java
@@ -1,32 +1,23 @@
 package com.ruoyi.rongcloud.service.Impl;
 
-import com.alibaba.fastjson2.JSONObject;
-import com.fasterxml.jackson.databind.util.JSONPObject;
-import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.utils.uuid.IdUtils;
-import com.ruoyi.common.utils.uuid.UUID;
-import com.ruoyi.rongcloud.domain.TokenParam;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.rongcloud.domain.RongCloudParam;
 import com.ruoyi.rongcloud.service.RongCloudService;
-import com.ruoyi.system.mapper.SysConfigMapper;
-import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.utils.forest.RongCloudClient;
 import lombok.extern.slf4j.Slf4j;
-import okhttp3.FormBody;
-import okhttp3.RequestBody;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
-import java.util.Random;
-
-import static org.bouncycastle.asn1.x500.style.RFC4519Style.l;
 
 /**
- * @Description:
+ * @Description: 閫氳瀺涓氬姟鏈嶅姟
  * @ClassName: RongCloudServiceImpl
  * @Author: 鍒樿嫃涔�
  * @Date: 2023骞�07鏈�15鏃�16:49:12
@@ -39,30 +30,57 @@
     @Resource
     RongCloudClient rongCloudClient;
     @Resource
-    ISysConfigService iSysConfigService;
-    @Override
-    public String getToken(String userId,String name) {
+    RedisCache redisCache;
 
-        String token="";
+    /**
+     * 鑾峰彇铻嶄簯token
+     *
+     * @param userId 鐢ㄦ埛id
+     * @param name   鐢ㄦ埛濮撳悕
+     */
+    @Override
+    public String getToken(String userId, String name) {
+
+        String token = "";
         try {
-            String rongyunApiUrl = iSysConfigService.selectConfigByKey("rongyun");
-            String appKey = iSysConfigService.selectConfigByKey("RongCloudAppKey");
-            String appSecret = iSysConfigService.selectConfigByKey("RongCloudAppSecret");
-            TokenParam param = new TokenParam();
+            RongCloudParam param = new RongCloudParam();
             param.setUserId(userId);
             param.setName(name);
-            String Nonce = RandomStringUtils.randomNumeric(18);
-            String Timestamp = String.valueOf(new Date().getTime());
-            String Signature = DigestUtils.sha1Hex(appSecret + Nonce + Timestamp);//App Secret + Nonce + Timestamp
-            String jsonStr = rongCloudClient.getToken(rongyunApiUrl, appKey, Nonce, Timestamp, Signature, param);
-            Map map = JSONObject.parseObject(jsonStr, Map.class);
+            Map map = rongCloudClient.getToken(getRongCloudHead(), param);
             token = (String) map.get("token");
-            log.debug("鐢ㄦ埛"+userId+"鑾峰彇鍒拌瀺浜憈oken:"+token);
-        }
-        catch (Exception ex)
-        {
-            log.error("鑾峰彇token寮傚父:"+ex.getMessage());
+            log.debug("鐢ㄦ埛" + userId + "鑾峰彇鍒拌瀺浜憈oken:" + token);
+        } catch (Exception ex) {
+            log.error("鑾峰彇token寮傚父:" + ex.getMessage());
         }
         return token;
     }
+
+    @Override
+    public Map checkOnline(List<String> userIds) {
+        Map<String, Object> onlineMap = new HashMap<>();
+        for (String userId : userIds) {
+            RongCloudParam param = new RongCloudParam();
+            param.setUserId(userId);
+            Map isOnline = rongCloudClient.checkOnline(getRongCloudHead(), param);
+            onlineMap.put(userId, isOnline.get("status"));
+        }
+        return onlineMap;
+    }
+
+    /**
+     * 鑾峰彇铻嶄簯绛惧悕淇℃伅
+     */
+    public Map<String, Object> getRongCloudHead() {
+        String appKey = redisCache.getCacheObject("sys_config:RongCloudAppKey");
+        String appSecret = redisCache.getCacheObject("sys_config:RongCloudAppSecret");
+        String nonce = RandomStringUtils.randomNumeric(18);
+        String timestamp = String.valueOf(new Date().getTime());
+        String signature = DigestUtils.sha1Hex(appSecret + nonce + timestamp);//App Secret + Nonce + T
+        Map<String, Object> headerMap=new HashMap<>();
+        headerMap.put("App-Key",appKey);
+        headerMap.put("Nonce",nonce);
+        headerMap.put("Timestamp",timestamp);
+        headerMap.put("Signature",signature);
+        return headerMap;
+    }
 }
diff --git a/ard-work/src/main/java/com/ruoyi/rongcloud/service/MyAddressSource.java b/ard-work/src/main/java/com/ruoyi/rongcloud/service/MyAddressSource.java
new file mode 100644
index 0000000..e2267d4
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/rongcloud/service/MyAddressSource.java
@@ -0,0 +1,40 @@
+package com.ruoyi.rongcloud.service;
+
+import com.dtflys.forest.callback.AddressSource;
+import com.dtflys.forest.http.ForestAddress;
+import com.dtflys.forest.http.ForestRequest;
+import com.ruoyi.common.core.redis.RedisCache;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+/**
+ * @Description:
+ * @ClassName: MyAddressSource
+ * @Author: 鍒樿嫃涔�
+ * @Date: 2023骞�07鏈�17鏃�13:40:46
+ * @Version: 1.0
+ **/
+@Component
+public class MyAddressSource implements AddressSource {
+
+    @Resource
+    RedisCache redisCache;
+
+    @Override
+    public ForestAddress getAddress(ForestRequest forestRequest) {
+
+        String apiUrl = redisCache.getCacheObject("sys_config:rongyun");
+        URL url = null;
+        try {
+            url = new URL(apiUrl);
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        }
+        String host = url.getHost();
+        int port = url.getPort();
+        return new ForestAddress(host,port);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/rongcloud/service/RongCloudService.java b/ard-work/src/main/java/com/ruoyi/rongcloud/service/RongCloudService.java
index 476765a..1cdeac8 100644
--- a/ard-work/src/main/java/com/ruoyi/rongcloud/service/RongCloudService.java
+++ b/ard-work/src/main/java/com/ruoyi/rongcloud/service/RongCloudService.java
@@ -1,5 +1,8 @@
 package com.ruoyi.rongcloud.service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description:
  * @ClassName: RongCloudService
@@ -10,4 +13,5 @@
 public interface RongCloudService {
 
     String getToken(String userId,String name);
+    Map checkOnline(List<String>userIds);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java b/ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java
index 3cd7c4a..f3c3207 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/forest/RongCloudClient.java
@@ -1,24 +1,20 @@
 package com.ruoyi.utils.forest;
 
-import com.dtflys.forest.annotation.BaseRequest;
-import com.dtflys.forest.annotation.Body;
-import com.dtflys.forest.annotation.Post;
-import com.dtflys.forest.annotation.Var;
-import com.ruoyi.rongcloud.domain.TokenParam;
+import com.dtflys.forest.annotation.*;
+import com.ruoyi.rongcloud.domain.RongCloudParam;
+import com.ruoyi.rongcloud.service.MyAddressSource;
+
+import java.util.Map;
 
 @BaseRequest(
-        baseURL = "{rongyunApiUrl}",
-        headers = {
-                "App-Key:{AppKey}",
-                "Nonce:{Nonce}",
-                "Timestamp:{Timestamp}",
-                "Signature:{Signature}",
-        },
         sslProtocol = "TLS"
 )
+@Address(source = MyAddressSource.class)
 public interface RongCloudClient {
 
     @Post(url = "/user/getToken.json")
-    public String getToken(@Var("rongyunApiUrl") String rongyunApiUrl,@Var("AppKey") String AppKey, @Var("Nonce") String Nonce, @Var("Timestamp") String Timestamp, @Var("Signature") String Signature, @Body TokenParam param);
+    Map getToken(@Header Map<String, Object> headerMap, @Body RongCloudParam param);
 
+    @Post(url = "user/checkOnline.json")
+    Map checkOnline(@Header Map<String, Object> headerMap, @Body RongCloudParam param);
 }
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index 2e490d3..736c164 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -65,6 +65,7 @@
      * @return 鐢ㄦ埛淇℃伅
      */
     @GetMapping("getInfo")
+    @ApiOperation(value = "鑾峰彇鐢ㄦ埛淇℃伅")
     public AjaxResult getInfo()
     {
         SysUser user = SecurityUtils.getLoginUser().getUser();
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 0980b7b..f60b022 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -5,6 +5,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -40,6 +41,7 @@
  * 
  * @author ruoyi
  */
+//@Api(tags = "鐢ㄦ埛淇℃伅")
 @RestController
 @RequestMapping("/system/user")
 public class SysUserController extends BaseController
@@ -59,6 +61,7 @@
     /**
      * 鑾峰彇鐢ㄦ埛鍒楄〃
      */
+//    @ApiOperation(value = "鑾峰彇鐢ㄦ埛鍒楄〃")
     @PreAuthorize("@ss.hasPermi('system:user:list')")
     @GetMapping("/list")
     public TableDataInfo list(SysUser user)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
deleted file mode 100644
index 2f3f710..0000000
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
+++ /dev/null
@@ -1,183 +0,0 @@
-package com.ruoyi.web.controller.tool;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.StringUtils;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiOperation;
-
-/**
- * swagger 鐢ㄦ埛娴嬭瘯鏂规硶
- * 
- * @author ruoyi
- */
-@Api(tags = "娴嬭瘯swagger-鐢ㄦ埛淇℃伅绠$悊")
-@RestController
-@RequestMapping("/test/user")
-public class TestController extends BaseController
-{
-    private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>();
-    {
-        users.put(1, new UserEntity(1, "admin", "admin123", "15888888888"));
-        users.put(2, new UserEntity(2, "ry", "admin123", "15666666666"));
-    }
-
-    @ApiOperation("鑾峰彇鐢ㄦ埛鍒楄〃")
-    @GetMapping("/list")
-    public R<List<UserEntity>> userList()
-    {
-        List<UserEntity> userList = new ArrayList<UserEntity>(users.values());
-        return R.ok(userList);
-    }
-
-    @ApiOperation("鑾峰彇鐢ㄦ埛璇︾粏")
-    @ApiImplicitParam(name = "userId", value = "鐢ㄦ埛ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class)
-    @GetMapping("/{userId}")
-    public R<UserEntity> getUser(@PathVariable Integer userId)
-    {
-        if (!users.isEmpty() && users.containsKey(userId))
-        {
-            return R.ok(users.get(userId));
-        }
-        else
-        {
-            return R.fail("鐢ㄦ埛涓嶅瓨鍦�");
-        }
-    }
-
-    @ApiOperation("鏂板鐢ㄦ埛")
-    @ApiImplicitParams({
-        @ApiImplicitParam(name = "userId", value = "鐢ㄦ埛id", dataType = "Integer", dataTypeClass = Integer.class),
-        @ApiImplicitParam(name = "username", value = "鐢ㄦ埛鍚嶇О", dataType = "String", dataTypeClass = String.class),
-        @ApiImplicitParam(name = "password", value = "鐢ㄦ埛瀵嗙爜", dataType = "String", dataTypeClass = String.class),
-        @ApiImplicitParam(name = "mobile", value = "鐢ㄦ埛鎵嬫満", dataType = "String", dataTypeClass = String.class)
-    })
-    @PostMapping("/save")
-    public R<String> save(UserEntity user)
-    {
-        if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId()))
-        {
-            return R.fail("鐢ㄦ埛ID涓嶈兘涓虹┖");
-        }
-        users.put(user.getUserId(), user);
-        return R.ok();
-    }
-
-    @ApiOperation("鏇存柊鐢ㄦ埛")
-    @PutMapping("/update")
-    public R<String> update(@RequestBody UserEntity user)
-    {
-        if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId()))
-        {
-            return R.fail("鐢ㄦ埛ID涓嶈兘涓虹┖");
-        }
-        if (users.isEmpty() || !users.containsKey(user.getUserId()))
-        {
-            return R.fail("鐢ㄦ埛涓嶅瓨鍦�");
-        }
-        users.remove(user.getUserId());
-        users.put(user.getUserId(), user);
-        return R.ok();
-    }
-
-    @ApiOperation("鍒犻櫎鐢ㄦ埛淇℃伅")
-    @ApiImplicitParam(name = "userId", value = "鐢ㄦ埛ID", required = true, dataType = "int", paramType = "path", dataTypeClass = Integer.class)
-    @DeleteMapping("/{userId}")
-    public R<String> delete(@PathVariable Integer userId)
-    {
-        if (!users.isEmpty() && users.containsKey(userId))
-        {
-            users.remove(userId);
-            return R.ok();
-        }
-        else
-        {
-            return R.fail("鐢ㄦ埛涓嶅瓨鍦�");
-        }
-    }
-}
-
-@ApiModel(value = "UserEntity", description = "鐢ㄦ埛瀹炰綋")
-class UserEntity
-{
-    @ApiModelProperty("鐢ㄦ埛ID")
-    private Integer userId;
-
-    @ApiModelProperty("鐢ㄦ埛鍚嶇О")
-    private String username;
-
-    @ApiModelProperty("鐢ㄦ埛瀵嗙爜")
-    private String password;
-
-    @ApiModelProperty("鐢ㄦ埛鎵嬫満")
-    private String mobile;
-
-    public UserEntity()
-    {
-
-    }
-
-    public UserEntity(Integer userId, String username, String password, String mobile)
-    {
-        this.userId = userId;
-        this.username = username;
-        this.password = password;
-        this.mobile = mobile;
-    }
-
-    public Integer getUserId()
-    {
-        return userId;
-    }
-
-    public void setUserId(Integer userId)
-    {
-        this.userId = userId;
-    }
-
-    public String getUsername()
-    {
-        return username;
-    }
-
-    public void setUsername(String username)
-    {
-        this.username = username;
-    }
-
-    public String getPassword()
-    {
-        return password;
-    }
-
-    public void setPassword(String password)
-    {
-        this.password = password;
-    }
-
-    public String getMobile()
-    {
-        return mobile;
-    }
-
-    public void setMobile(String mobile)
-    {
-        this.mobile = mobile;
-    }
-}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
index 2dcd4f6..0dfe7a0 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
@@ -14,7 +14,7 @@
  * 
  * @author ruoyi
  */
-@JsonInclude(JsonInclude.Include.NON_NULL)//璇ユ敞瑙h繃婊や负绌虹殑瀛楁
+//@JsonInclude(JsonInclude.Include.NON_NULL)//璇ユ敞瑙h繃婊や负绌虹殑瀛楁
 public class BaseEntity implements Serializable
 {
     private static final long serialVersionUID = 1L;
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
index f21d724..151ebb4 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
@@ -2,6 +2,8 @@
 
 import java.util.Date;
 import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.annotation.Excel.ColumnType;
 import com.ruoyi.common.annotation.Excel.Type;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index ffdf51c..78d2213 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -143,7 +143,7 @@
             SysUser sysUser = new SysUser();
             sysUser.setUserId(userId);
             sysUser.setRongCloudToken(token);
-            userService.updateUser(sysUser);
+            userService.updateUserProfile(sysUser);
         } catch (Exception ex) {
             throw ex;
         }

--
Gitblit v1.9.3