xiaoyong931011
2022-10-21 954196d1c02545a35d25020cf08fc54a64426310
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -19,6 +19,7 @@
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.List;
@Slf4j
@@ -69,15 +70,13 @@
            if(ObjectUtil.isNotEmpty(igtOnHookPlanOrderItem)){
                igtOnHookPlanOrderItem.setState(1);
                igtOnHookPlanOrderItemDao.updateById(igtOnHookPlanOrderItem);
                if(BigDecimal.ZERO.compareTo(igtOnHookPlanOrderItem.getProfit()) < 0){
                    //增加挂机主表的挂机总收益和增加挂机剩余金额
                    Integer updateCount = igtOnHookPlanOrderDao.addAvaAmountAddProfitById(igtOnHookPlanOrder.getId()
                            ,igtOnHookPlanOrderItem.getProfit()
                            ,igtOnHookPlanOrderItem.getAmount());
                if(2 == igtOnHookPlanOrderItem.getIsGoal()){
                    //如果中奖,增加挂机主表的挂机总收益
                    Integer updateCount = igtOnHookPlanOrderDao.AddProfitById(igtOnHookPlanOrder.getId()
                            ,igtOnHookPlanOrderItem.getProfit());
                }else{
                    //增加挂机主表的挂机总收益和减少挂机剩余金额
                    //如果不中奖,减少挂机剩余金额即减少本金
                    Integer updateCount = igtOnHookPlanOrderDao.updateAvaAmountById(igtOnHookPlanOrder.getId()
                            ,igtOnHookPlanOrderItem.getProfit()
                            ,igtOnHookPlanOrderItem.getAmount());
                }
            }
@@ -116,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);
@@ -133,13 +132,14 @@
                DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
                BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
                //如果中奖,返回本金加收益加剩余投注金额
                BigDecimal total = totalProfit.add(totalAmount).add(igtOnHookPlanOrder.getAvaAmount()).setScale(2, BigDecimal.ROUND_DOWN);
                dappWalletCoinDao.addTotalAndaddAvailableById(memberId,total);
                //如果中奖,返回收益,如果没中奖,则返回本金,最后加上剩余总挂机金额
                BigDecimal total = totalProfit.add(totalAmount).add(igtOnHookPlanOrder.getAvaAmount()).setScale(4, BigDecimal.ROUND_DOWN);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),total);
                BigDecimal add = availableAmount.add(total);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, availableAmount, total, add, "投注盈利", 5);
                BigDecimal subtract = add.subtract(totalAmount);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
            }
@@ -167,7 +167,9 @@
        DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
//        DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
        String yyyyMMdd = DateUtil.format(date, "yyyyMMdd");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String yyyyMMdd = sdf.format(date);
        QueryWrapper<DappOnHookAward> dappOnHookAwardQueryWrapper = new QueryWrapper();
        dappOnHookAwardQueryWrapper.like("record_num",yyyyMMdd);
        Integer selectCount = dappOnHookAwardDao.selectCount(dappOnHookAwardQueryWrapper);
@@ -177,7 +179,7 @@
        Format formatCount = new DecimalFormat("000");
        //一般都是将累加的数字当做一些单号的一部分,format要求string
        int dayMillise = (24 * 60) / 5;
        for(int i= 0;i < dayMillise;i++){
        for(int i= 1;i <= dayMillise;i++){
            DappOnHookAward dappOnHookAward = new DappOnHookAward();
            int randomInt = RandomUtil.randomInt(10000, 99999);
            dappOnHookAward.setAwardNum(Integer.toString(randomInt));
@@ -194,7 +196,9 @@
    public void updateAwardInfo(){
        Log.info("更新挂架开奖记录");
        DateTime date = DateUtil.date();
        String yyyyMMddHHMM = DateUtil.format(date, "yyyy-MM-dd hh:mm");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String yyyyMMddHHMM = sdf.format(date);
        DappOnHookAward dappOnHookAward = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
        dappOnHookAward.setState(1);
        dappOnHookAwardDao.updateById(dappOnHookAward);
@@ -208,14 +212,20 @@
    }
    public static void main(String[] args) {
        DateTime date = DateUtil.date();
        String aWardTime = DateUtil.format(date, "yyyy-MM-dd");
        DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
        int dayMillise = (24 * 60) / 5;
        for(int i= 0;i < dayMillise;i++){
            System.out.println(aWardTimeStart);
            aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String yyyyMMddHHMM = sdf.format(date);
        System.out.println(yyyyMMddHHMM);
        DateTime date1 = DateUtil.date();
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String yyyyMMddHHMM1 = sdf1.format(date1);
        System.out.println(yyyyMMddHHMM1);
    }
}