diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java index 11eaa6ca..4e1acc77 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java @@ -102,7 +102,7 @@ public interface TallFeignClient { List getMemberIdListByProject(@RequestParam( name = "projectId")Long projectId); /** - * 通过任务id获得项目id(消息系统用) + * 通过token获得userId(消息系统用) * @param token * @return */ diff --git a/game/src/main/java/com/ccsens/game/bean/dto/ScreenDto.java b/game/src/main/java/com/ccsens/game/bean/dto/ScreenDto.java index f84e6133..8d0cc451 100644 --- a/game/src/main/java/com/ccsens/game/bean/dto/ScreenDto.java +++ b/game/src/main/java/com/ccsens/game/bean/dto/ScreenDto.java @@ -22,6 +22,8 @@ public class ScreenDto { public static class MemberRecord{ @ApiModelProperty("创建的游戏记录的id") private Long memberRecord; + @ApiModelProperty("项目id") + private Long projectId; } @Data diff --git a/game/src/main/java/com/ccsens/game/service/ClientService.java b/game/src/main/java/com/ccsens/game/service/ClientService.java index e3502623..b2880262 100644 --- a/game/src/main/java/com/ccsens/game/service/ClientService.java +++ b/game/src/main/java/com/ccsens/game/service/ClientService.java @@ -281,6 +281,12 @@ public class ClientService implements IClientService { return rankingAll; } + /** + * 滑动时添加记录 + * @param userId + * @param recordId + * @return + */ @Override public GameMessageCountOut clientAddTimes(String userId,String recordId) { GameMessageCountOut gameMessageCountOut = new GameMessageCountOut(); diff --git a/game/src/main/java/com/ccsens/game/service/IScreenService.java b/game/src/main/java/com/ccsens/game/service/IScreenService.java index bb4ec3a2..9a14435a 100644 --- a/game/src/main/java/com/ccsens/game/service/IScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/IScreenService.java @@ -12,7 +12,7 @@ public interface IScreenService { ScreenVo.GameStatusVo getGameStatusVo(QueryDto params); - String startAgain(QueryDto params); + String startAgain(QueryDto params) throws Exception; /** * 游戏开始 diff --git a/game/src/main/java/com/ccsens/game/service/ScreenService.java b/game/src/main/java/com/ccsens/game/service/ScreenService.java index c7a54ae7..7efc218a 100644 --- a/game/src/main/java/com/ccsens/game/service/ScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/ScreenService.java @@ -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 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 params) { + public String startAgain(QueryDto 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 messageUserList = new ArrayList<>(); + //获取项目下所有成员 + List 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 { //查询游戏用户,通知游戏结束 diff --git a/game/src/main/java/com/ccsens/game/util/SendMsg.java b/game/src/main/java/com/ccsens/game/util/SendMsg.java index c85bf3a0..1961b03b 100644 --- a/game/src/main/java/com/ccsens/game/util/SendMsg.java +++ b/game/src/main/java/com/ccsens/game/util/SendMsg.java @@ -39,6 +39,7 @@ public class SendMsg { private RedisUtil redisUtil; public void sendStatus(GameRecord gameRecord, List userJoins, byte status) throws JsonProcessingException { + log.info("userJoins:{}, status:{}", userJoins, status); List outs = new ArrayList<>(); if (CollectionUtil.isEmpty(userJoins)) { @@ -47,9 +48,11 @@ public class SendMsg { userJoins.forEach(join -> { outs.add(getMsg(gameRecord, join, status)); }); + System.out.println("准备发送"+outs); if (CollectionUtil.isNotEmpty(outs)) { log.info("==================="+outs); rabbitTemplate.convertAndSend(RabbitMQConfig.GAME_STATUS, JacksonUtil.beanToJson(outs)); + System.out.println("发送成功"+JacksonUtil.beanToJson(outs)); } } diff --git a/mt/src/main/java/com/ccsens/mt/api/SigninController.java b/mt/src/main/java/com/ccsens/mt/api/SigninController.java index 407ac87c..202f5800 100644 --- a/mt/src/main/java/com/ccsens/mt/api/SigninController.java +++ b/mt/src/main/java/com/ccsens/mt/api/SigninController.java @@ -62,7 +62,7 @@ public class SigninController { @RequestMapping(value = "all", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) public JsonResponse> getSignAllByTaskId(HttpServletRequest request, @RequestParam(required = true) Long taskId) throws Exception { - log.info("查看自己的签到信息"); + log.info("查看所有人的签到信息"); //获取userId Long userId = userService.getUserIdByToken(request); List signinVoInfo = signinService.getSignAllByTaskId(taskId,userId); diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index a25f0936..cd36fed2 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -774,7 +774,7 @@ public class ProTaskDetailService implements IProTaskDetailService { startMillisTime = timeMap.get("startMillisTime"); } if (StrUtil.isNotEmpty(end)) { - timeMap = DateUtil.projectFormatDateTime(start); + timeMap = DateUtil.projectFormatDateTime(end); endMillisTime = timeMap.get("endMillisTime"); } //获取需查询的角色 diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index 0c1c1bd5..37764433 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -305,7 +305,7 @@ public class ProjectService implements IProjectService { startMillisTime = timeMap.get("startMillisTime"); } if (StrUtil.isNotEmpty(end)) { - timeMap = DateUtil.projectFormatDateTime(start); + timeMap = DateUtil.projectFormatDateTime(end); endMillisTime = timeMap.get("endMillisTime"); } List projectList = sysProjectDao.findProjectIdByUserId(currentUserId, startMillisTime, endMillisTime); diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java b/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java index 3d681ad4..de18b21d 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskDeliverService.java @@ -590,7 +590,7 @@ public class TaskDeliverService implements ITaskDeliverService { startMillisTime = timeMap.get("startMillisTime"); } if (StrUtil.isNotEmpty(end)) { - timeMap = DateUtil.projectFormatDateTime(start); + timeMap = DateUtil.projectFormatDateTime(end); endMillisTime = timeMap.get("endMillisTime"); } if (CollectionUtil.isNotEmpty(deliverFileList)) { diff --git a/tall/src/main/java/com/ccsens/tall/service/UserService.java b/tall/src/main/java/com/ccsens/tall/service/UserService.java index cd5140e5..390431b9 100644 --- a/tall/src/main/java/com/ccsens/tall/service/UserService.java +++ b/tall/src/main/java/com/ccsens/tall/service/UserService.java @@ -63,6 +63,7 @@ public class UserService implements IUserService { case Wxmp: return wxmplogin(identifier); case OAUTH2_Wx: + //微信登录 //Fix Me. break; case OAUTH2_WeiBo: