From 77a79a8a245a8d835881cc69eb5b4c1f45f6093a Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 13 May 2021 18:25:02 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 43 insertions(+), 14 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 c423e77..8fddea0 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,8 +30,11 @@ 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.rabbit.producer.YunDingProducter; import com.xcong.excoin.utils.LogRecordUtils; +import com.xcong.excoin.utils.RedisUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -60,6 +63,8 @@ private YdBasicLevelSettingDao ydBasicLevelSettingDao; @Resource private MemberDao memberDao; + @Autowired + private YunDingProducter yunDingProducter; @Override public Result findAllInfo() { @@ -101,6 +106,12 @@ } for(YdProductVo ydProductVo : records){ ydProductVo.setProfitT(prifitT); + + if(ydProductVo.getTotalT().compareTo(BigDecimal.ZERO) < 1) { + ydProductVo.setStatus(2); + } else { + ydProductVo.setStatus(1); + } } } @@ -136,6 +147,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); } @@ -228,6 +245,9 @@ //生成流水记录 LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "购买产品", multiplyUsdt, "USDT", 1, 3, ydOrderEntity.getId()); + + yunDingProducter.sendYunDingUsdtProfit(ydOrderEntity.getId()); + yunDingProducter.sendYunDingAutoAgent(ydOrderEntity.getMemberId()); return Result.ok("支付成功"); } @@ -451,9 +471,6 @@ log.info("购买代理级别"); MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); Long memberId = memberEntity.getId(); -// Long memberId = 442L; -// MemberEntity memberEntity = memberDao.selectById(memberId); - /** * 获取代理级别(Level字段越小,级别越高) * 不能向下购买代理级别 @@ -484,21 +501,29 @@ Integer levelTo = ydBasicLevelSettingEntityTo.getLevel(); //获取当前代理级别 Integer agentLevel = memberEntity.getAgentLevel(); - long agentId = Long.parseLong(agentLevel.toString()); + + BigDecimal salePrice = ydBasicLevelSettingEntityTo.getSalePrice(); Integer levelNow = 0; - YdBasicLevelSettingEntity ydBasicLevelSettingEntityNow = ydBasicLevelSettingDao.selectById(agentId); - if(ObjectUtil.isNotEmpty(ydBasicLevelSettingEntityNow)){ - levelNow = ydBasicLevelSettingEntityNow.getLevel(); - if(levelTo >= levelNow){ - return Result.fail("无法购买"); + if (agentLevel != null) { + long agentId = Long.parseLong(agentLevel.toString()); + YdBasicLevelSettingEntity ydBasicLevelSettingEntityNow = ydBasicLevelSettingDao.selectById(agentId); + if(ObjectUtil.isNotEmpty(ydBasicLevelSettingEntityNow)){ + levelNow = ydBasicLevelSettingEntityNow.getLevel(); + if(levelTo.equals(levelNow)){ + return Result.fail("不能重复购买当前代理"); + } + + if (levelNow < levelTo) { + return Result.fail("不能购买低于当前代理"); + } + } + + //用户如果已经有等级则减少差价 + if(levelNow != 0){ + salePrice = salePrice.subtract(ydBasicLevelSettingEntityNow.getSalePrice()); } } - BigDecimal salePrice = ydBasicLevelSettingEntityTo.getSalePrice(); - //用户如果已经有等级则减少差价 - if(levelNow != 0){ - salePrice = salePrice.subtract(ydBasicLevelSettingEntityNow.getSalePrice()); - } //获取用户当前USDT余额 MemberWalletCoinEntity usdt = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, "USDT"); BigDecimal availableBalance = usdt.getAvailableBalance(); @@ -514,6 +539,10 @@ LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "购买代理", salePrice, "USDT", 1, 8, memberId); + + memberEntity.setAgentLevel(id.intValue()); + LoginUserUtils.resetAppLoginUser(memberEntity); + yunDingProducter.sendYunDingAutoAgent(memberId); return Result.ok("购买成功"); } -- Gitblit v1.9.1