修复订单列表排序与活动时间刷新

This commit is contained in:
andy
2026-07-13 13:48:52 +08:00
parent 4cb0119e32
commit 3e94a146b9
7 changed files with 79 additions and 7 deletions

View File

@@ -22,7 +22,7 @@ public interface ReservationOrderMapper extends BaseMapper<ReservationOrderEntit
SELECT o.*
FROM workflow_reservation_order o
WHERE o.hotel_id = #{hotelId}
AND o.order_visibility != #{hiddenSystemVisibility}
AND o.order_visibility = #{visibleVisibility}
<if test="orderStatus != null and orderStatus != ''">
AND o.order_status = #{orderStatus}
</if>
@@ -56,7 +56,7 @@ public interface ReservationOrderMapper extends BaseMapper<ReservationOrderEntit
)
</if>
ORDER BY
COALESCE(o.latest_activity_at, o.updated_at) DESC,
o.latest_activity_at DESC,
o.updated_at DESC,
o.id DESC
</script>
@@ -68,6 +68,6 @@ public interface ReservationOrderMapper extends BaseMapper<ReservationOrderEntit
@Param("groupCode") String groupCode,
@Param("confirmationNumber") String confirmationNumber,
@Param("keyword") String keyword,
@Param("hiddenSystemVisibility") String hiddenSystemVisibility,
@Param("visibleVisibility") String visibleVisibility,
@Param("sourceMessageIds") List<Long> sourceMessageIds);
}

View File

@@ -453,7 +453,7 @@ public class MybatisReservationAiWorkflowRepository implements ReservationAiWork
trim(request.groupCode()),
trim(request.confirmationNumber()),
trim(request.keyword()),
ReservationOrderVisibility.HIDDEN_SYSTEM.name(),
ReservationOrderVisibility.VISIBLE.name(),
sourceMessageIds);
return new ReservationPageSnapshot<>(
page.getRecords().stream().map(this::toAiQueryOrderSnapshot).toList(),
@@ -788,11 +788,12 @@ public class MybatisReservationAiWorkflowRepository implements ReservationAiWork
public boolean updateOperaOperationAfterAttempt(
String hotelId,
Long operationId,
Long orderId,
String operationStatus,
Long lastAttemptId,
String lastErrorMessage,
LocalDateTime now) {
return operaOperationMapper.update(null, Wrappers.<ReservationOperaOperationEntity>lambdaUpdate()
boolean updated = operaOperationMapper.update(null, Wrappers.<ReservationOperaOperationEntity>lambdaUpdate()
.set(ReservationOperaOperationEntity::getOperationStatus, operationStatus)
.set(ReservationOperaOperationEntity::getLastAttemptId, lastAttemptId)
.set(ReservationOperaOperationEntity::getLastErrorMessage, lastErrorMessage)
@@ -800,6 +801,10 @@ public class MybatisReservationAiWorkflowRepository implements ReservationAiWork
.setSql("attempt_count = attempt_count + 1")
.eq(ReservationOperaOperationEntity::getHotelId, hotelId)
.eq(ReservationOperaOperationEntity::getId, operationId)) > 0;
if (updated) {
touchOrderLatestActivity(hotelId, orderId, now);
}
return updated;
}
/**

View File

@@ -248,6 +248,7 @@ public interface ReservationAiWorkflowRepository {
boolean updateOperaOperationAfterAttempt(
String hotelId,
Long operationId,
Long orderId,
String operationStatus,
Long lastAttemptId,
String lastErrorMessage,

View File

@@ -500,6 +500,7 @@ public class ReservationTaskWorkflowServiceImpl implements ReservationTaskWorkfl
workflowRepository.updateOperaOperationAfterAttempt(
task.hotelId(),
operation.id(),
task.orderId(),
operationStatus,
attemptId,
errorMessage,