Fix Bug #506: fallback修复

This commit is contained in:
2026-05-27 00:31:38 +08:00
parent 4f85546416
commit 9990542f56

View File

@@ -49,42 +49,36 @@ public interface OrderMapper {
* 从而保证前端能够正确显示。</p>
*
* @param orderId 医嘱主键
* @return 包含医嘱详情的 Map,关键字段 {@code total_unit} 已正确映射
* @return 包含医嘱详情的 Map
*/
@Select("SELECT " +
" o.id, " +
" o.patient_id, " +
" o.doctor_id, " +
" o.order_status, " +
" o.total_quantity, " +
" o.total_unit, " + // 原字段(可能为空)
" d.total_unit_name AS total_unit, " + // 诊疗目录配置的单位,覆盖为 total_unit
" o.create_time, " +
" o.update_time " +
@Select("SELECT o.*, d.total_unit_name AS total_unit " +
"FROM his_order o " +
"LEFT JOIN his_diagnosis_catalog d ON o.catalog_id = d.id " +
"LEFT JOIN diagnosis_item d ON o.item_id = d.id " +
"WHERE o.id = #{orderId}")
Map<String, Object> selectOrderDetailById(@Param("orderId") Long orderId);
/**
* 将医嘱状态更新为已取消CANCELLED
* 将医嘱状态更新为已支付
*
* @param orderId 医嘱ID
* @param status 目标状态,建议使用 {@link #ORDER_STATUS_CANCELLED}
* @param orderId 医嘱主键
* @param status 状态,建议使用 {@link #ORDER_STATUS_PAID}
* @return 受影响的行数
*/
@Update("UPDATE his_order SET order_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 order_status = #{status} WHERE id = #{orderId}")
@Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
int updateOrderStatusToPaid(@Param("orderId") Long orderId,
@Param("status") String status);
/**
* 将医嘱状态更新为取消(诊前退号)。
*
* <p>此方法使用 PRD 中统一的 {@link #ORDER_STATUS_CANCELLED} 状态码,取代之前硬编码的
* {@code 'RETURNED'},确保数据库状态与生产环境定义保持一致,修复 Bug #506。</p>
*
* @param orderId 医嘱主键
* @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);
}