From 54d2e6cccbcc8ecb176d807f80f5f64cf104018f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 24 Nov 2021 16:21:01 +0800
Subject: [PATCH] 20211124 fish
---
src/main/java/com/xcong/excoin/modules/fish/service/impl/MemberCannonServiceImpl.java | 49 ++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 44 insertions(+), 5 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 eb9bb9c..ea0460d 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
@@ -14,10 +14,7 @@
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.dto.*;
import com.xcong.excoin.modules.fish.entity.*;
import com.xcong.excoin.modules.fish.service.MemberCannonService;
import com.xcong.excoin.modules.fish.vo.CannonSettingVo;
@@ -79,6 +76,16 @@
memberCannonService.updateTotalBalanceAndAvailableBalance(memberAccountGold.getId(),balance.negate(),balance.negate(),null);
//代币账户增加
coinService.updateWalletBalance(memberWalletCoinEntity.getId(),divide,divide,null);
+
+ CannonAccountMoneyChange cannonAccountMoneyChange = new CannonAccountMoneyChange();
+ cannonAccountMoneyChange.setMemberId(memberId);
+ cannonAccountMoneyChange.setAmount(balance.negate());
+ cannonAccountMoneyChange.setType(2);
+ cannonAccountMoneyChange.setContent("金币兑换");
+ cannonAccountMoneyChange.setChangeBalance(balance);
+ cannonAccountMoneyChange.setChangeBefore(memberAccountGold.getAvailableBalance());
+ cannonAccountMoneyChange.setChangeAfter(memberAccountGold.getAvailableBalance().subtract(balance));
+ cannonAccountMoneyChangeDao.insert(cannonAccountMoneyChange);
}else if(type == 2){
MemberAccountGold memberAccountGold = memberAccountGoldDao.selectAccountGoldByMemberId(memberId);
MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.XCT.name());
@@ -91,6 +98,16 @@
memberCannonService.updateTotalBalanceAndAvailableBalance(memberAccountGold.getId(),multiply,multiply,null);
//代币账户减少
coinService.updateWalletBalance(memberWalletCoinEntity.getId(),balance.negate(),balance.negate(),null);
+
+ CannonAccountMoneyChange cannonAccountMoneyChange = new CannonAccountMoneyChange();
+ cannonAccountMoneyChange.setMemberId(memberId);
+ cannonAccountMoneyChange.setAmount(balance);
+ cannonAccountMoneyChange.setType(3);
+ cannonAccountMoneyChange.setContent("兑换金币");
+ cannonAccountMoneyChange.setChangeBalance(balance);
+ cannonAccountMoneyChange.setChangeBefore(memberWalletCoinEntity.getAvailableBalance());
+ cannonAccountMoneyChange.setChangeAfter(memberWalletCoinEntity.getAvailableBalance().add(balance));
+ cannonAccountMoneyChangeDao.insert(cannonAccountMoneyChange);
}
return Result.ok("兑换成功");
}
@@ -158,7 +175,8 @@
CannonAccountMoneyChange cannonAccountMoneyChange = new CannonAccountMoneyChange();
cannonAccountMoneyChange.setMemberId(memberId);
cannonAccountMoneyChange.setAmount(exchangePrice);
- cannonAccountMoneyChange.setType(2);
+ cannonAccountMoneyChange.setType(1);
+ cannonAccountMoneyChange.setContent("购买炮塔");
cannonAccountMoneyChange.setChangeBalance(exchangePrice);
cannonAccountMoneyChange.setChangeBefore(memberWalletCoinEntity.getAvailableBalance());
cannonAccountMoneyChange.setChangeAfter(memberWalletCoinEntity.getAvailableBalance().subtract(exchangePrice));
@@ -216,6 +234,27 @@
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);
+ return Result.ok("success");
+ }
+
public static void main(String[] args) {
System.out.println(UUID.randomUUID().toString());
}
--
Gitblit v1.9.1