xuhy
2025-09-05 c8912284f52c44b3de33072f0005e78489e79feb
Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
# ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tIncome/balance.html
5个文件已修改
77 ■■■■ 已修改文件
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tIncome/balance.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tIncome/balance.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/TIncomeController.java
@@ -183,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");
@@ -217,6 +219,7 @@
                res.add(temp);
            }
        }
        // 司机专车订单ids
        List<Integer> orderIds = orderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>()
                        .eq("driverId", id)).stream()
@@ -304,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)
@@ -329,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)
@@ -354,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")
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TPubWithdrawalController.java
@@ -13,9 +13,11 @@
import com.stylefeng.guns.modular.system.model.TDriver;
import com.stylefeng.guns.modular.system.model.TPubWithdrawal;
import com.stylefeng.guns.modular.system.model.TSystemNotice;
import com.stylefeng.guns.modular.system.model.TUser;
import com.stylefeng.guns.modular.system.service.ITDriverService;
import com.stylefeng.guns.modular.system.service.ITPubWithdrawalService;
import com.stylefeng.guns.modular.system.service.ITSystemNoticeService;
import com.stylefeng.guns.modular.system.service.ITUserService;
import com.stylefeng.guns.modular.system.util.HttpRequestUtil;
import com.stylefeng.guns.modular.system.util.PushURL;
import com.stylefeng.guns.modular.system.util.ResultUtil;
@@ -45,6 +47,8 @@
    @Autowired
    private ITPubWithdrawalService tPubWithdrawalService;
    @Autowired
    private ITUserService userService;
    @Autowired
    private ITSystemNoticeService tSystemNoticeService;
@@ -136,10 +140,18 @@
            if (2 == state){   //同意提现
                stateObj = 1;
                // 支付宝提现
                String certNo = "";
                if (tPubWithdrawal.getUserType()==1){
                    TUser tUser = userService.selectById(tPubWithdrawal.getUserId());
                    certNo = tUser.getIdCard();
                }else{
                    TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId());
                    certNo = tDriver.getIdCard();
                }
                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
                TDriver tDriver = driverService.selectById(tPubWithdrawal.getUserId());
                String s = AlipayUtils.aliWithdrawal(code, tPubWithdrawal.getMoney() + "", tPubWithdrawal.getCode(), tDriver.getIdCard());
                String s = AlipayUtils.aliWithdrawal(code, tPubWithdrawal.getMoney() + "", tPubWithdrawal.getCode(), certNo);
                JSONObject res = JSONObject.parseObject(s);
                JSONObject alipayFundTransUniTransferResponse = res.getJSONObject("alipay_fund_trans_uni_transfer_response");
                if (alipayFundTransUniTransferResponse!=null){
ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tIncome/balance.html
@@ -21,8 +21,9 @@
                            <option value="2">车费平台手续费扣除</option>
                            <option value="3">充值</option>
                            <option value="4">提现</option>
                            <option value="6">平台充值</option>
                            <option value="7">平台扣除</option>
                            <option value="5">平台充值</option>
                            <option value="6">平台扣除</option>
                            <option value="7">取消订单收入</option>
                        </#SelectCon>
                    </div>
                    <div class="col-sm-3">
ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tIncome/balance.js
@@ -45,7 +45,6 @@
 * 打开查看专车订单详情
 */
TIncome.orderDetail = function (value) {
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title: '专车订单详情',
@@ -55,7 +54,6 @@
            content: Feng.ctxPath + '/tOrderPrivateCar/tOrderPrivateCar_orderDetailByOrderNumber/' + value
        });
        this.layerIndex = index;
    }
};
/**
 * 点击添加
@@ -121,7 +119,6 @@
TIncome.resetSearch = function () {
    $("#insertTime").val("");
    $("#handleType").val("");
    $("#id").val("");
    TIncome.search();
};
$(function () {
ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
@@ -368,8 +368,8 @@
        } else {
            nickname = "【" + nickname + "】";
        }
        if (TOrderPrivateCar.seItem.state == 7 || TOrderPrivateCar.seItem.state == 8 || TOrderPrivateCar.seItem.state == 9 || TOrderPrivateCar.seItem.state == 10 ) {
            swal("取消失败", "【待评价】【已完成】【已取消】状态下不能执行此操作", "warning");
        if ( TOrderPrivateCar.seItem.state == 8 || TOrderPrivateCar.seItem.state == 9 || TOrderPrivateCar.seItem.state == 10 ) {
            swal("取消失败", "【已完成】【已取消】状态下不能执行此操作", "warning");
            return;
        }
        swal({