Fix Bug #506: fallback修复
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package com.openhis.web.outpatient.mapper;
|
||||
package com.openhs.web.outpatient.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.*;
|
||||
import java.math.BigDecimal;
|
||||
@@ -12,16 +12,17 @@ public interface RegistrationCancelMapper {
|
||||
|
||||
/**
|
||||
* 更新订单主表状态
|
||||
* 修复点:status=0(已取消), pay_status=3(已退费), cancel_time使用DB NOW()保证时分秒精准, cancel_reason='诊前退号'
|
||||
* 修复点:status=2(已取消), pay_status=2(已退费), cancel_time使用DB NOW()保证时分秒精准,
|
||||
* cancel_reason='诊前退号'(与 PRD 完全一致)
|
||||
*/
|
||||
@Update("UPDATE order_main SET status = 0, pay_status = 3, cancel_time = NOW(), cancel_reason = '诊前退号' WHERE id = #{orderId}")
|
||||
@Update("UPDATE order_main SET status = 2, pay_status = 2, cancel_time = NOW(), cancel_reason = '诊前退号' WHERE id = #{orderId}")
|
||||
int updateOrderStatus(@Param("orderId") Long orderId);
|
||||
|
||||
/**
|
||||
* 回滚排班号源状态
|
||||
* 修复点:status=0(待约), order_id=NULL 释放号源供再次预约
|
||||
* 修复点:status=1(待约), order_id=NULL 释放号源供再次预约
|
||||
*/
|
||||
@Update("UPDATE adm_schedule_slot SET status = 0, order_id = NULL WHERE id = #{slotId}")
|
||||
@Update("UPDATE adm_schedule_slot SET status = 1, order_id = NULL WHERE id = #{slotId}")
|
||||
int rollbackSlotStatus(@Param("slotId") Long slotId);
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,13 +25,13 @@ public class RegistrationCancelServiceImpl implements RegistrationCancelService
|
||||
throw new IllegalArgumentException("退号核心参数缺失:orderId, slotId, poolId 均不可为空");
|
||||
}
|
||||
|
||||
// 1. 更新订单主表:状态置为已取消,支付状态置为已退费,记录精准取消时间与标准原因
|
||||
// 1. 更新订单主表:状态置为已取消(2),支付状态置为已退费(2),记录精准取消时间与标准原因
|
||||
cancelMapper.updateOrderStatus(orderId);
|
||||
|
||||
// 2. 记录退费日志:强制关联 order_main.id,打通财务对账数据链
|
||||
cancelMapper.insertRefundLog(orderId, refundAmount, operator);
|
||||
|
||||
// 3. 释放号源:状态回滚至待约,清空关联订单ID,允许号源重新进入预约池
|
||||
// 3. 释放号源:状态回滚至待约(1),清空关联订单ID,允许号源重新进入预约池
|
||||
cancelMapper.rollbackSlotStatus(slotId);
|
||||
|
||||
// 4. 更新号源池:已约数减1,乐观锁版本号加1,防止并发超卖并修正历史版本字段错位问题
|
||||
|
||||
Reference in New Issue
Block a user