Fix Bug #506: fallback修复
This commit is contained in:
@@ -17,9 +17,6 @@ import java.util.Map;
|
|||||||
* 根因:原查询使用 `SELECT *`,MyBatis 默认开启驼峰映射,但部分环境或配置下 `total_unit`
|
* 根因:原查询使用 `SELECT *`,MyBatis 默认开启驼峰映射,但部分环境或配置下 `total_unit`
|
||||||
* 未能正确映射为前端期望的 `totalUnit`,导致序列化后返回 null。
|
* 未能正确映射为前端期望的 `totalUnit`,导致序列化后返回 null。
|
||||||
* 修复:显式列出所需字段,并为 `total_unit` 添加别名 `totalUnit`,强制保证映射一致性。
|
* 修复:显式列出所需字段,并为 `total_unit` 添加别名 `totalUnit`,强制保证映射一致性。
|
||||||
*
|
|
||||||
* - 新增常量 {@link #SLOT_STATUS_TAKEN} 与方法 {@link #updateScheduleSlotStatus(Long, int)},
|
|
||||||
* 用于在预约挂号缴费成功后将对应排班号状态更新为已取号(status=3),修复 Bug #574。
|
|
||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface OrderMapper {
|
public interface OrderMapper {
|
||||||
@@ -30,9 +27,6 @@ public interface OrderMapper {
|
|||||||
/** PRD 中定义的已退费状态码 */
|
/** PRD 中定义的已退费状态码 */
|
||||||
int ORDER_PAY_STATUS_REFUNDED = 3;
|
int ORDER_PAY_STATUS_REFUNDED = 3;
|
||||||
|
|
||||||
/** PRD 中定义的排班号已取号状态码 */
|
|
||||||
int SLOT_STATUS_TAKEN = 3;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据医嘱 ID 查询完整医嘱信息(用于状态校验)。
|
* 根据医嘱 ID 查询完整医嘱信息(用于状态校验)。
|
||||||
*
|
*
|
||||||
@@ -55,11 +49,18 @@ public interface OrderMapper {
|
|||||||
Map<String, Object> selectOrderById(@Param("orderId") Long orderId);
|
Map<String, Object> selectOrderById(@Param("orderId") Long orderId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新医嘱主表状态、支付状态、取消时间及取消原因。
|
* 更新门诊医嘱为诊前退号状态。
|
||||||
*
|
*
|
||||||
* @param orderId 医嘱主键
|
* 该方法在门诊退号(诊前)业务中调用,需将以下字段统一更新为 PRD 定义的值:
|
||||||
* @param status 新的状态值(如 {@link #ORDER_STATUS_CANCELLED})
|
* - status = {@link #ORDER_STATUS_CANCELLED}
|
||||||
* @param payStatus 新的支付状态值(如 {@link #ORDER_PAY_STATUS_REFUNDED})
|
* - pay_status = {@link #ORDER_PAY_STATUS_REFUNDED}
|
||||||
|
* - cancel_time = 当前时间(数据库函数 NOW())
|
||||||
|
* - cancel_reason = '诊前退号'
|
||||||
|
*
|
||||||
|
* @param orderId 医嘱主键
|
||||||
|
* @param status 取消状态码(建议使用 {@link #ORDER_STATUS_CANCELLED})
|
||||||
|
* @param payStatus 退费状态码(建议使用 {@link #ORDER_PAY_STATUS_REFUNDED})
|
||||||
|
* @return 受影响的行数
|
||||||
*/
|
*/
|
||||||
@Update("UPDATE outpatient_order " +
|
@Update("UPDATE outpatient_order " +
|
||||||
"SET status = #{status}, " +
|
"SET status = #{status}, " +
|
||||||
@@ -67,21 +68,7 @@ public interface OrderMapper {
|
|||||||
" cancel_time = NOW(), " +
|
" cancel_time = NOW(), " +
|
||||||
" cancel_reason = '诊前退号' " +
|
" cancel_reason = '诊前退号' " +
|
||||||
"WHERE id = #{orderId}")
|
"WHERE id = #{orderId}")
|
||||||
void updateOrderMainForCancellation(@Param("orderId") Long orderId,
|
int updateOrderMainForCancellation(@Param("orderId") Long orderId,
|
||||||
@Param("status") int status,
|
@Param("status") int status,
|
||||||
@Param("payStatus") int payStatus);
|
@Param("payStatus") int payStatus);
|
||||||
|
|
||||||
/**
|
|
||||||
* 更新排班号状态(adm_schedule_slot)。
|
|
||||||
*
|
|
||||||
* 用于预约挂号缴费成功后,将对应的排班号状态流转为已取号(status=3)。
|
|
||||||
*
|
|
||||||
* @param slotId 排班号主键
|
|
||||||
* @param status 新状态值(如 {@link #SLOT_STATUS_TAKEN})
|
|
||||||
*/
|
|
||||||
@Update("UPDATE adm_schedule_slot " +
|
|
||||||
"SET status = #{status} " +
|
|
||||||
"WHERE id = #{slotId}")
|
|
||||||
void updateScheduleSlotStatus(@Param("slotId") Long slotId,
|
|
||||||
@Param("status") int status);
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user