From d7a8e1a2b0434c0ff8dc1a110abae52fa3222486 Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Fri, 27 Dec 2019 13:24:00 +0800 Subject: [PATCH] 1.1-1227 --- .../com/ccsens/game/api/ClientController.java | 27 ++++++++- .../com/ccsens/game/api/ScreenController.java | 13 ++++- .../com/ccsens/game/bean/dto/ClientDto.java | 16 ++++++ .../com/ccsens/game/bean/po/GameUserJoin.java | 12 ++-- .../game/bean/po/GameUserJoinExample.java | 56 +++++++++---------- .../com/ccsens/game/bean/vo/ClientVo.java | 32 +++++++++++ .../game/persist/dao/GameUserJoinDao.java | 4 ++ .../ccsens/game/service/ClientService.java | 37 ++++++++++++ .../ccsens/game/service/IClientService.java | 7 ++- .../ccsens/game/service/IScreenService.java | 2 + .../ccsens/game/service/ScreenService.java | 32 +++++++++++ game/src/main/resources/application-test.yml | 34 +++++------ .../resources/mapper_dao/GameUserJoinDao.xml | 25 +++++++++ .../mapper_raw/GameUserJoinMapper.xml | 28 +++++----- mt/src/main/resources/application-test.yml | 34 +++++------ .../ccsens/tall/service/MessageService.java | 3 +- .../tall/service/TaskSubTimeService.java | 1 - .../ccsens/util/config/RabbitMQConfig.java | 10 ++-- 18 files changed, 278 insertions(+), 95 deletions(-) create mode 100644 game/src/main/resources/mapper_dao/GameUserJoinDao.xml diff --git a/game/src/main/java/com/ccsens/game/api/ClientController.java b/game/src/main/java/com/ccsens/game/api/ClientController.java index bc7914a7..de0ad1ca 100644 --- a/game/src/main/java/com/ccsens/game/api/ClientController.java +++ b/game/src/main/java/com/ccsens/game/api/ClientController.java @@ -1,12 +1,37 @@ package com.ccsens.game.api; +import com.ccsens.game.bean.dto.ClientDto; +import com.ccsens.game.bean.dto.ScreenDto; +import com.ccsens.game.bean.vo.ClientVo; +import com.ccsens.game.service.IClientService; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; - +@Slf4j @Api(tags = "客户端相关api" , description = "ClientController") @RestController @RequestMapping("/client") public class ClientController { + @Autowired + private IClientService clientService; + @ApiOperation(value = "查看全部排行榜", notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "members", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse startAgain(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + log.info("查看全部排行榜:{}",params); + ClientVo.RankingAll rankingAll = clientService.getRankingAll(params); + return JsonResponse.newInstance().ok(rankingAll); + } } diff --git a/game/src/main/java/com/ccsens/game/api/ScreenController.java b/game/src/main/java/com/ccsens/game/api/ScreenController.java index a4d49fc9..fd83d544 100644 --- a/game/src/main/java/com/ccsens/game/api/ScreenController.java +++ b/game/src/main/java/com/ccsens/game/api/ScreenController.java @@ -58,10 +58,19 @@ public class ScreenController { @ApiImplicitParams({ }) @RequestMapping(value = "start", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse startGame(HttpServletRequest request, - @ApiParam @Validated @RequestBody ScreenDto.MemberRecordAndTime memberRecordAndTime) throws Exception { + public JsonResponse startGame(@ApiParam @Validated @RequestBody ScreenDto.MemberRecordAndTime memberRecordAndTime) throws Exception { log.info("开始游戏:{}",memberRecordAndTime); return JsonResponse.newInstance().ok(); } + + @ApiOperation(value = "再玩一次", notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "startAgain", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse startAgain(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + log.info("开始游戏:{}",params); + String url = screenService.startAgain(params); + return JsonResponse.newInstance().ok(url); + } } diff --git a/game/src/main/java/com/ccsens/game/bean/dto/ClientDto.java b/game/src/main/java/com/ccsens/game/bean/dto/ClientDto.java index 532dc13c..1fd4d06f 100644 --- a/game/src/main/java/com/ccsens/game/bean/dto/ClientDto.java +++ b/game/src/main/java/com/ccsens/game/bean/dto/ClientDto.java @@ -1,8 +1,11 @@ package com.ccsens.game.bean.dto; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @description: * @author: wuHuiJuan @@ -15,4 +18,17 @@ public class ClientDto { public static class Join{ } + + @Data + @ApiModel("getRanking") + public static class GatRanking{ + @ApiModelProperty("创建的游戏记录的id") + private Long recordId; + @ApiModelProperty("页数") + private int pageNum; + @ApiModelProperty("每页多少条") + private int pageSize; + } + + } diff --git a/game/src/main/java/com/ccsens/game/bean/po/GameUserJoin.java b/game/src/main/java/com/ccsens/game/bean/po/GameUserJoin.java index d5e26659..7b8f44d5 100644 --- a/game/src/main/java/com/ccsens/game/bean/po/GameUserJoin.java +++ b/game/src/main/java/com/ccsens/game/bean/po/GameUserJoin.java @@ -10,7 +10,7 @@ public class GameUserJoin implements Serializable { private String nickname; - private String avatarurl; + private String avatarUrl; private Long recordId; @@ -56,12 +56,12 @@ public class GameUserJoin implements Serializable { this.nickname = nickname == null ? null : nickname.trim(); } - public String getAvatarurl() { - return avatarurl; + public String getAvatarUrl() { + return avatarUrl; } - public void setAvatarurl(String avatarurl) { - this.avatarurl = avatarurl == null ? null : avatarurl.trim(); + public void setAvatarUrl(String avatarUrl) { + this.avatarUrl = avatarUrl == null ? null : avatarUrl.trim(); } public Long getRecordId() { @@ -145,7 +145,7 @@ public class GameUserJoin implements Serializable { sb.append(", id=").append(id); sb.append(", userId=").append(userId); sb.append(", nickname=").append(nickname); - sb.append(", avatarurl=").append(avatarurl); + sb.append(", avatarUrl=").append(avatarUrl); sb.append(", recordId=").append(recordId); sb.append(", times=").append(times); sb.append(", score=").append(score); diff --git a/game/src/main/java/com/ccsens/game/bean/po/GameUserJoinExample.java b/game/src/main/java/com/ccsens/game/bean/po/GameUserJoinExample.java index f89acfed..f5fb6150 100644 --- a/game/src/main/java/com/ccsens/game/bean/po/GameUserJoinExample.java +++ b/game/src/main/java/com/ccsens/game/bean/po/GameUserJoinExample.java @@ -295,73 +295,73 @@ public class GameUserJoinExample { return (Criteria) this; } - public Criteria andAvatarurlIsNull() { - addCriterion("avatarUrl is null"); + public Criteria andAvatarUrlIsNull() { + addCriterion("avatar_url is null"); return (Criteria) this; } - public Criteria andAvatarurlIsNotNull() { - addCriterion("avatarUrl is not null"); + public Criteria andAvatarUrlIsNotNull() { + addCriterion("avatar_url is not null"); return (Criteria) this; } - public Criteria andAvatarurlEqualTo(String value) { - addCriterion("avatarUrl =", value, "avatarurl"); + public Criteria andAvatarUrlEqualTo(String value) { + addCriterion("avatar_url =", value, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlNotEqualTo(String value) { - addCriterion("avatarUrl <>", value, "avatarurl"); + public Criteria andAvatarUrlNotEqualTo(String value) { + addCriterion("avatar_url <>", value, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlGreaterThan(String value) { - addCriterion("avatarUrl >", value, "avatarurl"); + public Criteria andAvatarUrlGreaterThan(String value) { + addCriterion("avatar_url >", value, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlGreaterThanOrEqualTo(String value) { - addCriterion("avatarUrl >=", value, "avatarurl"); + public Criteria andAvatarUrlGreaterThanOrEqualTo(String value) { + addCriterion("avatar_url >=", value, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlLessThan(String value) { - addCriterion("avatarUrl <", value, "avatarurl"); + public Criteria andAvatarUrlLessThan(String value) { + addCriterion("avatar_url <", value, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlLessThanOrEqualTo(String value) { - addCriterion("avatarUrl <=", value, "avatarurl"); + public Criteria andAvatarUrlLessThanOrEqualTo(String value) { + addCriterion("avatar_url <=", value, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlLike(String value) { - addCriterion("avatarUrl like", value, "avatarurl"); + public Criteria andAvatarUrlLike(String value) { + addCriterion("avatar_url like", value, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlNotLike(String value) { - addCriterion("avatarUrl not like", value, "avatarurl"); + public Criteria andAvatarUrlNotLike(String value) { + addCriterion("avatar_url not like", value, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlIn(List values) { - addCriterion("avatarUrl in", values, "avatarurl"); + public Criteria andAvatarUrlIn(List values) { + addCriterion("avatar_url in", values, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlNotIn(List values) { - addCriterion("avatarUrl not in", values, "avatarurl"); + public Criteria andAvatarUrlNotIn(List values) { + addCriterion("avatar_url not in", values, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlBetween(String value1, String value2) { - addCriterion("avatarUrl between", value1, value2, "avatarurl"); + public Criteria andAvatarUrlBetween(String value1, String value2) { + addCriterion("avatar_url between", value1, value2, "avatarUrl"); return (Criteria) this; } - public Criteria andAvatarurlNotBetween(String value1, String value2) { - addCriterion("avatarUrl not between", value1, value2, "avatarurl"); + public Criteria andAvatarUrlNotBetween(String value1, String value2) { + addCriterion("avatar_url not between", value1, value2, "avatarUrl"); return (Criteria) this; } diff --git a/game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java b/game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java index 839d363b..cf5eb017 100644 --- a/game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java +++ b/game/src/main/java/com/ccsens/game/bean/vo/ClientVo.java @@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @description: * @author: wuHuiJuan @@ -15,4 +17,34 @@ public class ClientVo { public static class Join{ } + + + @Data + @ApiModel("RankingAll") + public static class RankingAll{ + @ApiModelProperty("参加总人数") + private int totalMembers; + @ApiModelProperty("是否为第一页") + private boolean isFirstPage; + @ApiModelProperty("是否为最后一页") + private boolean isLastPage; + @ApiModelProperty("用户信息(排名)") + private List memberInfoList; + } + + @Data + @ApiModel("RankingAll") + public static class MemberInfo{ + private Long id; + @ApiModelProperty("用户头像") + private String headImgUrl; + @ApiModelProperty("昵称") + private String nickname; + @ApiModelProperty("排名次序") + private int sort; + @ApiModelProperty("次数") + private int times; + @ApiModelProperty("分数") + private int score; + } } diff --git a/game/src/main/java/com/ccsens/game/persist/dao/GameUserJoinDao.java b/game/src/main/java/com/ccsens/game/persist/dao/GameUserJoinDao.java index 9feccdd9..430090ce 100644 --- a/game/src/main/java/com/ccsens/game/persist/dao/GameUserJoinDao.java +++ b/game/src/main/java/com/ccsens/game/persist/dao/GameUserJoinDao.java @@ -1,8 +1,12 @@ package com.ccsens.game.persist.dao; +import com.ccsens.game.bean.vo.ClientVo; import com.ccsens.game.persist.mapper.GameUserJoinMapper; +import feign.Param; import org.springframework.stereotype.Repository; @Repository public interface GameUserJoinDao extends GameUserJoinMapper { + + ClientVo.MemberInfo selectByRecordId(@Param("recordId") Long recordId); } 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 a13396be..edd1e9e4 100644 --- a/game/src/main/java/com/ccsens/game/service/ClientService.java +++ b/game/src/main/java/com/ccsens/game/service/ClientService.java @@ -1,9 +1,46 @@ package com.ccsens.game.service; +import com.ccsens.game.bean.dto.ClientDto; +import com.ccsens.game.bean.po.GameUserJoin; +import com.ccsens.game.bean.po.GameUserJoinExample; +import com.ccsens.game.bean.vo.ClientVo; +import com.ccsens.game.persist.dao.GameUserJoinDao; +import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.eclipse.jetty.server.Authentication; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + /** * @description: * @author: wuHuiJuan * @create: 2019/12/26 15:01 */ +@Slf4j +@Service public class ClientService implements IClientService { + + @Autowired + private GameUserJoinDao gameUserJoinDao; + + @Override + public ClientVo.RankingAll getRankingAll(QueryDto params) { + ClientDto.GatRanking gatRanking = params.getParam(); + + GameUserJoinExample userJoinExample = new GameUserJoinExample(); + userJoinExample.createCriteria().andRecordIdEqualTo(gatRanking.getRecordId()); + List userJoinList = gameUserJoinDao.selectByExample(userJoinExample); + + + PageHelper.startPage(gatRanking.getPageNum(), gatRanking.getPageSize()); + ClientVo.MemberInfo memberInfo = gameUserJoinDao.selectByRecordId(gatRanking.getRecordId()); + log.info("查询成员信息"); + PageInfo pageInfo =new PageInfo<>(); + + return null; + } } diff --git a/game/src/main/java/com/ccsens/game/service/IClientService.java b/game/src/main/java/com/ccsens/game/service/IClientService.java index 5d802316..05baaa4f 100644 --- a/game/src/main/java/com/ccsens/game/service/IClientService.java +++ b/game/src/main/java/com/ccsens/game/service/IClientService.java @@ -1,11 +1,12 @@ package com.ccsens.game.service; -/** +import com.ccsens.game.bean.dto.ClientDto; +import com.ccsens.game.bean.vo.ClientVo; +import com.ccsens.util.bean.dto.QueryDto; /** * @description: * @author: wuHuiJuan * @create: 2019/12/26 15:00 */ public interface IClientService { - - + ClientVo.RankingAll getRankingAll(QueryDto params); } 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 8c54d043..111ee53b 100644 --- a/game/src/main/java/com/ccsens/game/service/IScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/IScreenService.java @@ -10,4 +10,6 @@ public interface IScreenService { ScreenVo.GameInfoVo getGameInformation(QueryDto params); ScreenVo.GameStatusVo getGameStatusVo(QueryDto params); + + String startAgain(QueryDto params); } 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 6e0e0d32..2a613e02 100644 --- a/game/src/main/java/com/ccsens/game/service/ScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/ScreenService.java @@ -237,6 +237,38 @@ public class ScreenService implements IScreenService{ return gameStatusVo; } + /** + * 再玩一次 + */ + @Override + public String startAgain(QueryDto params) { + ScreenDto.MemberRecord memberRecord = params.getParam(); + GameRecord gameRecord = gameRecordDao.selectByPrimaryKey(memberRecord.getMemberRecord()); + if(ObjectUtil.isNull(gameRecord)){ + throw new BaseException(CodeEnum.NOT_GAME_RECORD); + } + GameUserPay gameUserPay = typeMemberDao.selectByPrimaryKey(gameRecord.getUserPayId()); + if(ObjectUtil.isNull(gameUserPay)){ + throw new BaseException(CodeEnum.NOT_GAME_TYPE); + } + GameType gameType = gameTypeDao.selectByPrimaryKey(gameUserPay.getId()); + 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); + typeMemberDao.updateByPrimaryKeySelective(gameUserPay); + + return gameRecordNew.getUrl(); + } + /** * 查找活动规则 */ diff --git a/game/src/main/resources/application-test.yml b/game/src/main/resources/application-test.yml index c71c01cc..23b987eb 100644 --- a/game/src/main/resources/application-test.yml +++ b/game/src/main/resources/application-test.yml @@ -7,22 +7,22 @@ spring: name: game datasource: type: com.alibaba.druid.pool.DruidDataSource - rabbitmq: - host: api.ccsens.com - password: 111111 - port: 5672 - username: admin - redis: - database: 0 - host: 127.0.0.1 - jedis: - pool: - max-active: 200 - max-idle: 10 - max-wait: -1ms - min-idle: 0 - password: '' - port: 6379 - timeout: 1000ms + rabbitmq: + host: api.ccsens.com + password: 111111 + port: 5672 + username: admin + redis: + database: 0 + host: 127.0.0.1 + jedis: + pool: + max-active: 200 + max-idle: 10 + max-wait: -1ms + min-idle: 0 + password: '' + port: 6379 + timeout: 1000ms swagger: enable: true diff --git a/game/src/main/resources/mapper_dao/GameUserJoinDao.xml b/game/src/main/resources/mapper_dao/GameUserJoinDao.xml new file mode 100644 index 00000000..5e8375c5 --- /dev/null +++ b/game/src/main/resources/mapper_dao/GameUserJoinDao.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/game/src/main/resources/mapper_raw/GameUserJoinMapper.xml b/game/src/main/resources/mapper_raw/GameUserJoinMapper.xml index 42fb3410..8b46c85e 100644 --- a/game/src/main/resources/mapper_raw/GameUserJoinMapper.xml +++ b/game/src/main/resources/mapper_raw/GameUserJoinMapper.xml @@ -5,7 +5,7 @@ - + @@ -75,7 +75,7 @@ - id, user_id, nickname, avatarUrl, record_id, times, score, time_difference, local_start_time, + id, user_id, nickname, avatar_url, record_id, times, score, time_difference, local_start_time, local_end_time, created_at, updated_at, rec_status