rk
18 小时以前 095210f9149c73e6e00d997b39fd6c44a65e4d38
server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java
@@ -191,13 +191,8 @@
        if (StringUtils.isNotBlank(pageWrap.getModel().getMemberName())) {
            queryWrapper.like(DriverInfo::getName, pageWrap.getModel().getMemberName());
        }
        for (PageWrap.SortData sortData : pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
            } else {
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        queryWrapper.orderByDesc(WithdrawalOrders::getId);
        return PageData.from(withdrawalOrdersMapper.selectJoinPage(page, WithdrawalOrders.class, queryWrapper));
    }
@@ -285,7 +280,7 @@
                    }
                } else if (Constants.equalsInteger(order.getMemberType(), Constants.TWO)) {
                    ShopInfo shop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
                            .eq(ShopInfo::getRegionMemberId, order.getMemberId())
                            .eq(ShopInfo::getId, order.getMemberId())
                            .eq(ShopInfo::getDeleted, Constants.ZERO)
                            .last("limit 1"));
                    if (shop != null) {
@@ -305,7 +300,7 @@
                    }
                } else if (Constants.equalsInteger(order.getMemberType(), Constants.TWO)) {
                    ShopInfo shop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
                            .eq(ShopInfo::getRegionMemberId, order.getMemberId())
                            .eq(ShopInfo::getId, order.getMemberId())
                            .eq(ShopInfo::getDeleted, Constants.ZERO)
                            .last("limit 1"));
                    if (shop != null) {
@@ -390,7 +385,7 @@
                } else if (Constants.equalsInteger(order.getMemberType(), Constants.TWO)) {
                    // 门店:通过 memberId 查 ShopInfo,退回 balance
                    ShopInfo shop = shopInfoMapper.selectOne(new QueryWrapper<ShopInfo>().lambda()
                            .eq(ShopInfo::getRegionMemberId, order.getMemberId())
                            .eq(ShopInfo::getId, order.getMemberId())
                            .eq(ShopInfo::getDeleted, Constants.ZERO)
                            .last("limit 1"));
                    if (shop != null) {
@@ -490,12 +485,22 @@
        order.setType(Constants.ZERO);
        order.setOutBillNo(billNo);
        order.setAliAccount(dto.getAliAccount());
        order.setAliName(driver.getAliName());
        order.setAliName(dto.getAliName());
        order.setDeleted(Constants.ZERO);
        order.setCreateTime(now);
        order.setUpdateTime(now);
        order.setCreateUser(memberId);
        withdrawalOrdersMapper.insert(order);
        // 支付宝账户或姓名有变化时更新司机信息
        boolean aliChanged = !dto.getAliAccount().equals(driver.getAliAccount())
                || (dto.getAliName() != null && !dto.getAliName().equals(driver.getAliName()));
        if (aliChanged) {
            DriverInfo update = new DriverInfo();
            update.setId(driver.getId());
            update.setAliAccount(dto.getAliAccount());
            update.setAliName(dto.getAliName());
            driverInfoMapper.updateById(update);
        }
        // 创建支出 Revenue 记录
        Revenue revenue = new Revenue();
        revenue.setMemberId(memberId);
@@ -535,22 +540,32 @@
                .eq(ShopInfo::getId, shopId));
        // 创建提现记录
        WithdrawalOrders order = new WithdrawalOrders();
        order.setMemberId(shop.getRegionMemberId());
        order.setMemberId(shop.getId());
        order.setMemberType(Constants.TWO);
        order.setAmount(amountFen);
        order.setStatus(Constants.ZERO);
        order.setType(Constants.ZERO);
        order.setOutBillNo(billNo);
        order.setAliAccount(dto.getAliAccount());
        order.setAliName(shop.getAliName());
        order.setAliName(dto.getAliName());
        order.setDeleted(Constants.ZERO);
        order.setCreateTime(now);
        order.setUpdateTime(now);
        order.setCreateUser(shop.getRegionMemberId());
        withdrawalOrdersMapper.insert(order);
        // 支付宝账户或姓名有变化时更新门店信息
        boolean aliChanged = !dto.getAliAccount().equals(shop.getAliAccount())
                || (dto.getAliName() != null && !dto.getAliName().equals(shop.getAliName()));
        if (aliChanged) {
            ShopInfo update = new ShopInfo();
            update.setId(shopId);
            update.setAliAccount(dto.getAliAccount());
            update.setAliName(dto.getAliName());
            shopInfoMapper.updateById(update);
        }
        // 创建支出 Revenue 记录
        Revenue revenue = new Revenue();
        revenue.setMemberId(shop.getRegionMemberId());
        revenue.setMemberId(shop.getId());
        revenue.setMemberType(Constants.TWO);
        revenue.setType(Constants.ONE); // 1=提现支出
        revenue.setOptType(-Constants.ONE); // -1=支出