|
@@ -49,7 +49,7 @@ public class UpdateFrameMetaTask {
|
|
SceneGrpcService sceneGrpcService;
|
|
SceneGrpcService sceneGrpcService;
|
|
@Autowired
|
|
@Autowired
|
|
BreakpointsService breakpointsService;
|
|
BreakpointsService breakpointsService;
|
|
- @Scheduled(initialDelay=200, fixedDelay=1000)
|
|
|
|
|
|
+ @Scheduled(initialDelay=200, fixedDelay=1000/30)
|
|
public void updateFrameMetadata(){
|
|
public void updateFrameMetadata(){
|
|
List<UserEntity> userOnline = userService.findUserOnline(true);
|
|
List<UserEntity> userOnline = userService.findUserOnline(true);
|
|
log.info("进入定时任务{}", ArrayUtil.isNotEmpty(userOnline)?userOnline.size():0);
|
|
log.info("进入定时任务{}", ArrayUtil.isNotEmpty(userOnline)?userOnline.size():0);
|
|
@@ -75,7 +75,7 @@ public class UpdateFrameMetaTask {
|
|
}
|
|
}
|
|
|
|
|
|
List<ActionPO> rotateJoystickList = new ArrayList<ActionPO>();
|
|
List<ActionPO> rotateJoystickList = new ArrayList<ActionPO>();
|
|
- JSONObject myState = redisCache.getCacheObject("UserState"+user.getUserId());
|
|
|
|
|
|
+ JSONObject myState = redisCache.getCacheObject("UserState:"+user.getUserId());
|
|
|
|
|
|
ActionPO _actionPO = list.get(0);
|
|
ActionPO _actionPO = list.get(0);
|
|
int firstActionType = _actionPO.getAction_type();
|
|
int firstActionType = _actionPO.getAction_type();
|
|
@@ -115,10 +115,10 @@ public class UpdateFrameMetaTask {
|
|
playerAngle.setYaw(_angle);
|
|
playerAngle.setYaw(_angle);
|
|
_actionPO.setPlayerAngle(playerAngle);
|
|
_actionPO.setPlayerAngle(playerAngle);
|
|
//更新redis记录
|
|
//更新redis记录
|
|
- redisCache.setCacheListByIndex("setCacheRequest"+user.getUserId(),0,_actionPO);
|
|
|
|
|
|
+ redisCache.setCacheListByIndex("setCacheRequest:"+user.getUserId(),0,_actionPO);
|
|
|
|
|
|
myState.put("isMoving",0);
|
|
myState.put("isMoving",0);
|
|
- redisCache.setCacheObject("UserState"+user.getUserId(),myState);
|
|
|
|
|
|
+ redisCache.setCacheObject("UserState:"+user.getUserId(),myState);
|
|
|
|
|
|
//moveFrameEntity = moveFrameService.findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngleAndFrameIndex(user.getAppId(), startBreakPointId, endBreakPointId,_actionPO.getCameraAngle().getYaw(),0);
|
|
//moveFrameEntity = moveFrameService.findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngleAndFrameIndex(user.getAppId(), startBreakPointId, endBreakPointId,_actionPO.getCameraAngle().getYaw(),0);
|
|
user.setFrameId(rotateFrameEntity.getId());
|
|
user.setFrameId(rotateFrameEntity.getId());
|
|
@@ -130,7 +130,7 @@ public class UpdateFrameMetaTask {
|
|
//过渡全部结束
|
|
//过渡全部结束
|
|
else{
|
|
else{
|
|
//删除redis里的数据
|
|
//删除redis里的数据
|
|
- redisCache.lTrim("setCacheRequest"+user.getUserId(),1,-1);
|
|
|
|
|
|
+ redisCache.lTrim("setCacheRequest:"+user.getUserId(),1,-1);
|
|
//更新user表
|
|
//更新user表
|
|
//moveFrameEntity = moveFrameService.findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngleAndFrameIndex(user.getAppId(), startBreakPointId, endBreakPointId,_actionPO.getCameraAngle().getYaw(),_actionPO.getFrameIndex());
|
|
//moveFrameEntity = moveFrameService.findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngleAndFrameIndex(user.getAppId(), startBreakPointId, endBreakPointId,_actionPO.getCameraAngle().getYaw(),_actionPO.getFrameIndex());
|
|
user.setPlayerPosition(endBreakpointsEntity.getPosition());
|
|
user.setPlayerPosition(endBreakpointsEntity.getPosition());
|
|
@@ -140,7 +140,7 @@ public class UpdateFrameMetaTask {
|
|
userService.updateById(user);
|
|
userService.updateById(user);
|
|
|
|
|
|
myState.put("isMoving",0);
|
|
myState.put("isMoving",0);
|
|
- redisCache.setCacheObject("UserState"+user.getUserId(),myState);
|
|
|
|
|
|
+ redisCache.setCacheObject("UserState:"+user.getUserId(),myState);
|
|
//执行下一条记录
|
|
//执行下一条记录
|
|
list.remove(0);
|
|
list.remove(0);
|
|
}
|
|
}
|
|
@@ -160,20 +160,20 @@ public class UpdateFrameMetaTask {
|
|
playerPosition.setZ((_actionPO.getEndPosition().getZ() - _actionPO.getStartPostion().getZ())/_actionPO.getSubFrameIndex()*_actionPO.getFrameIndex());
|
|
playerPosition.setZ((_actionPO.getEndPosition().getZ() - _actionPO.getStartPostion().getZ())/_actionPO.getSubFrameIndex()*_actionPO.getFrameIndex());
|
|
createMoveFrameMetadata(user.getUserId(),_actionPO.getPlayerAngle(), playerPosition, moveFrameEntity,_actionPO.getTrace_id());
|
|
createMoveFrameMetadata(user.getUserId(),_actionPO.getPlayerAngle(), playerPosition, moveFrameEntity,_actionPO.getTrace_id());
|
|
//更新redis里的数据
|
|
//更新redis里的数据
|
|
- redisCache.setCacheListByIndex("setCacheRequest"+user.getUserId(),0,_actionPO);
|
|
|
|
|
|
+ redisCache.setCacheListByIndex("setCacheRequest:"+user.getUserId(),0,_actionPO);
|
|
}
|
|
}
|
|
else if(myState.getIntValue("isMoving") == 0){
|
|
else if(myState.getIntValue("isMoving") == 0){
|
|
if(list.size()>0){
|
|
if(list.size()>0){
|
|
//中断,执行下一条记录
|
|
//中断,执行下一条记录
|
|
list.remove(0);
|
|
list.remove(0);
|
|
- redisCache.lTrim("setCacheRequest"+user.getUserId(),1,-1);
|
|
|
|
|
|
+ redisCache.lTrim("setCacheRequest:"+user.getUserId(),1,-1);
|
|
handle( user,list);
|
|
handle( user,list);
|
|
return ;
|
|
return ;
|
|
}
|
|
}
|
|
else{
|
|
else{
|
|
//过渡
|
|
//过渡
|
|
myState.put("isMoving",1);
|
|
myState.put("isMoving",1);
|
|
- redisCache.setCacheObject("UserState"+user.getUserId(),myState);
|
|
|
|
|
|
+ redisCache.setCacheObject("UserState:"+user.getUserId(),myState);
|
|
|
|
|
|
MoveFrameEntity moveFrameEntity = moveFrameService.findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngleAndFrameIndex(user.getAppId(), startBreakPointId, endBreakPointId,_actionPO.getCameraAngle().getYaw(),_actionPO.getFrameIndex()+1);
|
|
MoveFrameEntity moveFrameEntity = moveFrameService.findByAppIAndStartBreakPointIdAndEndBreakPointIdAndAngleAndFrameIndex(user.getAppId(), startBreakPointId, endBreakPointId,_actionPO.getCameraAngle().getYaw(),_actionPO.getFrameIndex()+1);
|
|
//更新
|
|
//更新
|
|
@@ -185,7 +185,7 @@ public class UpdateFrameMetaTask {
|
|
_actionPO.setStartPostion(startBreakpointsEntity.getPosition());
|
|
_actionPO.setStartPostion(startBreakpointsEntity.getPosition());
|
|
_actionPO.setEndPosition(endBreakpointsEntity.getPosition());
|
|
_actionPO.setEndPosition(endBreakpointsEntity.getPosition());
|
|
//更新redis里的数据
|
|
//更新redis里的数据
|
|
- redisCache.setCacheListByIndex("setCacheRequest"+user.getUserId(),0,_actionPO);
|
|
|
|
|
|
+ redisCache.setCacheListByIndex("setCacheRequest:"+user.getUserId(),0,_actionPO);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/****************************************************************************************/
|
|
/****************************************************************************************/
|
|
@@ -209,7 +209,7 @@ public class UpdateFrameMetaTask {
|
|
}
|
|
}
|
|
createRotateFrameMetadata( user, rotateJoystickList, firstActionType);
|
|
createRotateFrameMetadata( user, rotateJoystickList, firstActionType);
|
|
//删除redis里的数据
|
|
//删除redis里的数据
|
|
- redisCache.lTrim("setCacheRequest"+user.getUserId(),rotateJoystickList.size(),-1);
|
|
|
|
|
|
+ redisCache.lTrim("setCacheRequest:"+user.getUserId(),rotateJoystickList.size(),-1);
|
|
//更新user表
|
|
//更新user表
|
|
user.setFrameId(lastFrameId);
|
|
user.setFrameId(lastFrameId);
|
|
userService.updateById(user);
|
|
userService.updateById(user);
|