From 35d0c67bb3391d69a8333e5fad664a88a8ccfd0e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 24 Nov 2021 18:00:40 +0800
Subject: [PATCH] 20211124 fish
---
src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java | 70 ++++++++++++++++++++++++++++-------
1 files changed, 56 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java b/src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java
index ee974e7..44150bc 100644
--- a/src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java
@@ -10,16 +10,11 @@
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.common.response.Result;
import com.xcong.excoin.modules.coin.service.CoinService;
-import com.xcong.excoin.modules.fish.dao.CannonAccountMoneyChangeDao;
-import com.xcong.excoin.modules.fish.dao.CannonOwnRecordDao;
-import com.xcong.excoin.modules.fish.dao.CannonSettingDao;
-import com.xcong.excoin.modules.fish.dao.MemberAccountGoldDao;
-import com.xcong.excoin.modules.fish.dto.CannonExchangeDto;
-import com.xcong.excoin.modules.fish.dto.CoinGoldExchangeDto;
-import com.xcong.excoin.modules.fish.dto.GetCannonsDto;
-import com.xcong.excoin.modules.fish.dto.GoldExchangeDto;
+import com.xcong.excoin.modules.fish.dao.*;
+import com.xcong.excoin.modules.fish.dto.*;
import com.xcong.excoin.modules.fish.entity.*;
import com.xcong.excoin.modules.fish.service.MemberCannonService;
+import com.xcong.excoin.modules.fish.vo.AccountAvaBanlaceVo;
import com.xcong.excoin.modules.fish.vo.CannonSettingVo;
import com.xcong.excoin.modules.fish.vo.GoldAccountVo;
import com.xcong.excoin.modules.fish.vo.OwnCannonVo;
@@ -36,21 +31,23 @@
public class MemberCannonServiceImpl extends ServiceImpl<CannonOwnRecordDao, CannonOwnRecord> implements MemberCannonService {
@Resource
- CannonSettingDao cannonSettingDao;
- @Resource
MemberAccountGoldDao memberAccountGoldDao;
- @Resource
- CannonAccountMoneyChangeDao cannonAccountMoneyChangeDao;
@Resource
MemberWalletCoinDao memberWalletCoinDao;
@Resource
+ private MemberCannonService memberCannonService;
+ @Resource
+ CannonAccountMoneyChangeDao cannonAccountMoneyChangeDao;
+ @Resource
CannonOwnRecordDao cannonOwnRecordDao;
+ @Resource
+ CannonSettingDao cannonSettingDao;
+ @Resource
+ CannonGameRecordDao cannonGameRecordDao;
@Resource
RedisUtils redisUtils;
@Resource
private CoinService coinService;
- @Resource
- private MemberCannonService memberCannonService;
@Override
public Result coinGoldExchange(CoinGoldExchangeDto coinGoldExchangeDto) {
@@ -237,6 +234,51 @@
return Result.ok(cannonOwnRecords);
}
+ @Override
+ public Result fishing(FishingDto fishingDto) {
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ Integer goldWin = fishingDto.getGoldWin() == null?0:fishingDto.getGoldWin();
+ if(goldWin < 0){
+ return Result.fail("请求异常,请刷新页面");
+ }
+ Long cannonOwnId = fishingDto.getCannonOwnId();
+ List<CannonOwnRecord> cannonOwnRecords = cannonOwnRecordDao.selectCannonOwnRecordsByIdAndMemberId(cannonOwnId,memberId);
+ if(CollUtil.isEmpty(cannonOwnRecords)){
+ Result.fail("请求异常,请刷新页面");
+ }
+ //消耗金币 = 每发炮弹的消耗 - 获得金币;
+ CannonOwnRecord cannonOwnRecord = cannonOwnRecords.get(0);
+ CannonSetting cannonSetting = cannonSettingDao.selectCannonSettingByCannonCode(cannonOwnRecord.getCannonCode());
+ BigDecimal goldConsume = cannonSetting.getGoldConsume().subtract(new BigDecimal(goldWin)).setScale(0,BigDecimal.ROUND_DOWN);
+ MemberAccountGold memberAccountGold = memberAccountGoldDao.selectAccountGoldByMemberId(memberId);
+ memberCannonService.updateTotalBalanceAndAvailableBalance(memberAccountGold.getId(),goldConsume.negate(),goldConsume.negate(),null);
+ //增加一条游戏记录
+ CannonGameRecord cannonGameRecord = new CannonGameRecord();
+ cannonGameRecord.setMemberId(memberId);
+ cannonGameRecord.setCannonOwnId(cannonOwnRecord.getId());
+ cannonGameRecord.setCannonName(cannonOwnRecord.getCannonName());
+ cannonGameRecord.setCannonCode(cannonOwnRecord.getCannonCode());
+ cannonGameRecord.setGoldConsume(cannonSetting.getGoldConsume());
+ cannonGameRecord.setGoldReward(new BigDecimal(goldWin));
+ cannonGameRecordDao.insert(cannonGameRecord);
+
+ return Result.ok("success");
+ }
+
+ @Override
+ public Result getAccountAvaBanlace() {
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberAccountGold memberAccountGold = memberAccountGoldDao.selectAccountGoldByMemberId(memberId);
+ MemberWalletCoinEntity memberWalletCoinEntityXCT = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.XCT.name());
+ MemberWalletCoinEntity memberWalletCoinEntityUSDT = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.USDT.name());
+ AccountAvaBanlaceVo accountAvaBanlaceVo = new AccountAvaBanlaceVo();
+ accountAvaBanlaceVo.setMemberId(memberId);
+ accountAvaBanlaceVo.setGoldAvailableBalance(memberAccountGold.getAvailableBalance() == null?BigDecimal.ZERO:memberAccountGold.getAvailableBalance());
+ accountAvaBanlaceVo.setCoinAvailableBalance(memberWalletCoinEntityXCT.getAvailableBalance() == null?BigDecimal.ZERO:memberWalletCoinEntityXCT.getAvailableBalance());
+ accountAvaBanlaceVo.setUsdtAvailableBalance(memberWalletCoinEntityUSDT.getAvailableBalance() == null?BigDecimal.ZERO:memberWalletCoinEntityUSDT.getAvailableBalance());
+ return Result.ok(accountAvaBanlaceVo);
+ }
+
public static void main(String[] args) {
System.out.println(UUID.randomUUID().toString());
}
--
Gitblit v1.9.1