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 total_unit})。原始的 {@code SELECT *} 只能映射到 {@code total_unit},导致
* 前端得到 {@code null}。此查询通过别名把 {@code total_unit_name} 映射为 {@code total_unit} * 前端得到 {@code null}。此查询通过别名把 {@code total_unit_name} 映射为 {@code total_unit}
* 从而保证前端能够正确显示。</p> * 从而保证前端能够正确显示。</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 " + "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}") "WHERE o.id = #{orderId}")
Map<String, Object> selectOrderDetailById(@Param("orderId") Long orderId); Map<String, Object> selectOrderDetailById(@Param("orderId") Long orderId);
/** /**
* 将订单状态更新为已取消CANCELLED * 将医嘱状态更新为已取消CANCELLED
* *
* @param orderId 订单ID * @param orderId 医嘱ID
* @param status 目标状态,建议使用 {@link #ORDER_STATUS_CANCELLED} * @param status 目标状态,建议使用 {@link #ORDER_STATUS_CANCELLED}
* @return 受影响的行数 * @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, int updateOrderStatusToCancelled(@Param("orderId") Long orderId,
@Param("status") String status); @Param("status") String status);
/** /**
* **新增**:将订单状态更新为已支付PAID * **新增**:将医嘱状态更新为已支付PAID
* *
* @param orderId 订单ID * @param orderId 医嘱ID
* @param status 目标状态,建议使用 {@link #ORDER_STATUS_PAID} * @param status 目标状态,建议使用 {@link #ORDER_STATUS_PAID}
* @return 受影响的行数 * @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, int updateOrderStatusToPaid(@Param("orderId") Long orderId,
@Param("status") String status); @Param("status") String status);
} }