xiaoyong931011
2022-10-30 5b924f97d699e4d7c0175fb09125c964e29d6416
20221021
3 files modified
33 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderItemDao.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java 18 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/IgtOnHookPlanOrderItemDao.xml 13 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderItemDao.java
@@ -32,4 +32,6 @@
    IgtOnHookPlanOrderItem selectByCreateTimeAndIsgoaAndOrderId(@Param("endTime")Date endTime, @Param("isGoal")int i, @Param("orderId")Long orderId);
    IgtOnHookPlanOrderItem selectOneByIgtIdAndMemberId(@Param("orderId") Long orderId, @Param("memberId")Long memberId);
    BigDecimal selectTotalAmountByIDAndOrderId(@Param("start")Long id, @Param("end")Long id1, @Param("orderId")Long orderId);
}
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -391,23 +391,21 @@
                                if(2 == igtOnHookPlanOrderItem.getIsGoal()){
                                    //返还两次中奖之间的本金
                                    Date endTime = igtOnHookPlanOrderItem.getCreateTime();
                                    Date startTime = null;
                                    BigDecimal totalAmount = BigDecimal.ZERO;
                                    //返回上次中奖的记录
                                    IgtOnHookPlanOrderItem igtOld = igtOnHookPlanOrderItemDao.selectByCreateTimeAndIsgoaAndOrderId(endTime,2,igtOnHookPlanOrder.getId());
                                    if(ObjectUtil.isNotEmpty(igtOld)){
                                        startTime = igtOld.getCreateTime();
                                        totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByIDAndOrderId(igtOld.getId(),
                                                igtOnHookPlanOrderItem.getId(),igtOnHookPlanOrderItem.getOrderId());
                                    }else{
                                        totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByIDAndOrderId(igtOld.getId(),
                                                null,igtOnHookPlanOrderItem.getOrderId());
                                    }
                                    BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByCreateTimeAndOrderId(startTime,endTime,igtOnHookPlanOrderItem.getOrderId());
                                    int i = (totalAmount.add(igtOnHookPlanOrder.getAvaAmount())).compareTo(igtOnHookPlanOrder.getPlanAmount());
                                    //如果中奖,增加挂机主表的挂机总收益,返还两次中奖之间的本金
                                    igtOnHookPlanOrderDao.AddProfitById(igtOnHookPlanOrder.getId()
                                            ,igtOnHookPlanOrderItem.getProfit());
                                    if(i >= 0){
                                        igtOnHookPlanOrder.setAvaAmount(igtOnHookPlanOrder.getPlanAmount());
                                    }else{
                                        igtOnHookPlanOrder.setAvaAmount(totalAmount);
                                    }
                                    igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
                                    igtOnHookPlanOrderDao.addAvaAmountById(igtOnHookPlanOrder.getId()
                                            ,totalAmount);
                                }else{
                                    //如果不中奖,减少挂机剩余金额即减少本金
                                    Integer updateCount = igtOnHookPlanOrderDao.updateAvaAmountById(igtOnHookPlanOrder.getId()
src/main/resources/mapper/dapp/IgtOnHookPlanOrderItemDao.xml
@@ -104,5 +104,18 @@
            limit 1
    </select>
    <select id="selectTotalAmountByIDAndOrderId" resultType="java.math.BigDecimal">
        SELECT
        ifnull(sum(a.amount),0)
        FROM igt_on_hook_plan_order_item a
        <where>
            a.order_id = #{orderId}
            and a.id &lt; #{end}
            <if test="start != null">
                and a.id > #{start}
            </if>
        </where>
    </select>
</mapper>