|
|
@@ -37,7 +37,7 @@ public class HouseInfoServiceImpl implements HouseInfoService {
|
|
|
private UserInfoService userInfoService;
|
|
|
|
|
|
@Autowired
|
|
|
- private MemberCoinService memberCoinService;
|
|
|
+ private MemberTicketService memberTicketService;
|
|
|
|
|
|
@Autowired
|
|
|
private PlayerInfoService playerInfoService;
|
|
|
@@ -235,15 +235,8 @@ public class HouseInfoServiceImpl implements HouseInfoService {
|
|
|
|
|
|
if (houseInfo.getStatusFlag() == AppConstant.HouseStatus.ANALYSIS) {//只有结束比赛的才能结算
|
|
|
|
|
|
- HouseLevel houseLevel = houseInfo.getHouseLevelInfo();
|
|
|
|
|
|
- BigDecimal firstRatio = houseLevel.getFirstRatio();
|
|
|
- BigDecimal secondRatio = houseLevel.getSecondRatio();
|
|
|
- BigDecimal thirdRatio = houseLevel.getThirdRatio();
|
|
|
- BigDecimal poolRatio = houseLevel.getPoolRatio();
|
|
|
- BigDecimal avgRatio = houseLevel.getAvgRatio();
|
|
|
-
|
|
|
- int winNum = 0;//吃鸡人数
|
|
|
+// int winNum = 0;//吃鸡人数
|
|
|
|
|
|
|
|
|
PlayerInfo param = new PlayerInfo();
|
|
|
@@ -256,24 +249,26 @@ public class HouseInfoServiceImpl implements HouseInfoService {
|
|
|
|
|
|
if (CollectionUtils.isNotEmpty(playerInfoList)) {
|
|
|
|
|
|
- if (houseInfo.getScoreType() > 0) {//如果是平分模式,获取吃鸡人数。
|
|
|
- param.setRanking(1);
|
|
|
- List<PlayerInfo> winList = playerInfoService.getSettlementPlayer(param);
|
|
|
- winNum = winList.size();
|
|
|
- }
|
|
|
+// if (houseInfo.getScoreType() > 0) {//如果是平分模式,获取吃鸡人数。
|
|
|
+// param.setRanking(1);
|
|
|
+// List<PlayerInfo> winList = playerInfoService.getSettlementPlayer(param);
|
|
|
+// winNum = winList.size();
|
|
|
+// }
|
|
|
|
|
|
for (int i = 0; i < playerInfoList.size(); i++) {
|
|
|
PlayerInfo playerInfo = playerInfoList.get(i);
|
|
|
playerInfo.setHouseRank(i + 1);
|
|
|
+
|
|
|
BigDecimal bonus = BigDecimal.ZERO;
|
|
|
+
|
|
|
String content = "";
|
|
|
- int typeFlag = AppConstant.NoticeType.RECEIVE;
|
|
|
+ int typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
|
|
|
if (AppConstant.PlayerStatus.PROCESSED_FAIL == playerInfo.getStatusFlag()) {
|
|
|
|
|
|
content = "很遗憾,你在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
+ "开始的游戏竞赛 " + houseInfo.getHouseName()
|
|
|
- + ",未解析到结果,无法获得奖励。";
|
|
|
+ + ",无有效结果,无法获得奖励。";
|
|
|
typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
} else if (AppConstant.PlayerStatus.OVERTIME == playerInfo.getStatusFlag()) {
|
|
|
content = "很遗憾,你在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
@@ -282,52 +277,51 @@ public class HouseInfoServiceImpl implements HouseInfoService {
|
|
|
typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
} else {
|
|
|
if (houseInfo.getScoreType() == 0) {//吃鸡模式
|
|
|
- if (playerInfo.getRanking() != null && 1 == playerInfo.getRanking()) {//只有吃鸡才能获得奖励
|
|
|
+ if (playerInfo.getRanking() != null && i < 3) {//只有吃鸡才能获得奖励
|
|
|
|
|
|
- if (i == 0) {//第一名
|
|
|
- bonus = BigDecimal.valueOf((firstRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue());
|
|
|
+ if (i == 0) {//第一名 金牌
|
|
|
+ playerInfo.setMedal(AppConstant.Medals.GOLD);
|
|
|
+ bonus = BigDecimal.valueOf(AppConstant.Medals.GOLD_SCORE);
|
|
|
|
|
|
|
|
|
}
|
|
|
- if (i == 1) {//第二名
|
|
|
- bonus = BigDecimal.valueOf((secondRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue());
|
|
|
+ if (i == 1) {//第二名 银牌
|
|
|
+ playerInfo.setMedal(AppConstant.Medals.SILVER);
|
|
|
+ bonus = BigDecimal.valueOf(AppConstant.Medals.SILVER_SCORE);
|
|
|
}
|
|
|
- if (i == 2) {//第三名
|
|
|
- bonus = BigDecimal.valueOf((thirdRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue());
|
|
|
+ if (i == 2) {//第三名 铜牌
|
|
|
+ playerInfo.setMedal(AppConstant.Medals.BRONZE);
|
|
|
+ bonus = BigDecimal.valueOf(AppConstant.Medals.BRONZE_SCORE);
|
|
|
}
|
|
|
|
|
|
content = "恭喜你,在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
- + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(吃鸡模式)获得了第" + playerInfo.getHouseRank()
|
|
|
- + "名,获得" + bonus + "积分,赶快领取你的奖励吧。";
|
|
|
+ + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(评分模式)获得了第" + playerInfo.getHouseRank()
|
|
|
+ + "名,该局参赛人数" + houseInfo.getPlayerNumber() + "人。";
|
|
|
} else {
|
|
|
|
|
|
content = "很遗憾,在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
- + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(吃鸡模式)获得了第" + playerInfo.getHouseRank()
|
|
|
- + "名,但未能吃鸡,因此无法获得奖励。";
|
|
|
+ + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(评分模式)获得了第" + playerInfo.getHouseRank()
|
|
|
+ + "名,该局参赛人数" + houseInfo.getPlayerNumber() + "人。";
|
|
|
typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
}
|
|
|
} else {
|
|
|
- if (playerInfo.getRanking() != null && 1 == playerInfo.getRanking()) {//只有评分大于0才能获得奖励
|
|
|
-
|
|
|
- if (winNum > 0) {//吃鸡人数大于0
|
|
|
- bonus = BigDecimal.valueOf(((avgRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue()) / winNum);
|
|
|
-
|
|
|
+ if (playerInfo.getRanking() != null && 1 == playerInfo.getRanking()) {//只有吃鸡才能获得奖励
|
|
|
|
|
|
- }
|
|
|
+ playerInfo.setMedal(AppConstant.Medals.PLATINUM);
|
|
|
+ bonus = BigDecimal.valueOf(AppConstant.Medals.PLATINUM_SCORE);
|
|
|
|
|
|
content = "恭喜你,在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
- + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(平分模式)获得了第" + playerInfo.getHouseRank()
|
|
|
- + "名,获得" + bonus + "积分,赶快领取你的奖励吧。";
|
|
|
+ + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(吃鸡模式)获得了第" + playerInfo.getHouseRank()
|
|
|
+ + "名,该局参赛人数" + houseInfo.getPlayerNumber() + "人。";
|
|
|
} else {
|
|
|
content = "很遗憾,在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
- + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(平分模式)获得了第" + playerInfo.getHouseRank()
|
|
|
- + "名,但未吃鸡,因此无法获得奖励。";
|
|
|
+ + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(吃鸡模式)获得了第" + playerInfo.getHouseRank()
|
|
|
+ + "名,该局参赛人数" + houseInfo.getPlayerNumber() + "人。";
|
|
|
typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
playerInfo.setBonus(bonus);
|
|
|
|
|
|
|
|
|
@@ -373,46 +367,6 @@ public class HouseInfoServiceImpl implements HouseInfoService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (poolRatio.doubleValue() > 0) {
|
|
|
- //加入到赛季奖金池中
|
|
|
- try {
|
|
|
-
|
|
|
- BigDecimal pool = BigDecimal.valueOf((poolRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue());
|
|
|
-
|
|
|
- CompetitionSeason competitionSeason = competitionSeasonMapper.selectByPrimaryKey(houseInfo.getSeasonId());
|
|
|
-
|
|
|
- if (competitionSeason != null) {
|
|
|
-
|
|
|
-
|
|
|
- double balance = competitionSeason.getBonus().doubleValue();
|
|
|
- double moneyCoin = balance + pool.doubleValue();
|
|
|
-
|
|
|
- BonusRecord bonusRecord = new BonusRecord();
|
|
|
- bonusRecord.setMoney(pool);
|
|
|
- bonusRecord.setBonus(BigDecimal.valueOf(moneyCoin));
|
|
|
- bonusRecord.setSeasonId(houseInfo.getSeasonId());
|
|
|
- bonusRecord.setGameId(houseInfo.getGameId());
|
|
|
- bonusRecord.setHouseId(houseInfo.getId());
|
|
|
- bonusRecord.setTypeFlag(0);
|
|
|
- bonusRecord.setRemark(houseInfo.getHouseName() + "比赛结算," + pool.doubleValue() + " 积分");
|
|
|
- bonusRecordService.createBonusRecord(bonusRecord);
|
|
|
-
|
|
|
- CompetitionSeason addBonus = new CompetitionSeason();
|
|
|
- addBonus.setId(competitionSeason.getId());
|
|
|
- addBonus.setBonus(pool);
|
|
|
-
|
|
|
- competitionSeasonMapper.addBonus(addBonus);
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- } catch (Exception e) {
|
|
|
- logger.error("赛季奖金池添加奖金异常!", e);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
//更新为结算完成状态。
|
|
|
houseInfo.setStatusFlag(AppConstant.HouseStatus.SETTLEMENT);
|
|
|
houseInfoMapper.updateByPrimaryKeySelective(houseInfo);
|
|
|
@@ -430,6 +384,223 @@ public class HouseInfoServiceImpl implements HouseInfoService {
|
|
|
|
|
|
return false;
|
|
|
}
|
|
|
+// /**
|
|
|
+// * 房间比赛结果结算。
|
|
|
+// *
|
|
|
+// * @param record
|
|
|
+// * @return
|
|
|
+// */
|
|
|
+// @Override
|
|
|
+// public boolean settlementHouse(HouseInfo record) {
|
|
|
+//
|
|
|
+// logger.info("settlementHouse");
|
|
|
+//
|
|
|
+//
|
|
|
+// try {
|
|
|
+//
|
|
|
+// HouseInfo houseInfo = new HouseInfo();
|
|
|
+// houseInfo.setId(record.getId());
|
|
|
+// houseInfo = houseInfoMapper.queryHouseInfo(houseInfo);
|
|
|
+//
|
|
|
+// if (houseInfo != null) {
|
|
|
+//
|
|
|
+// if (houseInfo.getStatusFlag() == AppConstant.HouseStatus.ANALYSIS) {//只有结束比赛的才能结算
|
|
|
+//
|
|
|
+// HouseLevel houseLevel = houseInfo.getHouseLevelInfo();
|
|
|
+//
|
|
|
+// BigDecimal firstRatio = houseLevel.getFirstRatio();
|
|
|
+// BigDecimal secondRatio = houseLevel.getSecondRatio();
|
|
|
+// BigDecimal thirdRatio = houseLevel.getThirdRatio();
|
|
|
+// BigDecimal poolRatio = houseLevel.getPoolRatio();
|
|
|
+// BigDecimal avgRatio = houseLevel.getAvgRatio();
|
|
|
+//
|
|
|
+// int winNum = 0;//吃鸡人数
|
|
|
+//
|
|
|
+//
|
|
|
+// PlayerInfo param = new PlayerInfo();
|
|
|
+// if (houseInfo.getScoreType() > 0) {
|
|
|
+// param.setScoreType(1);
|
|
|
+// }
|
|
|
+// param.setHouseId(record.getId());
|
|
|
+//
|
|
|
+// List<PlayerInfo> playerInfoList = playerInfoService.getSettlementPlayer(param);
|
|
|
+//
|
|
|
+// if (CollectionUtils.isNotEmpty(playerInfoList)) {
|
|
|
+//
|
|
|
+// if (houseInfo.getScoreType() > 0) {//如果是平分模式,获取吃鸡人数。
|
|
|
+// param.setRanking(1);
|
|
|
+// List<PlayerInfo> winList = playerInfoService.getSettlementPlayer(param);
|
|
|
+// winNum = winList.size();
|
|
|
+// }
|
|
|
+//
|
|
|
+// for (int i = 0; i < playerInfoList.size(); i++) {
|
|
|
+// PlayerInfo playerInfo = playerInfoList.get(i);
|
|
|
+// playerInfo.setHouseRank(i + 1);
|
|
|
+// BigDecimal bonus = BigDecimal.ZERO;
|
|
|
+// String content = "";
|
|
|
+// int typeFlag = AppConstant.NoticeType.RECEIVE;
|
|
|
+//
|
|
|
+// if (AppConstant.PlayerStatus.PROCESSED_FAIL == playerInfo.getStatusFlag()) {
|
|
|
+//
|
|
|
+// content = "很遗憾,你在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
+// + "开始的游戏竞赛 " + houseInfo.getHouseName()
|
|
|
+// + ",未解析到结果,无法获得奖励。";
|
|
|
+// typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
+// } else if (AppConstant.PlayerStatus.OVERTIME == playerInfo.getStatusFlag()) {
|
|
|
+// content = "很遗憾,你在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
+// + "开始的游戏竞赛 " + houseInfo.getHouseName()
|
|
|
+// + ",比赛超时,无法获得奖励。";
|
|
|
+// typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
+// } else {
|
|
|
+// if (houseInfo.getScoreType() == 0) {//吃鸡模式
|
|
|
+// if (playerInfo.getRanking() != null && 1 == playerInfo.getRanking()) {//只有吃鸡才能获得奖励
|
|
|
+//
|
|
|
+// if (i == 0) {//第一名
|
|
|
+// bonus = BigDecimal.valueOf((firstRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue());
|
|
|
+//
|
|
|
+//
|
|
|
+// }
|
|
|
+// if (i == 1) {//第二名
|
|
|
+// bonus = BigDecimal.valueOf((secondRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue());
|
|
|
+// }
|
|
|
+// if (i == 2) {//第三名
|
|
|
+// bonus = BigDecimal.valueOf((thirdRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue());
|
|
|
+// }
|
|
|
+//
|
|
|
+// content = "恭喜你,在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
+// + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(吃鸡模式)获得了第" + playerInfo.getHouseRank()
|
|
|
+// + "名,获得" + bonus + "积分,赶快领取你的奖励吧。";
|
|
|
+// } else {
|
|
|
+//
|
|
|
+// content = "很遗憾,在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
+// + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(吃鸡模式)获得了第" + playerInfo.getHouseRank()
|
|
|
+// + "名,但未能吃鸡,因此无法获得奖励。";
|
|
|
+// typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// if (playerInfo.getRanking() != null && 1 == playerInfo.getRanking()) {//只有评分大于0才能获得奖励
|
|
|
+//
|
|
|
+// if (winNum > 0) {//吃鸡人数大于0
|
|
|
+// bonus = BigDecimal.valueOf(((avgRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue()) / winNum);
|
|
|
+//
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// content = "恭喜你,在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
+// + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(平分模式)获得了第" + playerInfo.getHouseRank()
|
|
|
+// + "名,获得" + bonus + "积分,赶快领取你的奖励吧。";
|
|
|
+// } else {
|
|
|
+// content = "很遗憾,在" + DateTimeTool.dateTimeToTimeYYYYHHmmStr(houseInfo.getBeginTime())
|
|
|
+// + "开始的游戏竞赛 " + houseInfo.getHouseName() + "(平分模式)获得了第" + playerInfo.getHouseRank()
|
|
|
+// + "名,但未吃鸡,因此无法获得奖励。";
|
|
|
+// typeFlag = AppConstant.NoticeType.RESULT;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// playerInfo.setBonus(bonus);
|
|
|
+//
|
|
|
+//
|
|
|
+// SystemNotice systemNotice = new SystemNotice();
|
|
|
+// systemNotice.setGameId(playerInfo.getGameId());
|
|
|
+// systemNotice.setHouseId(playerInfo.getHouseId());
|
|
|
+// systemNotice.setUserId(playerInfo.getUserId());
|
|
|
+// systemNotice.setSeasonId(playerInfo.getSeasonId());
|
|
|
+// systemNotice.setPlayerId(playerInfo.getId());
|
|
|
+// systemNotice.setRemark("定时任务");
|
|
|
+//
|
|
|
+// systemNotice.setContent(content);
|
|
|
+// systemNotice.setTypeFlag(typeFlag);
|
|
|
+//
|
|
|
+// systemNoticeService.createSystemNotice(systemNotice);
|
|
|
+//
|
|
|
+// //推送
|
|
|
+// try {
|
|
|
+// UserInfo userInfo = new UserInfo();
|
|
|
+// userInfo.setId(playerInfo.getUserId());
|
|
|
+// userInfo = userInfoService.getSingleUserInfo(userInfo);
|
|
|
+// if (userInfo != null) {
|
|
|
+// if ("Y".equals(userInfo.getNoticeFlag())) {
|
|
|
+// String[] ids = new String[]{userInfo.getId().toString()};
|
|
|
+//
|
|
|
+// PushUtil.pushMsg(ids, content);
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// } catch (Exception e) {
|
|
|
+// logger.error("结算推送消息异常。", e);
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (AppConstant.PlayerStatus.PROCESSED == playerInfo.getStatusFlag()) {//如果正常结束的则更新状态
|
|
|
+// playerInfo.setStatusFlag(AppConstant.PlayerStatus.SETTLEMENT);
|
|
|
+//
|
|
|
+// }
|
|
|
+// playerInfoService.updatePlayerInfo(playerInfo);
|
|
|
+//
|
|
|
+//
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (poolRatio.doubleValue() > 0) {
|
|
|
+// //加入到赛季奖金池中
|
|
|
+// try {
|
|
|
+//
|
|
|
+// BigDecimal pool = BigDecimal.valueOf((poolRatio.doubleValue() / 100) * houseInfo.getBonus().doubleValue());
|
|
|
+//
|
|
|
+// CompetitionSeason competitionSeason = competitionSeasonMapper.selectByPrimaryKey(houseInfo.getSeasonId());
|
|
|
+//
|
|
|
+// if (competitionSeason != null) {
|
|
|
+//
|
|
|
+//
|
|
|
+// double balance = competitionSeason.getBonus().doubleValue();
|
|
|
+// double moneyCoin = balance + pool.doubleValue();
|
|
|
+//
|
|
|
+// BonusRecord bonusRecord = new BonusRecord();
|
|
|
+// bonusRecord.setMoney(pool);
|
|
|
+// bonusRecord.setBonus(BigDecimal.valueOf(moneyCoin));
|
|
|
+// bonusRecord.setSeasonId(houseInfo.getSeasonId());
|
|
|
+// bonusRecord.setGameId(houseInfo.getGameId());
|
|
|
+// bonusRecord.setHouseId(houseInfo.getId());
|
|
|
+// bonusRecord.setTypeFlag(0);
|
|
|
+// bonusRecord.setRemark(houseInfo.getHouseName() + "比赛结算," + pool.doubleValue() + " 积分");
|
|
|
+// bonusRecordService.createBonusRecord(bonusRecord);
|
|
|
+//
|
|
|
+// CompetitionSeason addBonus = new CompetitionSeason();
|
|
|
+// addBonus.setId(competitionSeason.getId());
|
|
|
+// addBonus.setBonus(pool);
|
|
|
+//
|
|
|
+// competitionSeasonMapper.addBonus(addBonus);
|
|
|
+//
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// } catch (Exception e) {
|
|
|
+// logger.error("赛季奖金池添加奖金异常!", e);
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// //更新为结算完成状态。
|
|
|
+// houseInfo.setStatusFlag(AppConstant.HouseStatus.SETTLEMENT);
|
|
|
+// houseInfoMapper.updateByPrimaryKeySelective(houseInfo);
|
|
|
+//
|
|
|
+// return true;
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// } catch (Exception e) {
|
|
|
+// logger.error("settlementHouse", e);
|
|
|
+// }
|
|
|
+//
|
|
|
+// return false;
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
* 加入房间
|
|
|
@@ -478,60 +649,60 @@ public class HouseInfoServiceImpl implements HouseInfoService {
|
|
|
return new Result(false, "加入失败,不能重复加入");
|
|
|
}
|
|
|
|
|
|
- double entryCoin = 50;
|
|
|
+ int entryTicket = 1;//门票一张
|
|
|
|
|
|
- HouseLevel houseLevel = houseInfo.getHouseLevelInfo();
|
|
|
- if (houseLevel != null) {
|
|
|
- entryCoin = houseLevel.getEntryCoin().doubleValue();
|
|
|
- }
|
|
|
+// HouseLevel houseLevel = houseInfo.getHouseLevelInfo();
|
|
|
+// if (houseLevel != null) {
|
|
|
+// entryCoin = houseLevel.getEntryCoin().doubleValue();
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
- * 余额
|
|
|
+ * 门票
|
|
|
*/
|
|
|
- double moneyCoin = userInfo.getMoneyCoin();
|
|
|
+ int moneyTicket = userInfo.getMoneyTicket();
|
|
|
|
|
|
- if (entryCoin > moneyCoin) {
|
|
|
- return new Result(false, "加入失败,余额不足");
|
|
|
+ if (entryTicket > moneyTicket) {
|
|
|
+ return new Result(false, "加入失败,门票不足");
|
|
|
}
|
|
|
|
|
|
|
|
|
record.setGameId(houseInfo.getGameId());
|
|
|
record.setHouseId(houseInfo.getId());
|
|
|
record.setJoinTime(new Date());
|
|
|
- record.setPrincipal(BigDecimal.valueOf(entryCoin));
|
|
|
+ record.setPrincipal(BigDecimal.valueOf(entryTicket));
|
|
|
record.setSeasonId(houseInfo.getSeasonId());
|
|
|
|
|
|
playerInfoService.createPlayerInfo(record);
|
|
|
|
|
|
- // 只能用余额支付
|
|
|
- if (entryCoin > 0) {
|
|
|
+ // 只能用门票支付
|
|
|
+ if (entryTicket > 0) {
|
|
|
|
|
|
- MemberCoin memberCoin = new MemberCoin();
|
|
|
- memberCoin.setCreateUser("系统");
|
|
|
- memberCoin.setHouseId(houseInfo.getId());
|
|
|
- memberCoin.setUserId(userInfo.getId());
|
|
|
- memberCoin.setGameId(houseInfo.getGameId());
|
|
|
- memberCoin.setSeasonId(houseInfo.getSeasonId());
|
|
|
- memberCoin.setPlayerId(record.getId());
|
|
|
+ MemberTicket memberTicket = new MemberTicket();
|
|
|
+ memberTicket.setCreateUser("系统");
|
|
|
+ memberTicket.setHouseId(houseInfo.getId());
|
|
|
+ memberTicket.setUserId(userInfo.getId());
|
|
|
+ memberTicket.setGameId(houseInfo.getGameId());
|
|
|
+ memberTicket.setSeasonId(houseInfo.getSeasonId());
|
|
|
+ memberTicket.setPlayerId(record.getId());
|
|
|
|
|
|
- memberCoin.setMoney(BigDecimal.valueOf(-entryCoin));
|
|
|
- memberCoin.setBalance(BigDecimal.valueOf(moneyCoin - entryCoin));
|
|
|
- memberCoin.setTypeFlag(AppConstant.CoinType.CONSUMPTION);
|
|
|
- memberCoin.setRemark("加入房间:" + houseInfo.getHouseCode());
|
|
|
- memberCoinService.createMemberCoin(memberCoin);
|
|
|
+ memberTicket.setMoney(BigDecimal.valueOf(-entryTicket));
|
|
|
+ memberTicket.setBalance(BigDecimal.valueOf(moneyTicket - entryTicket));
|
|
|
+ memberTicket.setTypeFlag(AppConstant.CoinType.CONSUMPTION);
|
|
|
+ memberTicket.setRemark("加入房间:" + houseInfo.getHouseCode());
|
|
|
+ memberTicketService.createMemberTicket(memberTicket);
|
|
|
|
|
|
}
|
|
|
|
|
|
UserInfo updateUser = new UserInfo();
|
|
|
updateUser.setId(userInfo.getId());
|
|
|
- updateUser.setMoneyCoin(moneyCoin - entryCoin);
|
|
|
+ updateUser.setMoneyTicket(moneyTicket - entryTicket);
|
|
|
userInfoService.updateUserInfo(updateUser);
|
|
|
|
|
|
|
|
|
HouseInfo joinHouseInfo = new HouseInfo();
|
|
|
joinHouseInfo.setId(houseInfo.getId());
|
|
|
joinHouseInfo.setPlayerNumber(1);
|
|
|
- joinHouseInfo.setBonus(BigDecimal.valueOf(entryCoin));
|
|
|
+ joinHouseInfo.setBonus(BigDecimal.valueOf(entryTicket));
|
|
|
|
|
|
houseInfoMapper.joinHouseInfo(joinHouseInfo);
|
|
|
|