|
@@ -154,6 +154,10 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
|
|
|
|
JSONObject myState = new JSONObject();
|
|
JSONObject myState = new JSONObject();
|
|
myState.put("isMoving",0);
|
|
myState.put("isMoving",0);
|
|
|
|
+ myState.put("horizontalMove",0);
|
|
|
|
+ myState.put("frameId",firstFrameId);
|
|
|
|
+ myState.put("breakPointId",firstBreakPointId);
|
|
|
|
+ myState.put("appId",app_id);
|
|
//redis中写入用户状态信息
|
|
//redis中写入用户状态信息
|
|
redisCache.setCacheObject("UserState:"+userEntity.getUserId(),myState);
|
|
redisCache.setCacheObject("UserState:"+userEntity.getUserId(),myState);
|
|
|
|
|
|
@@ -199,23 +203,24 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
String user_id = request.getUserId();
|
|
String user_id = request.getUserId();
|
|
RotationAction rotationAction = request.getRotationAction();
|
|
RotationAction rotationAction = request.getRotationAction();
|
|
|
|
|
|
- UserEntity user = userService.findUserId(user_id);
|
|
|
|
- RotateFrameEntity rotateFrameEntity = rotateFrameService.findById(user.getFrameId());
|
|
|
|
|
|
+ JSONObject myState = redisCache.getCacheObject("UserState:"+user_id);
|
|
|
|
+ //UserEntity user = userService.findUserId(user_id);
|
|
|
|
+ RotateFrameEntity rotateFrameEntity = rotateFrameService.findById(myState.getLong("frameId"));
|
|
|
|
|
|
rotateRequestPO.setAction_type(action_type);
|
|
rotateRequestPO.setAction_type(action_type);
|
|
rotateRequestPO.setTrace_id(trace_id);
|
|
rotateRequestPO.setTrace_id(trace_id);
|
|
rotateRequestPO.setUser_id(user_id);
|
|
rotateRequestPO.setUser_id(user_id);
|
|
|
|
|
|
- double horizontalMove = user.getHorizontalMove();
|
|
|
|
|
|
+ double horizontalMove = myState.getDouble("horizontalMove");
|
|
horizontalMove += rotationAction.getHorizontalMove();
|
|
horizontalMove += rotationAction.getHorizontalMove();
|
|
double hAngle = horizontalMove * 90;
|
|
double hAngle = horizontalMove * 90;
|
|
log.info("旋转的角度:"+hAngle+",旋转距离:"+rotationAction.getHorizontalMove()+",积累的距离:"+horizontalMove);
|
|
log.info("旋转的角度:"+hAngle+",旋转距离:"+rotationAction.getHorizontalMove()+",积累的距离:"+horizontalMove);
|
|
int offFrameIndex = (int)Math.ceil(hAngle);
|
|
int offFrameIndex = (int)Math.ceil(hAngle);
|
|
if(Math.abs(offFrameIndex)<1){
|
|
if(Math.abs(offFrameIndex)<1){
|
|
-
|
|
|
|
- user.setHorizontalMove(horizontalMove);
|
|
|
|
- userService.updateById(user);
|
|
|
|
- log.info("没有旋转,更新了user表");
|
|
|
|
|
|
+ myState.put("horizontalMove",horizontalMove);
|
|
|
|
+ //redis中写入用户状态信息
|
|
|
|
+ redisCache.setCacheObject("UserState:"+user_id,myState);
|
|
|
|
+ log.info("没有旋转,更新了redis的UserState表");
|
|
NormalReply.Builder builder = NormalReply.newBuilder();
|
|
NormalReply.Builder builder = NormalReply.newBuilder();
|
|
builder.setCode(200);
|
|
builder.setCode(200);
|
|
responseObserver.onNext(builder.build());
|
|
responseObserver.onNext(builder.build());
|
|
@@ -223,7 +228,7 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
else{
|
|
else{
|
|
- user.setHorizontalMove(0);
|
|
|
|
|
|
+ myState.put("horizontalMove",0);
|
|
}
|
|
}
|
|
int currentFrame = rotateFrameEntity.getFrameIndex(); //从数据库里读取
|
|
int currentFrame = rotateFrameEntity.getFrameIndex(); //从数据库里读取
|
|
currentFrame +=offFrameIndex;
|
|
currentFrame +=offFrameIndex;
|
|
@@ -234,15 +239,14 @@ public class sceneGrpcServer extends SceneGrpcServiceGrpc.SceneGrpcServiceImplBa
|
|
currentFrame = currentFrame % 359;
|
|
currentFrame = currentFrame % 359;
|
|
}
|
|
}
|
|
|
|
|
|
- rotateFrameEntity = rotateFrameService.findByAppIdAndBreakPointIdAndFrameIndex(user.getAppId(),user.getBreakPointId(),currentFrame);
|
|
|
|
|
|
+ rotateFrameEntity = rotateFrameService.findByAppIdAndBreakPointIdAndFrameIndex(myState.getString("appId"),myState.getLong("breakPointId"),currentFrame);
|
|
rotateRequestPO.setFrameId(rotateFrameEntity.getId());
|
|
rotateRequestPO.setFrameId(rotateFrameEntity.getId());
|
|
log.info("存储请求:"+rotateFrameEntity.getId());
|
|
log.info("存储请求:"+rotateFrameEntity.getId());
|
|
//每次存一帧
|
|
//每次存一帧
|
|
redisCache.setCacheList("setCacheRequest:"+user_id, Arrays.asList(rotateRequestPO));
|
|
redisCache.setCacheList("setCacheRequest:"+user_id, Arrays.asList(rotateRequestPO));
|
|
-
|
|
|
|
- //更新user表中的frame_id
|
|
|
|
- userService.updateById(user);
|
|
|
|
-
|
|
|
|
|
|
+ //redis中写入用户状态信息
|
|
|
|
+ myState.put("frameId",rotateFrameEntity.getId());
|
|
|
|
+ redisCache.setCacheObject("UserState:"+user_id,myState);
|
|
NormalReply.Builder builder = NormalReply.newBuilder();
|
|
NormalReply.Builder builder = NormalReply.newBuilder();
|
|
builder.setCode(200);
|
|
builder.setCode(200);
|
|
responseObserver.onNext(builder.build());
|
|
responseObserver.onNext(builder.build());
|