xiaoyong931011
2022-10-30 3e21242780b4c981fb734f15939e208b0fed0eb2
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -390,24 +390,22 @@
                                if(2 == igtOnHookPlanOrderItem.getIsGoal()){
                                    //返还两次中奖之间的本金
                                    Date endTime = igtOnHookPlanOrderItem.getCreateTime();
                                    Date startTime = null;
                                    BigDecimal totalAmount = BigDecimal.ZERO;
                                    //返回上次中奖的记录
                                    IgtOnHookPlanOrderItem igtOld = igtOnHookPlanOrderItemDao.selectByCreateTimeAndIsgoaAndOrderId(endTime,2,igtOnHookPlanOrder.getId());
                                    IgtOnHookPlanOrderItem igtOld = igtOnHookPlanOrderItemDao.selectByCreateTimeAndIsgoaAndOrderId(
                                            igtOnHookPlanOrderItem.getId(),2,igtOnHookPlanOrderItem.getOrderId());
                                    if(ObjectUtil.isNotEmpty(igtOld)){
                                        startTime = igtOld.getCreateTime();
                                        totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByIDAndOrderId(igtOld.getId(),
                                                igtOnHookPlanOrderItem.getId(),igtOnHookPlanOrderItem.getOrderId());
                                    }else{
                                        totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByIDAndOrderId(null,
                                                igtOnHookPlanOrderItem.getId(),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()