xiaoyong931011
2022-10-21 e7ca8ba2b3c3b446e39d4c3a3ea5e238adb2fc7c
20221021
4 files modified
29 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java 13 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml 4 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -210,16 +210,19 @@
        objectQueryWrapper.eq("state",2);
        igtOnHookPlanOrderItemDao.delete(objectQueryWrapper);
        //计算总收益和总挂机剩余金额,操作用户资金账户信息
        //所有中奖的收益
        BigDecimal totalProfit = igtOnHookPlanOrderItemDao.selectTotalProfitByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
        BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
        //所有未中奖的本金
        BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
        DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
        BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
        //如果中奖,返回本金加收益加剩余总挂机金额
        //如果中奖,返回收益,如果没中奖,则返回本金,最后加上剩余总挂机金额
        BigDecimal total = totalProfit.add(totalAmount).add(igtOnHookPlanOrder.getAvaAmount()).setScale(4, BigDecimal.ROUND_DOWN);
        dappWalletCoinDao.addTotalAndaddAvailableById(memberId,total);
        //生成流水记录
        BigDecimal add = availableAmount.add(total);
        DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, availableAmount, total, add, "投注盈利", 5);
        BigDecimal subtract = add.subtract(totalAmount).subtract(igtOnHookPlanOrder.getAvaAmount());
        DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
        dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
        //更新用户表是否正在挂机状态字段为否
        DappMemberEntity dappMember= dappMemberDao.selectById(memberId);
src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java
@@ -19,6 +19,9 @@
    @ApiModelProperty(value = "金额")
    private BigDecimal amount;
    @ApiModelProperty(value = "用户名")
    private String username;
    @ApiModelProperty(value = "类型",example = "类型  2-提现 4-内部转账 5-挂机收益 6-挂机")
    private Integer type;
}
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -71,11 +71,11 @@
                igtOnHookPlanOrderItem.setState(1);
                igtOnHookPlanOrderItemDao.updateById(igtOnHookPlanOrderItem);
                if(2 == igtOnHookPlanOrderItem.getIsGoal()){
                    //增加挂机主表的挂机总收益
                    //如果中奖,增加挂机主表的挂机总收益
                    Integer updateCount = igtOnHookPlanOrderDao.AddProfitById(igtOnHookPlanOrder.getId()
                            ,igtOnHookPlanOrderItem.getProfit());
                }else{
                    //减少挂机剩余金额
                    //如果不中奖,减少挂机剩余金额即减少本金
                    Integer updateCount = igtOnHookPlanOrderDao.updateAvaAmountById(igtOnHookPlanOrder.getId()
                            ,igtOnHookPlanOrderItem.getAmount());
                }
@@ -115,7 +115,7 @@
            IgtOnHookPlanOrderItem igtOnHookPlanOrderItem = igtOnHookPlanOrderItemDao.selectByOrderIdAndMemberIdAndState(orderId,memberId,2);
            if(ObjectUtil.isEmpty(igtOnHookPlanOrderItem)){
                BigDecimal totalProfit = igtOnHookPlanOrderItemDao.selectTotalProfitByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
                BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,2);
                BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
                igtOnHookPlanOrder.setState(2);
                //一次挂机剩余的全部金额
                BigDecimal totalMoney = totalAmount.add(totalProfit).add(avaAmount);
@@ -132,13 +132,14 @@
                DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
                BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
                //如果中奖,返回本金加收益加剩余投注金额
                //如果中奖,返回收益,如果没中奖,则返回本金,最后加上剩余总挂机金额
                BigDecimal total = totalProfit.add(totalAmount).add(igtOnHookPlanOrder.getAvaAmount()).setScale(4, BigDecimal.ROUND_DOWN);
                dappWalletCoinDao.addTotalAndaddAvailableById(memberId,total);
                BigDecimal add = availableAmount.add(total);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, availableAmount, total, add, "投注盈利", 5);
                BigDecimal subtract = add.subtract(totalAmount).subtract(igtOnHookPlanOrder.getAvaAmount());
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
            }
src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
@@ -41,8 +41,10 @@
        select
        a.create_time createTime,
        a.amount amount,
        a.type type
        a.type type,
        ifnull(b.username,'-') username
        from dapp_account_money_change a
        inner join dapp_member b on a.member_id = b.id
        <where>
            a.member_id in (select b.id from dapp_member b where find_in_set(#{record.inviteId}, b.referer_ids))
            <if test="record.type != null">