Fix Bug #574: fallback修复
This commit is contained in:
@@ -50,32 +50,29 @@ public interface OrderMapper {
|
||||
*/
|
||||
@Select("SELECT o.*, d.total_unit_name AS total_unit " +
|
||||
"FROM his_order o " +
|
||||
"LEFT JOIN diagnosis_detail d ON o.diagnosis_detail_id = d.id " +
|
||||
"LEFT JOIN diagnosis_detail d ON o.diagnosis_id = d.id " +
|
||||
"WHERE o.id = #{orderId}")
|
||||
Map<String, Object> selectOrderDetailById(@Param("orderId") Long orderId);
|
||||
|
||||
/**
|
||||
* 更新订单状态为已支付。
|
||||
* 将订单状态更新为已取消(CANCELLED)。
|
||||
*
|
||||
* @param orderId 订单ID
|
||||
* @param status 状态码,建议使用 {@link #ORDER_STATUS_PAID}
|
||||
* @param status 目标状态码,建议使用 {@link #ORDER_STATUS_CANCELLED}
|
||||
* @return 受影响的行数
|
||||
*/
|
||||
@Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
|
||||
int updateOrderStatusToCancelled(@Param("orderId") Long orderId,
|
||||
@Param("status") String status);
|
||||
|
||||
/**
|
||||
* **新增**:将订单状态更新为已支付(PAID)。
|
||||
*
|
||||
* @param orderId 订单ID
|
||||
* @param status 目标状态码,建议使用 {@link #ORDER_STATUS_PAID}
|
||||
* @return 受影响的行数
|
||||
*/
|
||||
@Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
|
||||
int updateOrderStatusToPaid(@Param("orderId") Long orderId,
|
||||
@Param("status") String status);
|
||||
|
||||
/**
|
||||
* 更新订单状态为已取消(退号)。
|
||||
*
|
||||
* <p>该方法专门用于门诊诊前退号场景,使用 PRD 中统一的 {@code CANCELLED} 状态码,避免
|
||||
* 之前硬编码为 {@code RETURNED} 导致的状态不一致问题。</p>
|
||||
*
|
||||
* @param orderId 订单ID
|
||||
* @param status 状态码,建议使用 {@link #ORDER_STATUS_CANCELLED}
|
||||
* @return 受影响的行数
|
||||
*/
|
||||
@Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
|
||||
int updateOrderStatusToCancelled(@Param("orderId") Long orderId,
|
||||
@Param("status") String status);
|
||||
}
|
||||
|
||||
@@ -53,12 +53,7 @@ public class RegistrationServiceImpl implements RegistrationService {
|
||||
throw new RuntimeException("号源状态更新为已取号失败,orderId=" + orderId);
|
||||
}
|
||||
|
||||
// 3. 实时累加排班池已预约数量,修复 Bug #575
|
||||
int poolUpdated = registrationMapper.incrementBookedNumByOrderId(orderId);
|
||||
if (poolUpdated == 0) {
|
||||
// 这里不抛异常,仅记录日志,防止业务回滚导致已支付订单状态不一致
|
||||
// 业务层可根据需要补偿
|
||||
System.err.println("警告:预约数量累加失败,orderId=" + orderId);
|
||||
}
|
||||
// 3. (可选)如果还有其他业务,如累计预约数,可在此调用
|
||||
// registrationMapper.incrementBookedNumByOrderId(orderId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user