xiewenjie 3 lat temu
rodzic
commit
bd57a4d039

+ 1 - 0
src/main/java/com/fdkk/fdkkmeta/domain/entity/mysql/UserEntity.java

@@ -15,6 +15,7 @@ import lombok.Data;
 @TableName("user")
 public class UserEntity extends BaseEntity {
     private String nickName;
+    private String userId;
     private String skinId;
     private String avatarId;
     private String roomId;

+ 12 - 11
src/main/java/com/fdkk/fdkkmeta/grpcService/sceneGrpcServer.java

@@ -2,6 +2,7 @@ package com.fdkk.fdkkmeta.grpcService;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -162,7 +163,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
     		double horizontal_move = rotation_action.getHorizontalMove();
 
     		//这三个变量从user表和rotateframe表里取
-            UserEntity user = userService.findById(user_id);
+            UserEntity user = userService.findUserId(user_id);
 			Long breakPointId = user.getBreakPointId();
             BreakpointsEntity breakpointsEntity = breakpointsService.findByAppIdAndBreakPointId(user.getAppId(),breakPointId);
             RotateFrameEntity rotateFrameEntity = rotateFrameService.findById(user.getFrameId());
@@ -238,13 +239,13 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
      		String trace_id = request.getTraceId();
      		String user_id = request.getUserId();
 
-            UserEntity user = userService.findById(user_id);
+            UserEntity user = userService.findUserId(user_id);
 			Long breakPointId = user.getBreakPointId();
 			BreakpointsEntity breakpointsEntity = breakpointsService.findByAppIdAndBreakPointId(user.getAppId(),breakPointId);
             RotateFrameEntity rotateFrameEntity = rotateFrameService.findById(user.getFrameId());
 
             Point start = null;    //从user表里取
-            
+
             boolean isEnd = false;
      		//计算路径
 
@@ -267,7 +268,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
             //处理路径数组,处理完成后放入缓存
 			//获得下一个要走的breakPointId
 			Long nextbreakPointId = 0L;
-			if (maps.size()>=2){
+			if (ObjectUtil.isNotNull(maps)&&maps.size()>=2){
 				nextbreakPointId = JSON.parseObject(JSONObject.toJSON(maps.get(1)).toString()).getLong("id");
 				maps.remove(0);
 				redisCache.setCacheObject("route:"+trace_id,maps);
@@ -309,14 +310,14 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
             	Point cameraCenter = createPoint(String.valueOf(playerPoint.getX()),String.valueOf(playerPoint.getY()),String.valueOf(playerPoint.getZ()));
             	String frameSrc = metaConfig.getVideoFramePath()+"/"+_rotateFrameEntity.getDirectory()+"/"+_rotateFrameEntity.getFileName();
             	//添加player,camera,cameraCenter,frameSrc
-            	
+
             }
 
 //          PointPO cameraPoint = rotateFrameEntity.getCameraPosition();
 //          Point cameraPosition = createPoint(String.valueOf(cameraPoint.getX()),String.valueOf(cameraPoint.getY()),String.valueOf(cameraPoint.getZ()));
 //          AngleUe4 cameraAngle = createAngle(cameraAnglePO.getPitch(),cameraAnglePO.getYaw(),cameraAnglePO.getRoll());
 //          Space camera = createSpace(cameraPosition,cameraAngle);
-            
+
 //        	Point cameraCenter = createPoint(String.valueOf(playerPoint.getX()),String.valueOf(playerPoint.getY()),String.valueOf(playerPoint.getZ()));
 //    		State playerState = createPlayerState( player, camera, cameraCenter);
     		State playerState = createPlayerState( player, null, null);
@@ -359,8 +360,8 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
      		boolean needNext = request.getNext();
 
      		boolean isEnd = false;
-     		
-            UserEntity user = userService.findById(user_id);
+
+            UserEntity user = userService.findUserId(user_id);
             BreakpointsEntity breakpointsEntity = breakpointsService.findByAppIdAndBreakPointId(user.getAppId(),user.getBreakPointId());
             RotateFrameEntity rotateFrameEntity = rotateFrameService.findById(user.getFrameId());
      		//moveStart的结果参考moveStart
@@ -386,7 +387,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
             }
 			Long nextbreakPointId = 0L;
 			// 从缓存里面取 JSONArray cacheObject = redisCache.getCacheObject(trace_id);
-			if (redisCache.hasKey(trace_id)){
+			if (needNext&&redisCache.hasKey(trace_id)){
 				JSONArray cacheObject = redisCache.getCacheObject(trace_id);
 				if (cacheObject.size()>=2){
 					 nextbreakPointId = JSON.parseObject(JSONObject.toJSON(cacheObject.get(1)).toString()).getLong("id");
@@ -446,7 +447,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
 
      		//从表breakpoints里获取所有的呼吸点,并且是数组
             //TODO 根据查询所有
-            UserEntity userEntity = userService.findById(user_id);
+            UserEntity userEntity = userService.findUserId(user_id);
             List<BreakpointsEntity> allList = breakpointsService.findByAppId(userEntity.getAppId());
 
             Point[] nps=null;
@@ -499,7 +500,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
      		String user_id = request.getUserId();
      		String packet_id = request.getPacketId();
 
-     		UserEntity user = userService.findById(user_id);
+     		UserEntity user = userService.findUserId(user_id);
      		Long breakPointId = user.getBreakPointId();
      		//获得当前点所有邻居点
 			//TODO 获取棋盘邻居点 getContact

+ 1 - 1
src/main/java/com/fdkk/fdkkmeta/service/MoveFrameService.java

@@ -10,5 +10,5 @@ import java.util.List;
  */
 public interface MoveFrameService extends IBaseService<MoveFrameEntity> {
     List<MoveFrameEntity> findByAppId(String AppId);
-    MoveFrameEntity findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngle(String appId,Integer startBreakPointId,Integer endBreakPointId,Integer angle);
+    MoveFrameEntity findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngle(String appId,Long startBreakPointId,Long endBreakPointId,Integer angle);
 }

+ 1 - 0
src/main/java/com/fdkk/fdkkmeta/service/UserService.java

@@ -10,4 +10,5 @@ import java.util.List;
  * Created by Xiewj on 2021/11/23 0026 10:14
  */
 public interface UserService extends IBaseService<UserEntity> {
+    UserEntity findUserId(String userId);
 }

+ 1 - 1
src/main/java/com/fdkk/fdkkmeta/service/impl/MoveFrameServiceImpl.java

@@ -26,7 +26,7 @@ public class MoveFrameServiceImpl extends BaseServiceImpl<MoveFramesMapper, Move
     }
 
     @Override
-    public MoveFrameEntity findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngle(String appId, Integer startBreakPointId, Integer endBreakPointId, Integer angle) {
+    public MoveFrameEntity findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngle(String appId, Long startBreakPointId, Long endBreakPointId, Integer angle) {
         LambdaQueryWrapper<MoveFrameEntity> wrapper = Wrappers.lambdaQuery();
         wrapper.eq(MoveFrameEntity::getAppId, appId);
         wrapper.eq(MoveFrameEntity::getStartBreakPointId, startBreakPointId);

+ 9 - 1
src/main/java/com/fdkk/fdkkmeta/service/impl/UserImpl.java

@@ -1,5 +1,8 @@
 package com.fdkk.fdkkmeta.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fdkk.fdkkmeta.domain.entity.mysql.RoomEntity;
 import com.fdkk.fdkkmeta.mapper.UserMapper;
 import com.fdkk.fdkkmeta.base.impl.BaseServiceImpl;
 import com.fdkk.fdkkmeta.domain.entity.mysql.UserEntity;
@@ -14,5 +17,10 @@ import org.springframework.stereotype.Service;
 @Slf4j
 @Service
 public class UserImpl extends BaseServiceImpl<UserMapper, UserEntity> implements UserService {
-
+    @Override
+    public UserEntity findUserId(String userId) {
+        LambdaQueryWrapper<UserEntity> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(UserEntity::getUserId, userId);
+        return getOne(wrapper);
+    }
 }