提交 10a22d1a authored 作者: hzh's avatar hzh

代码优化

上级 a010467c
...@@ -75,6 +75,13 @@ ...@@ -75,6 +75,13 @@
<artifactId>ruoyi-api-system</artifactId> <artifactId>ruoyi-api-system</artifactId>
</dependency> </dependency>
<!-- RuoYi Api Server -->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-api-server</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package org.dromara.job.snailjob;
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
import com.aizuda.snailjob.client.model.ExecuteResult;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.server.api.RemoteOrderService;
import org.springframework.stereotype.Component;
/**
* @author hzh
* @date 2024-11-18
*/
@AllArgsConstructor
@Component
@JobExecutor(name = "orderJobExecutor")
public class OrderJobExecutor {
@DubboReference
private RemoteOrderService remoteOrderService;
public ExecuteResult jobExecute(JobArgs jobArgs) {
remoteOrderService.updateAirportOrder();
return ExecuteResult.success("更新成功");
}
}
...@@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor; ...@@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.redis.utils.RedisUtils;
import org.dromara.common.ys.common.PageInfo; import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.constant.Cplx; import org.dromara.common.ys.constant.Cplx;
...@@ -24,6 +25,7 @@ import org.dromara.common.ys.service.IAirportService; ...@@ -24,6 +25,7 @@ import org.dromara.common.ys.service.IAirportService;
import org.dromara.common.ys.service.ICommonResourceService; import org.dromara.common.ys.service.ICommonResourceService;
import org.dromara.common.ys.service.IInsuranceService; import org.dromara.common.ys.service.IInsuranceService;
import org.dromara.server.base.BaseController; import org.dromara.server.base.BaseController;
import org.dromara.server.service.IOrderAirportService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -48,6 +50,7 @@ public class AirportController extends BaseController { ...@@ -48,6 +50,7 @@ public class AirportController extends BaseController {
private final IAirportService airPortService; private final IAirportService airPortService;
private final ICommonResourceService commonResourceService; private final ICommonResourceService commonResourceService;
private final IInsuranceService insuranceService; private final IInsuranceService insuranceService;
private final IOrderAirportService orderAirportService;
/** /**
* 查询航班信息 * 查询航班信息
...@@ -109,21 +112,25 @@ public class AirportController extends BaseController { ...@@ -109,21 +112,25 @@ public class AirportController extends BaseController {
/** /**
* 下单接口 * 下单接口
*/ */
@GlobalTransactional(timeoutMills = 600000) @GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class)
@PostMapping("/bookOrder") @PostMapping("/bookOrder")
public R<List<org.dromara.common.ys.model.res.airport.BookOrderModel>> bookOrder(@RequestBody BookOrderModel model) { public R<List<org.dromara.common.ys.model.res.airport.BookOrderModel>> bookOrder(@RequestBody BookOrderModel model) {
model.setTripType(TripType.PUBLIC.getCode()); model.setTripType(TripType.PUBLIC.getCode());
List<org.dromara.common.ys.model.res.airport.BookOrderModel> orderList = airPortService.bookOrder(getUserId(), model); List<org.dromara.common.ys.model.res.airport.BookOrderModel> orderList = airPortService.bookOrder(getUserId(), model);
//添加到订单表
orderAirportService.batchSaveOrder(getUserId(), StreamUtils.toList(orderList, org.dromara.common.ys.model.res.airport.BookOrderModel::getOrderNo));
return R.ok(orderList); return R.ok(orderList);
} }
/** /**
* 取消订单 * 取消订单
*/ */
@GlobalTransactional(timeoutMills = 600000) @GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class)
@PostMapping("/cancel") @PostMapping("/cancel")
public R<Boolean> cancel(@RequestBody CancelOrderModel model) { public R<Boolean> cancel(@RequestBody CancelOrderModel model) {
airPortService.cancelOrder(getUserId(), model); airPortService.cancelOrder(getUserId(), model);
//跟新到订单表
orderAirportService.updateAirportInfo(List.of(model.getOrderNo()));
return R.ok(true); return R.ok(true);
} }
......
...@@ -3,9 +3,17 @@ package org.dromara.server.dubbo; ...@@ -3,9 +3,17 @@ package org.dromara.server.dubbo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.ys.constant.airport.OrderStatus;
import org.dromara.server.api.RemoteOrderService; import org.dromara.server.api.RemoteOrderService;
import org.dromara.server.domain.bo.OrderAirportBo;
import org.dromara.server.domain.vo.OrderAirportVo;
import org.dromara.server.service.IOrderAirportService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author hzh * @author hzh
* @date 2024-11-18 * @date 2024-11-18
...@@ -16,8 +24,22 @@ import org.springframework.stereotype.Service; ...@@ -16,8 +24,22 @@ import org.springframework.stereotype.Service;
@DubboService @DubboService
public class RemoteOrderServiceImpl implements RemoteOrderService { public class RemoteOrderServiceImpl implements RemoteOrderService {
private final IOrderAirportService orderAirportService;
/**
* 不需要更新的订单状态
*/
private final List<String> orderStatusList = Arrays.asList(OrderStatus.OUT_TICKET.getCode(), OrderStatus.CANCEL.getCode(), OrderStatus.REFUSE_AUDIT.getCode());
/**
* 跟新机场订单信息
*/
@Override @Override
public void updateAirportOrder() { public void updateAirportOrder() {
List<OrderAirportVo> orderList = orderAirportService.queryList(new OrderAirportBo());
orderAirportService.updateAirportInfo(
orderList.stream().filter(item -> !orderStatusList.contains(item.getOrderStatus())).map(OrderAirportVo::getOrderNo).collect(Collectors.toList())
);
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论