xiaoyong931011
2021-05-12 abda22f6975eaeaa2798b378f97d127be6452d72
20210512 云顶
3 files modified
37 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/yunding/dto/InsureChangeUsdtDto.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java 30 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml 3 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/yunding/dto/InsureChangeUsdtDto.java
@@ -15,10 +15,6 @@
    @ApiModelProperty(value = "XCH数量", example = "2")
    private BigDecimal xchNum;
    @NotNull
    @ApiModelProperty(value = "XCH当前价格", example = "2")
    private BigDecimal currentPrice;
    /**
     * 资金交易密码
     */
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;
@@ -224,6 +225,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 +334,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 +365,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 +394,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 +412,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("操作成功");
    }
@@ -490,6 +507,9 @@
        memberWalletCoinDao.updateById(usdt);
        //更新用户的代理级别
        ydOrderDao.updateAgentLevel(memberId,Integer.parseInt(id.toString()));
        LogRecordUtils.insertMemberAccountMoneyChangeWithId(memberId, "购买代理", salePrice,
                "USDT", 1, 8, memberId);
        return Result.ok("购买成功");
    }
src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml
@@ -62,8 +62,7 @@
        select * from member_account_money_change 
        <if test="record != null">
            <where>
                type = 3
                and (content like '%佣金到账%' or content like '%活动%' or content like '%带单%')
                type > 2
                <if test="record.memberId != null" >
                    and member_id=#{record.memberId}
                </if>