调度工单处理后过期不生效
This commit is contained in:
parent
339b01526f
commit
b2e6cc0180
@ -1,12 +1,20 @@
|
||||
package com.cdzy.operations.component;
|
||||
|
||||
import com.cdzy.operations.enums.BikeOrderType;
|
||||
import com.cdzy.operations.enums.OrderDispatchState;
|
||||
import com.cdzy.operations.enums.OrderHandleState;
|
||||
import com.cdzy.operations.model.entity.EbikeBikeOrder;
|
||||
import com.cdzy.operations.service.EbikeBikeOrderService;
|
||||
import com.cdzy.operations.utils.RedisUtil;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import static com.cdzy.operations.model.entity.table.EbikeBikeOrderTableDef.EBIKE_BIKE_ORDER;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class SafeOrderExpirationListener {
|
||||
@ -17,6 +25,9 @@ public class SafeOrderExpirationListener {
|
||||
@Resource
|
||||
private ServiceInstanceManager instanceManager;
|
||||
|
||||
@Resource
|
||||
private EbikeBikeOrderService orderService;
|
||||
|
||||
|
||||
// Redis键常量
|
||||
private static final String ORDER_KEY_PREFIX = "bike:dispatch:lock:";
|
||||
@ -68,7 +79,7 @@ public class SafeOrderExpirationListener {
|
||||
try {
|
||||
|
||||
// 执行实际的过期处理逻辑
|
||||
processExpiredOrderBusiness(orderId, instanceId);
|
||||
processExpiredOrderBusiness(orderId);
|
||||
|
||||
log.info("实例 {} 完成工单过期处理: orderId={}", instanceId, orderId);
|
||||
|
||||
@ -98,9 +109,17 @@ public class SafeOrderExpirationListener {
|
||||
/**
|
||||
* 实际的业务处理逻辑
|
||||
*/
|
||||
private void processExpiredOrderBusiness(String orderId, String instanceId) {
|
||||
private void processExpiredOrderBusiness(String orderId) {
|
||||
try {
|
||||
//TODO:处理订单,该订单为到期未有用户骑行的调度订单
|
||||
//处理订单,该订单为到期未有用户骑行的调度订单
|
||||
QueryWrapper query = QueryWrapper.create()
|
||||
.where(EBIKE_BIKE_ORDER.ORDER_ID.eq(orderId))
|
||||
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.DISPATCH))
|
||||
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.PROCESSED))
|
||||
.where(EBIKE_BIKE_ORDER.DISPATCH_STATE.eq(OrderDispatchState.PROCESSED));
|
||||
EbikeBikeOrder bikeOrder = orderService.getOne(query);
|
||||
bikeOrder.setDispatchState(OrderDispatchState.INEFFECTIVE);
|
||||
orderService.updateById(bikeOrder);
|
||||
} catch (Exception e) {
|
||||
log.error("处理工单业务异常: orderId={}", orderId, e);
|
||||
throw e;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user