修改管理后台
1、修改退款后没有重新添加新的分账记录
| | |
| | | |
| | | 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); |
| | | } |
| | |
| | | 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); |
| | | } |