From 8d053c03d0738efabc33183c1db20e05ced5cfb0 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 25 Nov 2021 16:01:23 +0800
Subject: [PATCH] fix
---
src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java | 64 ++++++++++++++++++++++++--------
1 files changed, 48 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java b/src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java
index 73d6f78..fc0770c 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/controller/GbzOrderController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xcong.excoin.common.LoginUserUtils;
+import com.xcong.excoin.common.contants.AppContants;
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.common.response.Result;
import com.xcong.excoin.modules.coin.dao.GbzOrderDao;
@@ -14,6 +15,7 @@
import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
+import com.xcong.excoin.utils.LogRecordUtils;
import com.xcong.excoin.utils.RedisUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -21,6 +23,7 @@
import io.swagger.annotations.ApiResponses;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -44,31 +47,49 @@
@ApiOperation(value = "新增订单", notes = "新增订单")
@PostMapping(value = "/add")
+ @Transactional(rollbackFor = Exception.class)
public Result add(@RequestBody GbzAddDto gbzAddDto) {
- String status = redisUtils.getString("bzz_order_status");
- if ("1".equals(status)) {
- return Result.fail("无法购买");
+// String status = redisUtils.getString("xct_order_status");
+// if ("1".equals(status)) {
+// return Result.fail("无法购买");
+// }
+
+ String start = redisUtils.getString("xct_start");
+ if ("2".equals(start)) {
+ return Result.fail("暂无法购买");
}
+ if (gbzAddDto.getCount() < 10) {
+ return Result.fail("最少购买数量为10个");
+ }
+
+ String total = redisUtils.getString("xct_coin_total");
MemberEntity loginUser = LoginUserUtils.getAppLoginUser();
- BigDecimal price = new BigDecimal(66);
+ BigDecimal price = new BigDecimal(redisUtils.getString("xct_order_new_price"));
BigDecimal amount = BigDecimal.valueOf(gbzAddDto.getCount()).multiply(price);
+
+ MemberWalletCoinEntity wallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(loginUser.getId(), CoinTypeEnum.USDT.name());
+ if (amount.compareTo(wallet.getAvailableBalance()) > 0) {
+ return Result.fail("可用金额不足");
+ }
+
+ if (Integer.parseInt(total) < gbzAddDto.getCount()) {
+ return Result.fail("XCT数量不足");
+ }
+
GbzOrderEntity gbzOrder = new GbzOrderEntity();
gbzOrder.setPrice(price);
gbzOrder.setAmount(amount);
gbzOrder.setCnt(gbzAddDto.getCount());
gbzOrder.setMemberId(loginUser.getId());
- gbzOrder.setSymbol(CoinTypeEnum.BZZ.name());
+ gbzOrder.setSymbol(CoinTypeEnum.XCT.name());
gbzOrder.setStatus(1);
gbzOrderDao.insert(gbzOrder);
- MemberWalletCoinEntity wallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(loginUser.getId(), CoinTypeEnum.USDT.name());
- if (amount.compareTo(wallet.getAvailableBalance()) < 0) {
- return Result.fail("可用金额不足");
- }
-
memberWalletCoinDao.updateBlockBalance(wallet.getId(), amount.negate(), BigDecimal.ZERO, 0);
+ redisUtils.set("xct_coin_total", Integer.parseInt(total) - gbzAddDto.getCount());
+ LogRecordUtils.insertMemberAccountMoneyChange(loginUser.getId(), "购买BEA", amount, "USDT", 1, 1);
return Result.ok("购买成功");
}
@@ -76,8 +97,11 @@
@ApiOperation(value = "获取订单列表")
@PostMapping(value = "/findList")
public Result findList(@RequestBody GbzListDto gbzListDto) {
+ MemberEntity member = LoginUserUtils.getAppLoginUser();
+ GbzOrderEntity gbzOrderEntity = new GbzOrderEntity();
+ gbzOrderEntity.setMemberId(member.getId());
Page<GbzOrderEntity> page = new Page<>(gbzListDto.getPageNum(), gbzListDto.getPageSize());
- IPage<GbzOrderEntity> result = gbzOrderDao.selectInPage(page);
+ IPage<GbzOrderEntity> result = gbzOrderDao.selectInPage(gbzOrderEntity, page);
return Result.ok(result.getRecords());
}
@@ -89,11 +113,15 @@
@GetMapping(value = "/findPrice")
public Result findPrice() {
PriceVo priceVo = new PriceVo();
- String newPriceStr = redisUtils.getString("bzz_order_new_price");
- priceVo.setNewPrice(StrUtil.isNotBlank(newPriceStr) ? new BigDecimal(newPriceStr) : BigDecimal.valueOf(66));
+ String newPriceStr = redisUtils.getString("xct_order_new_price");
+ priceVo.setNewPrice(StrUtil.isNotBlank(newPriceStr) ? new BigDecimal(newPriceStr) : AppContants.DEFAULT_PRICE);
- String status = redisUtils.getString("bzz_order_status");
+ String status = redisUtils.getString("xct_order_status");
priceVo.setStatus(StrUtil.isNotBlank(status) ? Integer.parseInt(status) : 2);
+
+
+ String remain = redisUtils.getString("xct_coin_total");
+ priceVo.setRemainCnt(280000);
BigDecimal totalAmount = gbzOrderDao.selectOrderTotalAmount(LoginUserUtils.getAppLoginUser().getId());
priceVo.setTotalAmount(totalAmount);
@@ -103,7 +131,7 @@
@ApiOperation(value = "提取到资产")
@PostMapping(value = "/changeWallet")
public Result changeWallet() {
- String status = redisUtils.getString("bzz_order_status");
+ String status = redisUtils.getString("xct_order_status");
if (!"1".equals(status)) {
return Result.fail("暂无法划转");
}
@@ -115,8 +143,12 @@
return Result.fail("无可提取金额");
}
- MemberWalletCoinEntity wallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(), CoinTypeEnum.BZZ.name());
+ MemberWalletCoinEntity wallet = memberWalletCoinDao.selectWalletCoinBymIdAndCode(member.getId(), CoinTypeEnum
+ .XCT.name());
memberWalletCoinDao.updateBlockBalance(wallet.getId(), totalAmount, BigDecimal.ZERO, 0);
+
+ gbzOrderDao.updateStatus(member.getId());
+ LogRecordUtils.insertMemberAccountMoneyChange(member.getId(), "提取BEA到资产", totalAmount, "XCT", 1, 1);
return Result.ok("提取成功");
}
}
--
Gitblit v1.9.1