Fix Bug #561: fallback修复

This commit is contained in:
2026-05-27 00:29:53 +08:00
parent b6fc885801
commit 4f85546416

View File

@@ -47,32 +47,44 @@ public interface OrderMapper {
*(对应数据库列 {@code total_unit})。原始的 {@code SELECT *} 只能映射到 {@code total_unit},导致
* 前端得到 {@code null}。此查询通过别名把 {@code total_unit_name} 映射为 {@code total_unit}
* 从而保证前端能够正确显示。</p>
*
* @param orderId 医嘱主键
* @return 包含医嘱详情的 Map关键字段 {@code total_unit} 已正确映射
*/
@Select("SELECT o.*, d.total_unit_name AS total_unit " +
@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 " +
"FROM his_order o " +
"LEFT JOIN diagnosis_detail d ON o.diagnosis_id = d.id " +
"LEFT JOIN his_diagnosis_catalog d ON o.catalog_id = d.id " +
"WHERE o.id = #{orderId}")
Map<String, Object> selectOrderDetailById(@Param("orderId") Long orderId);
/**
* 将订单状态更新为已取消CANCELLED
* 将医嘱状态更新为已取消CANCELLED
*
* @param orderId 订单ID
* @param status 目标状态,建议使用 {@link #ORDER_STATUS_CANCELLED}
* @param orderId 医嘱ID
* @param status 目标状态,建议使用 {@link #ORDER_STATUS_CANCELLED}
* @return 受影响的行数
*/
@Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
@Update("UPDATE his_order SET order_status = #{status} WHERE id = #{orderId}")
int updateOrderStatusToCancelled(@Param("orderId") Long orderId,
@Param("status") String status);
/**
* **新增**:将订单状态更新为已支付PAID
* **新增**:将医嘱状态更新为已支付PAID
*
* @param orderId 订单ID
* @param status 目标状态,建议使用 {@link #ORDER_STATUS_PAID}
* @param orderId 医嘱ID
* @param status 目标状态,建议使用 {@link #ORDER_STATUS_PAID}
* @return 受影响的行数
*/
@Update("UPDATE his_order SET status = #{status} WHERE id = #{orderId}")
@Update("UPDATE his_order SET order_status = #{status} WHERE id = #{orderId}")
int updateOrderStatusToPaid(@Param("orderId") Long orderId,
@Param("status") String status);
}