xuhy
2025-09-05 c8912284f52c44b3de33072f0005e78489e79feb
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java
@@ -140,7 +140,6 @@
                tPubTransactionDetails.setOrderType(7);
                break;
        }
        pubTransactionDetailsService.insert(tPubTransactionDetails);
        // type=1增加 type=2减少
        switch (type){
            case 1:
@@ -148,22 +147,27 @@
                BigDecimal add = tDriver.getBalance().add(bigDecimal);
                tDriver.setBalance(add);
                BigDecimal laveBusinessMoney = new BigDecimal(tDriver.getLaveBusinessMoney()).add(bigDecimal);
                tDriver.setLaveBusinessMoney(laveBusinessMoney.doubleValue());
                break;
            case 2:
                BigDecimal bigDecimal1 = new BigDecimal(mount);
                BigDecimal subtract = tDriver.getBalance().subtract(bigDecimal1);
                int comparisonResult = subtract.compareTo(BigDecimal.ZERO);
                // 小于0 设置为0 不要为负数
                if (comparisonResult<0){
//                    tDriver.setBalance(BigDecimal.ZERO);
                    return 502;
                }else{
                if (comparisonResult>0){
                    tDriver.setBalance(subtract);
                }
                BigDecimal laveBusinessMoney1 = new BigDecimal(tDriver.getLaveBusinessMoney()).subtract(bigDecimal1);
                int comparisonResult1 = laveBusinessMoney1.compareTo(BigDecimal.ZERO);
                if (comparisonResult1>0){
                    tDriver.setLaveBusinessMoney(laveBusinessMoney1.doubleValue());
                }
                break;
        }
        driverService.updateById(tDriver);
        tPubTransactionDetails.setDriverBalance(tDriver.getLaveBusinessMoney());
        pubTransactionDetailsService.insert(tPubTransactionDetails);
        return SUCCESS_TIP;
    }
    /**
@@ -179,7 +183,9 @@
            beginTime = timeArray[0];
            endTime = timeArray[1];
        }
        List<TOrderPrivateCar> tOrderPrivateCars = orderPrivateCarService.selectList(null);
        List<TOrderPrivateCar> tOrderPrivateCars = orderPrivateCarService.selectList(
                new EntityWrapper<TOrderPrivateCar>().eq("driverId",id)
        );
        List<Map<String, Object>> res = new ArrayList<>();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -213,6 +219,7 @@
                res.add(temp);
            }
        }
        // 司机专车订单ids
        List<Integer> orderIds = orderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>()
                        .eq("driverId", id)).stream()
@@ -300,7 +307,7 @@
            }
        }
        // 平台充值
        if (handleType == null || handleType == 6){
        if (handleType == null || handleType == 5){
            Wrapper<TPubTransactionDetails> eq = new EntityWrapper<TPubTransactionDetails>()
                    .eq("userId", id)
                    .eq("orderType", 6)
@@ -325,7 +332,7 @@
            }
        }
        // 平台扣除
        if (handleType == null || handleType == 7){
        if (handleType == null || handleType == 6){
            Wrapper<TPubTransactionDetails> eq = new EntityWrapper<TPubTransactionDetails>()
                    .eq("userId", id)
                    .eq("orderType", 7)
@@ -350,6 +357,46 @@
                res.add(temp);
            }
        }
        // 取消订单收入
        if (handleType == null || handleType == 7){
            Wrapper<Income> eq = new EntityWrapper<Income>()
                    .eq("objectId", id)
                    .eq("type", 3)
                    .eq("userType", 2);
            if (beginTime!=null){
                eq.ge("insertTime", beginTime);
                eq.le("insertTime", endTime);
            }
            List<Income> incomes = tIncomeService.selectList(eq);
            for (Income income : incomes) {
                Map<String, Object> temp = new HashMap<>();
                String times = simpleDateFormat.format(income.getInsertTime());
                if (income.getIncomeId()!=null){
                    TOrderPrivateCar tOrderPrivateCar = tOrderPrivateCars.stream().filter(e -> e.getId()
                            .equals(income.getIncomeId())).findFirst().orElse(null);
                    temp.put("orderNumber",tOrderPrivateCar==null?null:tOrderPrivateCar.getOrderNum());
                    temp.put("remark",tOrderPrivateCar.getRemark());
                }
                temp.put("times",times);
                temp.put("handleType","取消订单收入");
                temp.put("amount",income.getMoney());
                temp.put("withType","订单号");
                // todo 新增收入明细时 需要存储当前账户余额
                temp.put("balance",income.getDriverBalance());
                res.add(temp);
            }
        }
        res.sort((o1, o2) -> {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try {
                Date date1 = format.parse((String) o1.get("times"));
                Date date2 = format.parse((String) o2.get("times"));
                return date2.compareTo(date1); // 降序
            } catch (Exception e) {
                e.printStackTrace();
                return 0;
            }
        });
        return res;
    }
    @RequestMapping("/getExcel")