|
|
|
@ -119,8 +119,10 @@ public class ScreenService implements IScreenService{ |
|
|
|
urlVo.setUrl(gameRecord.getUrl()); |
|
|
|
urlVo.setRuleList(ruleList); |
|
|
|
|
|
|
|
//路径(添加项目id)
|
|
|
|
String url = gameRecord.getUrl() + "&projectId="+ memberGame.getProjectId(); |
|
|
|
//给所有人发送消息发送消息
|
|
|
|
ChromeMessageDto chromeMessageDto = new ChromeMessageDto(gameRecord.getUrl(),gameRecord.getId(),memberGame.getProjectId()); |
|
|
|
ChromeMessageDto chromeMessageDto = new ChromeMessageDto(url,gameRecord.getId(),memberGame.getProjectId()); |
|
|
|
BaseMessageDto.MessageUser messageUser = null; |
|
|
|
List<BaseMessageDto.MessageUser> messageUserList = new ArrayList<>(); |
|
|
|
//获取项目下所有成员
|
|
|
|
@ -224,6 +226,7 @@ public class ScreenService implements IScreenService{ |
|
|
|
|
|
|
|
gameStatusVo.setGameStatus(gameRecord.getGameStatus()); |
|
|
|
|
|
|
|
|
|
|
|
// 查询总人数
|
|
|
|
Long total = redisUtil.zsGetSize(GameConstant.generateGameKey(gameRecord.getId())); |
|
|
|
log.info("redis查询gameRecordID:{}总人数:{}", gameRecord.getId(), total); |
|
|
|
@ -368,7 +371,6 @@ public class ScreenService implements IScreenService{ |
|
|
|
topUser.setTimes(type.getScore().intValue()/100); |
|
|
|
finalTops.add(topUser); |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
} else { |
|
|
|
tops = gameUserJoinDao.selectTopTen(gameRecordId); |
|
|
|
@ -380,7 +382,7 @@ public class ScreenService implements IScreenService{ |
|
|
|
* 再玩一次 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public String startAgain(QueryDto<ScreenDto.MemberRecord> params) { |
|
|
|
public String startAgain(QueryDto<ScreenDto.MemberRecord> params) throws Exception { |
|
|
|
ScreenDto.MemberRecord memberRecord = params.getParam(); |
|
|
|
GameRecord gameRecord = gameRecordDao.selectByPrimaryKey(memberRecord.getMemberRecord()); |
|
|
|
if(ObjectUtil.isNull(gameRecord)){ |
|
|
|
@ -394,17 +396,6 @@ public class ScreenService implements IScreenService{ |
|
|
|
if(ObjectUtil.isNull(gameType)){ |
|
|
|
throw new BaseException(CodeEnum.NOT_GAME_TYPE); |
|
|
|
} |
|
|
|
// //添加一场新的游戏记录
|
|
|
|
// GameRecord gameRecordNew = new GameRecord();
|
|
|
|
// gameRecordNew.setId(snowflake.nextId());
|
|
|
|
// gameRecordNew.setUserPayId(gameUserPay.getId());
|
|
|
|
// gameRecordNew.setUrl(WebConstant.TEST_URL_GAME + gameRecordNew.getId() + File.separator + gameType.getScreenUrl());
|
|
|
|
// gameRecordNew.setQrCodeUrl(WebConstant.TEST_URL_GAME + gameRecordNew.getId() + File.separator + gameType.getClientUrl());
|
|
|
|
// gameRecordDao.insertSelective(gameRecordNew);
|
|
|
|
// //修改购买的游戏的使用次数
|
|
|
|
// gameUserPay.setUsedCount(gameUserPay.getUsedCount() + 1);
|
|
|
|
// gameUserPayDao.updateByPrimaryKeySelective(gameUserPay);
|
|
|
|
|
|
|
|
|
|
|
|
if(gameUserPay.getUsedCount() >= gameUserPay.getTotalCount()){ |
|
|
|
throw new BaseException(CodeEnum. GAME_NOT_TIMES); |
|
|
|
@ -421,6 +412,25 @@ public class ScreenService implements IScreenService{ |
|
|
|
//修改购买的游戏的使用次数
|
|
|
|
gameUserPay.setUsedCount(gameUserPay.getUsedCount() + 1); |
|
|
|
gameUserPayDao.updateByPrimaryKeySelective(gameUserPay); |
|
|
|
|
|
|
|
//路径(添加项目id)
|
|
|
|
String url = gameRecord.getUrl() + "&projectId="+ memberRecord.getProjectId(); |
|
|
|
//给所有人发送消息发送消息
|
|
|
|
ChromeMessageDto chromeMessageDto = new ChromeMessageDto(url,gameRecord.getId(),memberRecord.getProjectId()); |
|
|
|
BaseMessageDto.MessageUser messageUser = null; |
|
|
|
List<BaseMessageDto.MessageUser> messageUserList = new ArrayList<>(); |
|
|
|
//获取项目下所有成员
|
|
|
|
List<Long> memberIdList = tallFeignClient.getMemberIdListByProject(memberRecord.getProjectId()); |
|
|
|
if(CollectionUtil.isNotEmpty(memberIdList)){ |
|
|
|
for(Long memberId:memberIdList){ |
|
|
|
messageUser = new BaseMessageDto.MessageUser(); |
|
|
|
messageUser.setUserId(memberId); |
|
|
|
messageUserList.add(messageUser); |
|
|
|
} |
|
|
|
} |
|
|
|
chromeMessageDto.setReceivers(messageUserList); |
|
|
|
messageService.sendGameMessageWithGetUrl(chromeMessageDto); |
|
|
|
|
|
|
|
}else { |
|
|
|
throw new BaseException(CodeEnum.GAME_NO_END); |
|
|
|
} |
|
|
|
@ -507,7 +517,11 @@ public class ScreenService implements IScreenService{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 开始游戏 |
|
|
|
* @param start |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public ScreenVo.StartGame startGame(ScreenDto.Start start) { |
|
|
|
long current = System.currentTimeMillis(); |
|
|
|
@ -612,6 +626,7 @@ public class ScreenService implements IScreenService{ |
|
|
|
}); |
|
|
|
|
|
|
|
long endTime = gameRecord.getEndTime() - System.currentTimeMillis(); |
|
|
|
System.out.println("游戏结束"); |
|
|
|
sendMsg.sendMsg(executor, endTime > 0 ? endTime : 0, ()->{ |
|
|
|
try { |
|
|
|
//查询游戏用户,通知游戏结束
|
|
|
|
|