xp-robotaxi-account-boot/src/main/java/com/xiaopeng/account/controller/XpAppUserCouponController.java
@@ -84,7 +84,7 @@ /** * 获取优惠券列表 */ @PostMapping("/api/v1/coupon/list") @PostMapping("/api/v1/mini-program/coupon/list") @ApiOperation(value = "获取用户获取优惠券列表", tags = {"小程序-获取用户获取优惠券列表"}) @XpClientCheck(checkToken = false, checkOtpToken = true) public R<XpAppUserCouponVo> list(@RequestBody XpUserCouponListQuery query, HttpServletRequest request) { @@ -97,7 +97,7 @@ /** * 领取优惠券 */ @PostMapping("/api/v1/coupon/receive") @PostMapping("/api/v1/mini-program/coupon/receive") @ApiOperation(value = "领取优惠券", tags = {"小程序-领取优惠券"}) @XpClientCheck(checkToken = false, checkOtpToken = true) public R<String> receive(@RequestBody ReceiveCouponDto dto, HttpServletRequest request) { @@ -115,7 +115,7 @@ /** * 获取优惠券详情 */ @GetMapping("/api/v1/coupon/detail/{couponId}") @GetMapping("/api/v1/mini-program/coupon/detail/{couponId}") @ApiOperation(value = "获取用户获取优惠券详情", tags = {"小程序-获取用户获取优惠券详情"}) @XpClientCheck(checkToken = false, checkOtpToken = true) public R<XpAppUserCouponListVo> detail(@PathVariable("couponId") Long couponId, HttpServletRequest request) { @@ -143,7 +143,7 @@ /** * 获取优惠券列表total */ @GetMapping("/api/v1/coupon/total") @GetMapping("/api/v1/mini-program/coupon/total") @ApiOperation(value = "获取用户获取优惠券数量", tags = {"小程序-获取用户获取优惠券数量"}) @XpClientCheck(checkToken = false, checkOtpToken = true) public R<XpAppUserCouponTotalVo> total(HttpServletRequest request) { xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/order/XpOrderClient.java
@@ -61,7 +61,7 @@ * @param orderId 订单id */ @PostMapping("/inner/order/cancelOrder") R<?> cancelOrder(String orderId); R<?> cancelOrder(@RequestParam("orderId") String orderId); /** xp-robotaxi-api/src/main/java/com/xiaopeng/api/feignClient/vehicleConvoy/XpVehicleClient.java
@@ -40,7 +40,7 @@ * @return 车辆 */ @GetMapping("/inner/vehicle/queryById") R<XpVehicle> queryById(Long id); R<XpVehicle> queryById(@RequestParam Long id); /** * 修改车辆信息 * @@ -80,5 +80,5 @@ * @return */ @GetMapping("/inner/vehicle/findByVehicleVin") R<XpVehicle> findByVehicleVin(String vehicleVin); R<XpVehicle> findByVehicleVin(@RequestParam("vehicleVin") String vehicleVin); } xp-robotaxi-api/src/main/java/com/xiaopeng/api/model/order/XpOrderCancel.java
@@ -31,7 +31,7 @@ private static final long serialVersionUID = 1L; @ApiModelProperty(value = "主键") @TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; @ApiModelProperty(value = "订单id") xp-robotaxi-api/src/main/java/com/xiaopeng/api/vo/automaticPilot/VehiclePosition.java
@@ -24,7 +24,6 @@ /** * 车辆VIN */ @Id private String vin; /** * 车辆所属围栏id xp-robotaxi-automaticPilot-boot/src/main/java/com/xiaopeng/automaticPilot/controller/OrderMissionController.java
New file @@ -0,0 +1,47 @@ package com.xiaopeng.automaticPilot.controller; import com.xiaopeng.api.vo.automaticPilot.proto.down.ResponseMessage; import com.xiaopeng.api.vo.automaticPilot.proto.down.StatusCode; import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudCreateOrder.RTTask; import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudCreateOrder.TaskStatus; import com.xiaopeng.api.vo.automaticPilot.proto.down.cloudCreateOrder.TaskType; import com.xiaopeng.automaticPilot.util.XPUUtil; import com.xiaopeng.common.core.domain.R; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Slf4j @RestController @RequestMapping("") @Api(tags = "订单任务Api") public class OrderMissionController { private final XPUUtil xpuUtil; public OrderMissionController(XPUUtil xpuUtil) { this.xpuUtil = xpuUtil; } @PostMapping("/inner/pushOrder") public R<Boolean> pushOrder(@RequestParam Long orderId) { RTTask task = new RTTask(); task.setOrder_id(orderId.toString()); // TODO id处理 已经数据是否存储 task.setTask_id(System.currentTimeMillis()+ ""); task.setTask_type(TaskType.ROBOTAXI); task.setStatus(TaskStatus.PENDING); ResponseMessage responseMessage = xpuUtil.cloudCreateOrder(task); if (responseMessage.getCode()== StatusCode.OK) { return R.ok(true); } return R.ok(false); } } xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/TaskOrderUtil.java
@@ -100,10 +100,11 @@ String firstElement = redisService.getFirstElement(name); if (firstElement != null) { String[] split = firstElement.toString().split("_"); // 如果市未处理 创建新任务 // 如果未处理 创建新任务 if (split[2].equals("0")) { String value = split[0] + "_" + split[1] + "_1" + "_"+split[3] + "_"+ split[4] + "_"+ split[5] + "_"+ split[6] + "_"+ split[7]; // 状态改为处理中 // redisService.updateFirst(name, split[0] + "_" + split[1] + "_1"+split[3]+split[4]+split[5]+split[6]); redisService.updateFirst(name, value); threadPoolTaskExecutor.submit(() -> { orderProcess(name, firstElement.toString()); }); @@ -611,8 +612,11 @@ // // VehiclePositionVo vehiclePositionVo1 = vehiclePositionVo; RLock lock = redissonClient.getLock("FIND_CAR_" + vehiclePositionVo.getVin()); lock.lock(10, TimeUnit.SECONDS); System.err.println("队列:"+quoteName+" 车辆:"+vehiclePositionVo.getVin()+"订单"+orderNo); try { // VehiclePosition vehiclePosition = vehiclePositionService.findByVehicleId(vehiclePositionVo.getVehicle_id()); R<XpVehicle> vehiclePositionR = xpVehicleClient.findByVehicleVin(vehiclePositionVo.getVin()); @@ -635,7 +639,7 @@ BaseVehicleUserDto baseVehicleUserDto = userVehicleClient.addTaxiPassenger(addTaxiPassengerVo); if (baseVehicleUserDto.getCode() == 200) { if (baseVehicleUserDto!=null && baseVehicleUserDto.getCode() == 200) { // TODO 下单 // 绑定成功 弹出这个队列第一个订单 redisService.popFirstElement(quoteName); xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/controller/XpOrderController.java
@@ -138,7 +138,7 @@ * @return 操作结果 */ @PostMapping("/inner/order/cancelOrder") public R<?> cancelOrder(String orderId){ public R<?> cancelOrder(@RequestParam("orderId") String orderId){ xpOrderService.cancelOrder(orderId); return R.ok(); } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/model/query/XpHistoryOrderListQuery.java
@@ -9,6 +9,6 @@ @ApiModel(value = "XpHistoryOrderListQuery", description = "历史订单列表查询参数") public class XpHistoryOrderListQuery extends BasePage { @ApiModelProperty(value = "订单状态 0=已取消,6=待支付,8=已完成") @ApiModelProperty(value = "订单状态9=待评价,10=已完成") private Integer status; } xp-robotaxi-order-boot/src/main/java/com/xiaopeng/order/service/impl/XpOrderServiceImpl.java
@@ -762,6 +762,7 @@ xpOrderCancel.setUserId(1l); xpOrderCancel.setCancelSource(4); xpOrderCancel.setCancelReason("系统取消订单"); xpOrderCancel.setCreateTime(LocalDateTime.now()); xpOrderCancelService.save(xpOrderCancel); xp-robotaxi-order-boot/src/main/resources/mapper/order/XpOrderMapper.xml
@@ -47,7 +47,7 @@ <select id="getHistoryOrderList" resultType="com.xiaopeng.order.model.vo.XpOrderHistoryListVO"> select start_point_name as originAddress, end_point_name as destinationAddress, DATE_FORMAT(create_time, '%H:%i') AS orderTime, pay_money as amount,create_time as time, id as orderId from xp_order where app_user_id = #{uid} id as orderId from xp_order where app_user_id = #{uid} and is_deleted = 0 and status in (9,10) <if test="query.status != null"> and status = #{query.status} </if> xp-robotaxi-vehicleConvoy-boot/src/main/java/com/xiaopeng/vehicleConvoy/controller/XpVehicleController.java
@@ -90,7 +90,7 @@ * @return 车辆列表 */ @GetMapping("/inner/vehicle/queryById") public R<XpVehicle> queryById(Long id) { public R<XpVehicle> queryById(@RequestParam Long id) { return R.ok(xpVehicleService.getById(id)); } /** @@ -402,7 +402,7 @@ * @return */ @GetMapping("/inner/vehicle/findByVehicleVin") public R<XpVehicle> findByVehicleVin(String vehicleVin){ public R<XpVehicle> findByVehicleVin(@RequestParam("vehicleVin") String vehicleVin){ XpVehicle xpVehicle = xpVehicleService.getOne(new LambdaQueryWrapper<XpVehicle>().eq(XpVehicle::getVehicleVin, vehicleVin)); return R.ok(xpVehicle); }