xiaoyong931011
2023-08-03 a723f687ea40161699b85a91e610ac79da1c2392
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -364,6 +364,11 @@
         * A币卖币规则,卖出100%销毁,30%回流底池溢价
         */
        DappMemberEntity member = LoginUserUtil.getAppUser();
        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(member.getId());
        Integer activeStatus = dappMemberEntity.getActiveStatus();
        if(1 != activeStatus){
            throw new FebsException("Not yet open");
        }
        DataDictionaryCustom systemStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                PoolEnum.SYSTEM.getType(),
@@ -802,6 +807,15 @@
                        1,
                        ausdAmountNeed,
                        transferADto.getTxHash());
//                DappFundFlowEntity fundFlow = new DappFundFlowEntity(
//                        member.getId(),
//                        transferADto.getAmount(),
//                        type,
//                        1,
//                        new BigDecimal("1"),
//                        transferADto.getTxHash());
                dappFundFlowDao.insert(fundFlow);
                return fundFlow.getId();
            }
@@ -811,44 +825,52 @@
                if(DappFundFlowEntity.WITHDRAW_STATUS_AGREE == flow.getStatus()){
                    throw new FebsException("请勿重复提交");
                }
                /**
                 * 生成会员入金买A币的记录
                 */
                DappChargeUsdtEntity dappChargeUsdtEntity = new DappChargeUsdtEntity(
                        member.getId(),
                        dappMemberEntity.getAddress(),
                        transferADto.getTxHash(),
                        2,
                        transferADto.getAmount(),
                        BigDecimal.ZERO,
                        BigDecimal.ZERO);
                dappChargeUsdtMapper.insert(dappChargeUsdtEntity);
                /**
                 * 减少用户的AUSD数量
                 */
                DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(member.getId());
                BigDecimal ausdAmount = dappUsdtPerkEntity.getAusdAmount();
                ausdAmount = ausdAmount.subtract(flow.getFee()).setScale(4,BigDecimal.ROUND_DOWN);
                dappUsdtPerkEntity.setAusdAmount(ausdAmount);
                dappUsdtPerkEntityMapper.updateById(dappUsdtPerkEntity);
                /**
                 * 流水关联用户购买记录
                 */
                flow.setSystemProfitId(dappChargeUsdtEntity.getId());
                /**
                 * 链上转账的hash值
                 */
                flow.setFromHash(transferADto.getTxHash());
                flow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
                dappFundFlowDao.updateById(flow);
                /**
                 * 发送消息处理返利逻辑
                 */
                chainProducer.sendAntACoinInMsg(flow.getId());
                /**
                 * 发送消息处理代理升级
                 */
                chainProducer.sendAntMemberLevelMsg(member.getId());
                chainProducer.sendContractAnDao(flow.getId());
//                /**
//                 * 生成会员入金买A币的记录
//                 */
//                DappChargeUsdtEntity dappChargeUsdtEntity = new DappChargeUsdtEntity(
//                        member.getId(),
//                        dappMemberEntity.getAddress(),
//                        transferADto.getTxHash(),
//                        2,
//                        transferADto.getAmount(),
//                        BigDecimal.ZERO,
//                        BigDecimal.ZERO);
//                dappChargeUsdtMapper.insert(dappChargeUsdtEntity);
//                /**
//                 * 减少用户的AUSD数量
//                 */
//                DappUsdtPerkEntity dappUsdtPerkEntity = dappUsdtPerkEntityMapper.selectByMemberId(member.getId());
//                BigDecimal ausdAmount = dappUsdtPerkEntity.getAusdAmount();
//                ausdAmount = ausdAmount.subtract(flow.getFee()).setScale(4,BigDecimal.ROUND_DOWN);
//                dappUsdtPerkEntity.setAusdAmount(ausdAmount);
//                dappUsdtPerkEntityMapper.updateById(dappUsdtPerkEntity);
//                /**
//                 * 流水关联用户购买记录
//                 */
//                flow.setSystemProfitId(dappChargeUsdtEntity.getId());
//                /**
//                 * 链上转账的hash值
//                 */
//                flow.setFromHash(transferADto.getTxHash());
//                flow.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_AGREE);
//                dappFundFlowDao.updateById(flow);
//                /**
//                 * 发送消息处理返利逻辑
//                 */
//                chainProducer.sendAntACoinInMsg(flow.getId());
//                /**
//                 * 发送消息处理代理升级
//                 */
//                chainProducer.sendAntMemberLevelMsg(member.getId());
            } else {
                DappFundFlowEntity flow = dappFundFlowDao.selectById(transferADto.getId());
                if (flow.getStatus() == 1) {