puzhibing
2026-07-31 bab941d66e37e5b5544d3f330316266d880364a5
修改管理后台
1、修改退款后没有重新添加新的分账记录
2个文件已修改
15 ■■■■■ 已修改文件
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderShareRecordMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderShareRecordMapper.java
@@ -2,6 +2,15 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.api.model.TChargingOrderShareRecord;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
public interface TChargingOrderShareRecordMapper extends BaseMapper<TChargingOrderShareRecord> {
    /**
     * 物理删除(真删除)指定订单的非成功/处理中分账记录,绕过 MyBatis-Plus 的 @TableLogic 逻辑删除拦截。
     * 仅删除 onlineShareStatus 不是 SUCCESS 或 PROCESSING 的记录。
     */
    @Delete("DELETE FROM t_charging_order_share_record WHERE charging_order_code = #{chargingOrderCode} AND online_share_status NOT IN ('SUCCESS', 'PROCESSING')")
    int physicalDeleteStaleByOrderCode(@Param("chargingOrderCode") String chargingOrderCode);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -7958,10 +7958,8 @@
        if (chargingOrder == null || !StringUtils.hasLength(chargingOrder.getCode())) {
            return;
        }
        LambdaQueryWrapper<TChargingOrderShareRecord> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(TChargingOrderShareRecord::getChargingOrderCode, chargingOrder.getCode())
                .notIn(TChargingOrderShareRecord::getOnlineShareStatus, "SUCCESS", "PROCESSING");
        int count = chargingOrderShareRecordMapper.delete(wrapper);
        // 使用自定义 Mapper 方法执行原生 DELETE,绕过 MyBatis-Plus @TableLogic 逻辑删除拦截
        int count = chargingOrderShareRecordMapper.physicalDeleteStaleByOrderCode(chargingOrder.getCode());
        if (count > 0) {
            log.info("物理删除充电订单旧分账记录,订单号:{},删除数量:{}", chargingOrder.getCode(), count);
        }