lyhzzz 1 jaar geleden
bovenliggende
commit
dfbc6d0873

+ 18 - 0
src/main/java/com/fdkankan/tk/httpClient/FdKKService.java

@@ -1,10 +1,12 @@
 package com.fdkankan.tk.httpClient;
 
+import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.tk.common.ResultCode;
 import com.fdkankan.tk.exception.BusinessException;
 import com.fdkankan.tk.httpClient.client.FdKKClient;
 import com.fdkankan.tk.httpClient.request.FdkkLoginRequest;
 import com.fdkankan.tk.httpClient.response.FdkkResponse;
+import com.fdkankan.tk.httpClient.response.FdkkUserVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,4 +35,20 @@ public class FdKKService {
         }
         return  true;
     }
+
+    public FdkkUserVo getUserInfo(String token){
+        if( StringUtils.isBlank(token)){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        try {
+            FdkkResponse<FdkkUserVo> fdkkResponse = fdKKClient.getUserInfo(new JSONObject(), token);
+            if(fdkkResponse.getCode() != 0){
+                throw new BusinessException(ResultCode.FD_USER_NOT_EXIST);
+            }
+            return fdkkResponse.getData();
+
+        }catch ( Exception e){
+            throw new BusinessException(ResultCode.FD_USER_NOT_EXIST);
+        }
+    }
 }

+ 2 - 1
src/main/java/com/fdkankan/tk/httpClient/client/FdKKClient.java

@@ -9,6 +9,7 @@ import com.fdkankan.tk.httpClient.address.FdkkAddressSource;
 import com.fdkankan.tk.httpClient.request.FdkkLoginRequest;
 import com.fdkankan.tk.httpClient.response.FdkkLoginVo;
 import com.fdkankan.tk.httpClient.response.FdkkResponse;
+import com.fdkankan.tk.httpClient.response.FdkkUserVo;
 import com.fdkankan.tk.request.SceneParam;
 
 /**
@@ -41,7 +42,7 @@ public interface FdKKClient {
      * 获取用户详情
      */
     @Post("/api/user/getUserInfo")
-    FdkkResponse getUserInfo(@JSONBody JSONObject jsonObject, @Header("token") String token);
+    FdkkResponse<FdkkUserVo> getUserInfo(@JSONBody JSONObject jsonObject, @Header("token") String token);
 
     /**
      * 获取v4场景数据

+ 36 - 24
src/main/java/com/fdkankan/tk/service/impl/RoomServiceImpl.java

@@ -29,6 +29,7 @@ import com.fdkankan.tk.httpClient.FdKKService;
 import com.fdkankan.tk.httpClient.client.FdKKClient;
 import com.fdkankan.tk.httpClient.request.FdkkLoginRequest;
 import com.fdkankan.tk.httpClient.response.FdkkResponse;
+import com.fdkankan.tk.httpClient.response.FdkkUserVo;
 import com.fdkankan.tk.mapper.IRoomMapper;
 import com.fdkankan.tk.mapper.IRoomUserMapper;
 import com.fdkankan.tk.request.RoomAddParam;
@@ -211,6 +212,8 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
         }
         this.removeById(roomId);
     }
+    @Autowired
+    FdKKService fdKKService;
 
     @Override
     public RoomVo getRoomInfo(String roomId,String token,String wxToken) {
@@ -236,38 +239,47 @@ public class RoomServiceImpl extends ServiceImpl<IRoomMapper, Room> implements I
             roomVo.setRoomId(roomId+"_"+roomUserId);
             roomVo.setRoomHostCode("");
             roomVo.setRoomShareCode("");
+
         }
+        String userName = null;
         if(StringUtils.isBlank(token)){
             roomVo.setVisitPassword(null);
+            userName = JwtUtil.getUserName(token);
         }
-        try {
-            if(StringUtils.isNotBlank(wxToken)){
-                String redisKey = String.format(RedisKeyUtil.roomPassword, room.getRoomId(), room.getVisitPassword(), wxToken);
-                log.info("rediskey:{}",redisKey);
-                if(redisUtil.hasKey(redisKey)){
-                    roomVo.setTakeLookLock(0);
-                }
-                WxUser wxUser = wxUserService.getById(JwtUtil.getUserName(wxToken));
-                if(roomUserId != null){
-                    RoomUser roomUser = roomUserService.getById(roomUserId);
-                    if(roomUser != null){
-                        roomVo.setRoomHostCode(roomUser.getRoomHostCode());
-                        roomVo.setRoomShareCode(roomUser.getRoomShareCode());
-                        roomVo.setHostStatus(roomUser.getHostStatus());
-                        if(wxUser.getPhoneNumber().equals(roomUser.getUserName())){
-                            roomVo.setIsHost(1);
-                            roomVo.setHostStatus(1);
-                        }
-                        roomVo.setRoomHostName("");
-                        roomVo.setHead("");
-                    }
-                }else if(wxUser.getPhoneNumber() != null && wxUser.getPhoneNumber().equals(room.getRoomUserName())){
+        if(StringUtils.isNotBlank(roomUserId) && StringUtils.isNotBlank(token)){
+            FdkkUserVo userInfo = fdKKService.getUserInfo(token);
+            if(userInfo != null){
+                roomVo.setRoomHostName(userInfo.getNickName());
+                roomVo.setRoomUserName(userInfo.getUserName());
+            }
+        }
+        //
+        if(StringUtils.isNotBlank(wxToken)){
+            String redisKey = String.format(RedisKeyUtil.roomPassword, room.getRoomId(), room.getVisitPassword(), wxToken);
+            log.info("rediskey:{}",redisKey);
+            if(redisUtil.hasKey(redisKey)){
+                roomVo.setTakeLookLock(0);
+            }
+            WxUser wxUser = wxUserService.getById(JwtUtil.getUserName(wxToken));
+            userName = wxUser.getPhoneNumber();
+        }
+
+        if(roomUserId != null){
+            RoomUser roomUser = roomUserService.getById(roomUserId);
+            if(roomUser != null){
+                roomVo.setRoomHostCode(roomUser.getRoomHostCode());
+                roomVo.setRoomShareCode(roomUser.getRoomShareCode());
+                roomVo.setHostStatus(roomUser.getHostStatus());
+                if(userName.equals(roomUser.getUserName())){
                     roomVo.setIsHost(1);
                     roomVo.setHostStatus(1);
                 }
+                roomVo.setRoomHostName("");
+                roomVo.setHead("");
             }
-        }catch (Exception e){
-            log.error("查询微信用户失败:{}",e);
+        }else if(userName != null && userName.equals(room.getRoomUserName())){
+            roomVo.setIsHost(1);
+            roomVo.setHostStatus(1);
         }
 
         roomVo.setSceneData(list);