From f8c1d9838e3c337d0dc9f406fb1b2b54e2be06b5 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 13 May 2021 11:36:22 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java | 46 +++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 41 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
index 95b4b13..7c60bb3 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
@@ -30,6 +30,7 @@
import com.xcong.excoin.modules.yunding.entity.YdProductEntity;
import com.xcong.excoin.modules.yunding.service.YunDingService;
import com.xcong.excoin.modules.yunding.vo.*;
+import com.xcong.excoin.utils.LogRecordUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -100,6 +101,12 @@
}
for(YdProductVo ydProductVo : records){
ydProductVo.setProfitT(prifitT);
+
+ if(ydProductVo.getTotalT().compareTo(BigDecimal.ZERO) < 1) {
+ ydProductVo.setStatus(2);
+ } else {
+ ydProductVo.setStatus(1);
+ }
}
}
@@ -135,6 +142,12 @@
Integer proCycle = ydProductVo.getProCycle();
Date endTime = DateUtil.offsetDay(workTime, proCycle);
ydProductVo.setEndTime(endTime);
+
+ if (ydProductVo.getTotalT().compareTo(BigDecimal.ZERO) < 1) {
+ ydProductVo.setStatus(2);
+ } else {
+ ydProductVo.setStatus(1);
+ }
return Result.ok(ydProductVo);
}
@@ -224,6 +237,9 @@
ydOrderEntity.setEndTime(endTime);
ydOrderEntity.setReturnState(YdOrderEntity.RETURN_STATE_READY);
ydOrderDao.insert(ydOrderEntity);
+ //生成流水记录
+ LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "购买产品", multiplyUsdt,
+ "USDT", 1, 3, ydOrderEntity.getId());
return Result.ok("支付成功");
}
@@ -330,6 +346,7 @@
log.info("转换成USDT");
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
Long memberId = memberEntity.getId();
+// Long memberId = 442L;
ChangeVo changeVo = new ChangeVo();
BigDecimal currentPrice = BigDecimal.ZERO;
Wrapper<YdBasicSettingEntity> queryWrapper = new QueryWrapper<>();
@@ -360,9 +377,12 @@
@Override
@Transactional
public Result insureChangeUsdt(InsureChangeUsdtDto insureChangeUsdtdto) {
- log.info("转换成USDT");
+ log.info("确认转换成USDT");
MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
Long memberId = memberEntity.getId();
+
+// Long memberId = 442L;
+// MemberEntity memberEntity = memberDao.selectById(memberId);
/**
* 验证入参
*
@@ -386,10 +406,7 @@
if(BigDecimal.ZERO.compareTo(xchNum) >= 0){
return Result.fail("请输入正确的数量");
}
- BigDecimal currentPrice = insureChangeUsdtdto.getCurrentPrice();
- if(BigDecimal.ZERO.compareTo(currentPrice) >= 0){
- return Result.fail("XCH价格异常,请重试");
- }
+
MemberWalletCoinEntity xch = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, "XCH");
BigDecimal totalBalance = xch.getTotalBalance();
BigDecimal subtractTotalBalance = totalBalance.subtract(xchNum);
@@ -407,12 +424,24 @@
xch.setAvailableBalance(subtractAvailableBalance);
memberWalletCoinDao.updateById(xch);
+ BigDecimal currentPrice = BigDecimal.ZERO;
+ //获取当前价
+ Wrapper<YdBasicSettingEntity> queryWrapper = new QueryWrapper<>();
+ List<YdBasicSettingEntity> ydBasicSettingEntities = ydBasicSettingDao.selectList(queryWrapper);
+ if(CollUtil.isNotEmpty(ydBasicSettingEntities)){
+ YdBasicSettingEntity ydBasicSettingEntity = ydBasicSettingEntities.get(0);
+ currentPrice = ydBasicSettingEntity.getCurrentPrice();
+ }
//USDT账户增加
BigDecimal multiply = xchNum.multiply(currentPrice);
MemberWalletCoinEntity usdt = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, "USDT");
usdt.setTotalBalance(usdt.getTotalBalance().add(multiply));
usdt.setAvailableBalance(usdt.getAvailableBalance().add(multiply));
memberWalletCoinDao.updateById(usdt);
+
+ //生成流水记录
+ LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "XCH兑换"+multiply+"USDT", xchNum,
+ "USDT", 1, 7, memberId);
return Result.ok("操作成功");
}
@@ -478,6 +507,10 @@
}
BigDecimal salePrice = ydBasicLevelSettingEntityTo.getSalePrice();
+ //用户如果已经有等级则减少差价
+ if(levelNow != 0){
+ salePrice = salePrice.subtract(ydBasicLevelSettingEntityNow.getSalePrice());
+ }
//获取用户当前USDT余额
MemberWalletCoinEntity usdt = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, "USDT");
BigDecimal availableBalance = usdt.getAvailableBalance();
@@ -490,6 +523,9 @@
memberWalletCoinDao.updateById(usdt);
//更新用户的代理级别
ydOrderDao.updateAgentLevel(memberId,Integer.parseInt(id.toString()));
+
+ LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "购买代理", salePrice,
+ "USDT", 1, 8, memberId);
return Result.ok("购买成功");
}
--
Gitblit v1.9.1