增加确认租车,申请还车,绑定车辆,确认还车接口
This commit is contained in:
@ -0,0 +1,23 @@
|
|||||||
|
package com.sczx.order.common.enums;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: 张黎
|
||||||
|
* @Date: 2024/03/08/17:42
|
||||||
|
* @Description: 订单状态
|
||||||
|
*/
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Getter
|
||||||
|
public enum OrderStatusEnum {
|
||||||
|
WAIT_PAY("WAIT_PAY", "待支付"),
|
||||||
|
WAIT_PICK("WAIT_PICK", "待取车"),
|
||||||
|
RENT_ING("RENT_ING", "租赁中"),
|
||||||
|
WAIT_RETURN("WAIT_RETURN", "待还车"),
|
||||||
|
RENT_END("RENT_END", "已结束"),
|
||||||
|
;
|
||||||
|
private final String code;
|
||||||
|
|
||||||
|
private final String msg;
|
||||||
|
}
|
||||||
@ -1,9 +1,10 @@
|
|||||||
package com.sczx.order.controller;
|
package com.sczx.order.controller;
|
||||||
|
|
||||||
import com.sczx.order.common.Result;
|
import com.sczx.order.common.Result;
|
||||||
import com.sczx.order.dto.OrderMainDTO;
|
import com.sczx.order.dto.OrderDTO;
|
||||||
import com.sczx.order.dto.RentCarOrderReq;
|
import com.sczx.order.dto.RentCarOrderReq;
|
||||||
import com.sczx.order.dto.RentCarOrderResultDTO;
|
import com.sczx.order.dto.RentCarOrderResultDTO;
|
||||||
|
import com.sczx.order.dto.ReturnCarReq;
|
||||||
import com.sczx.order.service.OrderService;
|
import com.sczx.order.service.OrderService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@ -31,7 +32,13 @@ public class ClientOrderController {
|
|||||||
|
|
||||||
@ApiOperation(value = "根据订单查询订单信息")
|
@ApiOperation(value = "根据订单查询订单信息")
|
||||||
@GetMapping("/getOrderInfoByOrderNo")
|
@GetMapping("/getOrderInfoByOrderNo")
|
||||||
public Result<OrderMainDTO> getOrderInfoByOrderNo(@RequestParam("orderNo") String orderNo){
|
public Result<OrderDTO> getOrderInfoByOrderNo(@RequestParam("orderNo") String orderNo){
|
||||||
return Result.ok(orderService.getOrderInfoByOrderNo(orderNo));
|
return Result.ok(orderService.getOrderInfoByOrderNo(orderNo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "申请还车")
|
||||||
|
@PostMapping("/requestReturnCar")
|
||||||
|
public Result<OrderDTO> requestReturnCar(@RequestBody ReturnCarReq returnCarReq){
|
||||||
|
return Result.ok(orderService.requestReturnCar(returnCarReq));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,35 @@
|
|||||||
|
package com.sczx.order.controller;
|
||||||
|
|
||||||
|
import com.sczx.order.common.Result;
|
||||||
|
import com.sczx.order.dto.*;
|
||||||
|
import com.sczx.order.service.OrderService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author: 张黎
|
||||||
|
* @Date: 2025/07/25/16:42
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
@Api(value = "门店订单操作接口", tags = "门店订单操作接口")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/storeOrder")
|
||||||
|
public class StoreOrderController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private OrderService orderService;
|
||||||
|
|
||||||
|
@ApiOperation(value = "绑定车辆")
|
||||||
|
@PostMapping("/bindCarToOrder")
|
||||||
|
public Result<OrderDTO> bindCarToOrder(@RequestBody BindCarToOrderReq bindCarToOrderReq){
|
||||||
|
return Result.ok(orderService.bindCarToOrder(bindCarToOrderReq));
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "确认还车")
|
||||||
|
@PostMapping("/confirmReturnCar")
|
||||||
|
public Result<OrderDTO> confirmReturnCar(@RequestBody ReturnCarReq returnCarReq){
|
||||||
|
return Result.ok(orderService.confirmReturnCar(returnCarReq));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
package com.sczx.order.convert;
|
package com.sczx.order.convert;
|
||||||
|
|
||||||
import com.sczx.order.dto.OrderMainDTO;
|
import com.sczx.order.dto.OrderDTO;
|
||||||
import com.sczx.order.dto.RentCarOrderReq;
|
import com.sczx.order.dto.RentCarOrderReq;
|
||||||
import com.sczx.order.dto.SimpleUserInfoDTO;
|
import com.sczx.order.dto.SimpleUserInfoDTO;
|
||||||
import com.sczx.order.po.OrderMainPO;
|
import com.sczx.order.po.OrderMainPO;
|
||||||
@ -15,9 +15,9 @@ public interface OrderConvert {
|
|||||||
|
|
||||||
OrderConvert INSTANCE = Mappers.getMapper(OrderConvert.class);
|
OrderConvert INSTANCE = Mappers.getMapper(OrderConvert.class);
|
||||||
|
|
||||||
OrderMainDTO poToDto(OrderMainPO orderMainPO);
|
OrderDTO poToDto(OrderMainPO orderMainPO);
|
||||||
|
|
||||||
OrderMainPO dtoToPo(OrderMainDTO orderMainDTO);
|
OrderMainPO dtoToPo(OrderDTO orderDTO);
|
||||||
|
|
||||||
@Mappings({
|
@Mappings({
|
||||||
@Mapping(target = "orderId", ignore = true),
|
@Mapping(target = "orderId", ignore = true),
|
||||||
|
|||||||
15
src/main/java/com/sczx/order/convert/OrderSubConvert.java
Normal file
15
src/main/java/com/sczx/order/convert/OrderSubConvert.java
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package com.sczx.order.convert;
|
||||||
|
|
||||||
|
import com.sczx.order.dto.OrderSubDTO;
|
||||||
|
import com.sczx.order.po.OrderSubPO;
|
||||||
|
import org.mapstruct.Mapper;
|
||||||
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface OrderSubConvert {
|
||||||
|
OrderSubConvert INSTANCE = Mappers.getMapper(OrderSubConvert.class);
|
||||||
|
OrderSubDTO poToDto(OrderSubPO orderSubPO);
|
||||||
|
List<OrderSubDTO> posToDtos(List<OrderSubPO> orderSubPOList);
|
||||||
|
}
|
||||||
16
src/main/java/com/sczx/order/dto/BindCarToOrderReq.java
Normal file
16
src/main/java/com/sczx/order/dto/BindCarToOrderReq.java
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
package com.sczx.order.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@ApiModel(value = "绑定车辆到订单请求参数")
|
||||||
|
@Data
|
||||||
|
public class BindCarToOrderReq {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "订单编号")
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "车辆ID")
|
||||||
|
private Long vehicleId;
|
||||||
|
}
|
||||||
@ -1,7 +1,5 @@
|
|||||||
package com.sczx.order.dto;
|
package com.sczx.order.dto;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.sczx.order.thirdpart.dto.CarModelSimpleDTO;
|
import com.sczx.order.thirdpart.dto.CarModelSimpleDTO;
|
||||||
import com.sczx.order.thirdpart.dto.CompanyStoreDTO;
|
import com.sczx.order.thirdpart.dto.CompanyStoreDTO;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
@ -10,6 +8,7 @@ import lombok.Data;
|
|||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: 张黎
|
* @Author: 张黎
|
||||||
@ -18,7 +17,7 @@ import java.time.LocalDateTime;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@ApiModel(value = "订单dto", description = "租车订单信息")
|
@ApiModel(value = "订单dto", description = "租车订单信息")
|
||||||
public class OrderMainDTO {
|
public class OrderDTO {
|
||||||
|
|
||||||
@ApiModelProperty("订单ID(主键)")
|
@ApiModelProperty("订单ID(主键)")
|
||||||
private Long orderId;
|
private Long orderId;
|
||||||
@ -92,6 +91,9 @@ public class OrderMainDTO {
|
|||||||
@ApiModelProperty("还车时间")
|
@ApiModelProperty("还车时间")
|
||||||
private LocalDateTime endRentTime;
|
private LocalDateTime endRentTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("申请还车时间")
|
||||||
|
private LocalDateTime reqEndRentTime;
|
||||||
|
|
||||||
@ApiModelProperty("实际还车时间")
|
@ApiModelProperty("实际还车时间")
|
||||||
private LocalDateTime actEndRentTime;
|
private LocalDateTime actEndRentTime;
|
||||||
|
|
||||||
@ -115,4 +117,7 @@ public class OrderMainDTO {
|
|||||||
|
|
||||||
@ApiModelProperty("更新时间")
|
@ApiModelProperty("更新时间")
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("租车子订单信息")
|
||||||
|
private List<OrderSubDTO> orderSubDTOList;
|
||||||
}
|
}
|
||||||
46
src/main/java/com/sczx/order/dto/OrderSubDTO.java
Normal file
46
src/main/java/com/sczx/order/dto/OrderSubDTO.java
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
package com.sczx.order.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "租车订单子表dto", description = "租车订单子表信息")
|
||||||
|
public class OrderSubDTO {
|
||||||
|
|
||||||
|
@ApiModelProperty("子订单ID(主键)")
|
||||||
|
private Long suborderId;
|
||||||
|
|
||||||
|
@ApiModelProperty("关联的订单ID(外键)")
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
@ApiModelProperty("子订单编号")
|
||||||
|
private String suborderNo;
|
||||||
|
|
||||||
|
@ApiModelProperty("子订单类型(首租、续租、逾期、押金、租电等)")
|
||||||
|
private String suborderType;
|
||||||
|
|
||||||
|
@ApiModelProperty("订单金额")
|
||||||
|
private BigDecimal amount;
|
||||||
|
|
||||||
|
@ApiModelProperty("支付方式")
|
||||||
|
private String paymentMethod;
|
||||||
|
|
||||||
|
@ApiModelProperty("车架/电池编号")
|
||||||
|
private String vinBatteryNo;
|
||||||
|
|
||||||
|
@ApiModelProperty("订单产生时间")
|
||||||
|
private LocalDateTime createdAt;
|
||||||
|
|
||||||
|
@ApiModelProperty("支付ID")
|
||||||
|
private String paymentId;
|
||||||
|
|
||||||
|
@ApiModelProperty("实际支付时间")
|
||||||
|
private LocalDateTime paidAt;
|
||||||
|
|
||||||
|
@ApiModelProperty("备注")
|
||||||
|
private String remark;
|
||||||
|
}
|
||||||
@ -10,7 +10,7 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class RentCarOrderResultDTO {
|
public class RentCarOrderResultDTO {
|
||||||
@ApiModelProperty(value = "租车订单信息")
|
@ApiModelProperty(value = "租车订单信息")
|
||||||
private OrderMainDTO orderMainInfo;
|
private OrderDTO orderMainInfo;
|
||||||
|
|
||||||
@ApiModelProperty(value = "统一预支付信息")
|
@ApiModelProperty(value = "统一预支付信息")
|
||||||
private UnifiedPaymentInfoDTO unifiedPaymentInfo;
|
private UnifiedPaymentInfoDTO unifiedPaymentInfo;
|
||||||
|
|||||||
14
src/main/java/com/sczx/order/dto/ReturnCarReq.java
Normal file
14
src/main/java/com/sczx/order/dto/ReturnCarReq.java
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package com.sczx.order.dto;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "还车请求参数")
|
||||||
|
public class ReturnCarReq {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "订单编号")
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
|
}
|
||||||
@ -3,14 +3,15 @@ package com.sczx.order.po;
|
|||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import java.io.Serializable;
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 租车订单信息
|
* 租车订单信息
|
||||||
@ -94,6 +95,9 @@ public class OrderMainPO implements Serializable {
|
|||||||
@ApiModelProperty("还车时间")
|
@ApiModelProperty("还车时间")
|
||||||
private LocalDateTime endRentTime;
|
private LocalDateTime endRentTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("申请还车时间")
|
||||||
|
private LocalDateTime reqEndRentTime;
|
||||||
|
|
||||||
@ApiModelProperty("实际还车时间")
|
@ApiModelProperty("实际还车时间")
|
||||||
private LocalDateTime actEndRentTime;
|
private LocalDateTime actEndRentTime;
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,7 @@
|
|||||||
package com.sczx.order.service;
|
package com.sczx.order.service;
|
||||||
|
|
||||||
|
|
||||||
import com.sczx.order.dto.OrderMainDTO;
|
import com.sczx.order.dto.*;
|
||||||
import com.sczx.order.dto.RentCarOrderReq;
|
|
||||||
import com.sczx.order.dto.RentCarOrderResultDTO;
|
|
||||||
|
|
||||||
public interface OrderService {
|
public interface OrderService {
|
||||||
|
|
||||||
@ -19,5 +17,28 @@ public interface OrderService {
|
|||||||
* @param orderNo
|
* @param orderNo
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
OrderMainDTO getOrderInfoByOrderNo(String orderNo);
|
OrderDTO getOrderInfoByOrderNo(String orderNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 绑定车辆到订单
|
||||||
|
* @param bindCarToOrderReq
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
OrderDTO bindCarToOrder(BindCarToOrderReq bindCarToOrderReq);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请还车
|
||||||
|
* @param returnCarReq
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
OrderDTO requestReturnCar(ReturnCarReq returnCarReq);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确认还车
|
||||||
|
* @param returnCarReq
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
OrderDTO confirmReturnCar(ReturnCarReq returnCarReq);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
package com.sczx.order.service.impl;
|
package com.sczx.order.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.sczx.order.common.constant.RedisKeyConstants;
|
import com.sczx.order.common.constant.RedisKeyConstants;
|
||||||
import com.sczx.order.common.enums.MiniProgramTypeEnum;
|
import com.sczx.order.common.enums.MiniProgramTypeEnum;
|
||||||
|
import com.sczx.order.common.enums.OrderStatusEnum;
|
||||||
import com.sczx.order.common.enums.PaymentTypeEnum;
|
import com.sczx.order.common.enums.PaymentTypeEnum;
|
||||||
import com.sczx.order.common.enums.SubOrderTypeEnum;
|
import com.sczx.order.common.enums.SubOrderTypeEnum;
|
||||||
import com.sczx.order.convert.OrderConvert;
|
import com.sczx.order.convert.OrderConvert;
|
||||||
import com.sczx.order.dto.OrderMainDTO;
|
import com.sczx.order.convert.OrderSubConvert;
|
||||||
import com.sczx.order.dto.RentCarOrderReq;
|
import com.sczx.order.dto.*;
|
||||||
import com.sczx.order.dto.RentCarOrderResultDTO;
|
|
||||||
import com.sczx.order.dto.SimpleUserInfoDTO;
|
|
||||||
import com.sczx.order.exception.InnerException;
|
import com.sczx.order.exception.InnerException;
|
||||||
import com.sczx.order.po.OrderMainPO;
|
import com.sczx.order.po.OrderMainPO;
|
||||||
import com.sczx.order.po.OrderSubPO;
|
import com.sczx.order.po.OrderSubPO;
|
||||||
@ -74,6 +74,9 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
//生成订单主表
|
//生成订单主表
|
||||||
OrderMainPO orderMainPO = OrderConvert.INSTANCE.subOrderToPo(rentCarOrderReq, userInfoDTO, rentCarRuleDTO);
|
OrderMainPO orderMainPO = OrderConvert.INSTANCE.subOrderToPo(rentCarOrderReq, userInfoDTO, rentCarRuleDTO);
|
||||||
orderMainPO.setOrderNo(OrderUtil.generateOrderNo());
|
orderMainPO.setOrderNo(OrderUtil.generateOrderNo());
|
||||||
|
//TODO 默认应该是待支付状态,这里先默认支付完成待取车
|
||||||
|
// orderMainPO.setOrderStatus(OrderStatusEnum.WAIT_PAY.getCode());
|
||||||
|
orderMainPO.setOrderStatus(OrderStatusEnum.WAIT_PICK.getCode());
|
||||||
orderMainRepo.save(orderMainPO);
|
orderMainRepo.save(orderMainPO);
|
||||||
|
|
||||||
//生成子表订单
|
//生成子表订单
|
||||||
@ -117,12 +120,12 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
UnifiedPaymentInfoDTO unifiedPaymentInfoDTO = new UnifiedPaymentInfoDTO();
|
UnifiedPaymentInfoDTO unifiedPaymentInfoDTO = new UnifiedPaymentInfoDTO();
|
||||||
|
|
||||||
//返回订单信息
|
//返回订单信息
|
||||||
OrderMainDTO orderMainDTO = OrderConvert.INSTANCE.poToDto(orderMainPO);
|
OrderDTO orderDTO = OrderConvert.INSTANCE.poToDto(orderMainPO);
|
||||||
orderMainDTO.setCompanyStoreDTO(companyStoreDTO);
|
orderDTO.setCompanyStoreDTO(companyStoreDTO);
|
||||||
orderMainDTO.setCarModelSimpleDTO(carModelSimpleDTO);
|
orderDTO.setCarModelSimpleDTO(carModelSimpleDTO);
|
||||||
|
|
||||||
RentCarOrderResultDTO rentCarOrderResultDTO = new RentCarOrderResultDTO();
|
RentCarOrderResultDTO rentCarOrderResultDTO = new RentCarOrderResultDTO();
|
||||||
rentCarOrderResultDTO.setOrderMainInfo(orderMainDTO);
|
rentCarOrderResultDTO.setOrderMainInfo(orderDTO);
|
||||||
rentCarOrderResultDTO.setUnifiedPaymentInfo(unifiedPaymentInfoDTO);
|
rentCarOrderResultDTO.setUnifiedPaymentInfo(unifiedPaymentInfoDTO);
|
||||||
|
|
||||||
return rentCarOrderResultDTO;
|
return rentCarOrderResultDTO;
|
||||||
@ -140,17 +143,58 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public OrderMainDTO getOrderInfoByOrderNo(String orderNo) {
|
public OrderDTO getOrderInfoByOrderNo(String orderNo) {
|
||||||
LambdaQueryWrapper<OrderMainPO> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<OrderMainPO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.eq(OrderMainPO::getOrderNo, orderNo);
|
queryWrapper.eq(OrderMainPO::getOrderNo, orderNo);
|
||||||
OrderMainPO orderMainPO = orderMainRepo.getOne(queryWrapper);
|
OrderMainPO orderMainPO = orderMainRepo.getOne(queryWrapper);
|
||||||
OrderMainDTO orderMainDTO = OrderConvert.INSTANCE.poToDto(orderMainPO);
|
OrderDTO orderDTO = OrderConvert.INSTANCE.poToDto(orderMainPO);
|
||||||
//获取门店信息
|
//获取门店信息
|
||||||
CompanyStoreDTO companyStoreDTO = storeInteg.getStoreById(Integer.valueOf(orderMainPO.getStoreId().toString()));
|
CompanyStoreDTO companyStoreDTO = storeInteg.getStoreById(Integer.valueOf(orderMainPO.getStoreId().toString()));
|
||||||
|
|
||||||
CarModelSimpleDTO carModelSimpleDTO = carInteg.getCarModelByModelId(orderMainPO.getCarModelId());
|
CarModelSimpleDTO carModelSimpleDTO = carInteg.getCarModelByModelId(orderMainPO.getCarModelId());
|
||||||
orderMainDTO.setCarModelSimpleDTO(carModelSimpleDTO);
|
orderDTO.setCarModelSimpleDTO(carModelSimpleDTO);
|
||||||
orderMainDTO.setCompanyStoreDTO(companyStoreDTO);
|
orderDTO.setCompanyStoreDTO(companyStoreDTO);
|
||||||
return orderMainDTO;
|
LambdaQueryWrapper<OrderSubPO> orderSubLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
orderSubLambdaQueryWrapper.eq(OrderSubPO::getOrderId,orderMainPO.getOrderId());
|
||||||
|
List<OrderSubPO> orderSubPOList = orderSubRepo.list(orderSubLambdaQueryWrapper);
|
||||||
|
List<OrderSubDTO> orderSubDTOList = OrderSubConvert.INSTANCE.posToDtos(orderSubPOList);
|
||||||
|
orderDTO.setOrderSubDTOList(orderSubDTOList);
|
||||||
|
return orderDTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OrderDTO bindCarToOrder(BindCarToOrderReq bindCarToOrderReq) {
|
||||||
|
//变更订单状态,记录租车时间
|
||||||
|
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_ING.getCode());
|
||||||
|
updateWrapper.set(OrderMainPO::getStartRentTime, LocalDateTime.now());
|
||||||
|
updateWrapper.set(OrderMainPO::getVehicleId, bindCarToOrderReq.getVehicleId());
|
||||||
|
updateWrapper.eq(OrderMainPO::getOrderNo, bindCarToOrderReq.getOrderNo());
|
||||||
|
orderMainRepo.update(updateWrapper);
|
||||||
|
//TODO 变更车辆状态
|
||||||
|
|
||||||
|
return getOrderInfoByOrderNo(bindCarToOrderReq.getOrderNo());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OrderDTO requestReturnCar(ReturnCarReq returnCarReq) {
|
||||||
|
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.WAIT_RETURN.getCode());
|
||||||
|
updateWrapper.set(OrderMainPO::getReqEndRentTime, LocalDateTime.now());
|
||||||
|
updateWrapper.eq(OrderMainPO::getOrderNo, returnCarReq.getOrderNo());
|
||||||
|
orderMainRepo.update(updateWrapper);
|
||||||
|
return getOrderInfoByOrderNo(returnCarReq.getOrderNo());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OrderDTO confirmReturnCar(ReturnCarReq returnCarReq) {
|
||||||
|
//变更订单状态,记录还车时间
|
||||||
|
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.RENT_END.getCode());
|
||||||
|
updateWrapper.set(OrderMainPO::getActEndRentTime, LocalDateTime.now());
|
||||||
|
updateWrapper.eq(OrderMainPO::getOrderNo, returnCarReq.getOrderNo());
|
||||||
|
orderMainRepo.update(updateWrapper);
|
||||||
|
//TODO 变更车辆状态
|
||||||
|
return getOrderInfoByOrderNo(returnCarReq.getOrderNo());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user