From fe74a0d3c209b328905c3f103f1733146e44bcac Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 13 May 2021 11:40:31 +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