From 505074615d5f712949fa8650598613f76c3040d1 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Fri, 25 Jul 2025 17:27:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A7=9F=E7=94=B5=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ClientOrderController.java | 27 +++++ .../java/com/sczx/order/dto/OrderMainDTO.java | 95 +++++++++++++++ .../com/sczx/order/dto/RentCarOrderReq.java | 31 +++++ .../sczx/order/mapper/OrderMainMapper.java | 16 +++ .../com/sczx/order/mapper/OrderSubMapper.java | 16 +++ .../java/com/sczx/order/po/OrderMainPO.java | 110 ++++++++++++++++++ .../java/com/sczx/order/po/OrderSubPO.java | 74 ++++++++++++ .../sczx/order/repository/OrderMainRepo.java | 16 +++ .../sczx/order/repository/OrderSubRepo.java | 16 +++ .../repository/impl/OrderMainRepoImpl.java | 20 ++++ .../repository/impl/OrderSubRepoImpl.java | 20 ++++ src/main/resources/mapper/OrderMainMapper.xml | 5 + src/main/resources/mapper/OrderSubMapper.xml | 5 + 13 files changed, 451 insertions(+) create mode 100644 src/main/java/com/sczx/order/controller/ClientOrderController.java create mode 100644 src/main/java/com/sczx/order/dto/OrderMainDTO.java create mode 100644 src/main/java/com/sczx/order/dto/RentCarOrderReq.java create mode 100644 src/main/java/com/sczx/order/mapper/OrderMainMapper.java create mode 100644 src/main/java/com/sczx/order/mapper/OrderSubMapper.java create mode 100644 src/main/java/com/sczx/order/po/OrderMainPO.java create mode 100644 src/main/java/com/sczx/order/po/OrderSubPO.java create mode 100644 src/main/java/com/sczx/order/repository/OrderMainRepo.java create mode 100644 src/main/java/com/sczx/order/repository/OrderSubRepo.java create mode 100644 src/main/java/com/sczx/order/repository/impl/OrderMainRepoImpl.java create mode 100644 src/main/java/com/sczx/order/repository/impl/OrderSubRepoImpl.java create mode 100644 src/main/resources/mapper/OrderMainMapper.xml create mode 100644 src/main/resources/mapper/OrderSubMapper.xml diff --git a/src/main/java/com/sczx/order/controller/ClientOrderController.java b/src/main/java/com/sczx/order/controller/ClientOrderController.java new file mode 100644 index 0000000..eca1aae --- /dev/null +++ b/src/main/java/com/sczx/order/controller/ClientOrderController.java @@ -0,0 +1,27 @@ +package com.sczx.order.controller; + +import com.sczx.order.common.Result; +import com.sczx.order.dto.RentCarOrderReq; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Author: 张黎 + * @Date: 2025/07/25/16:42 + * @Description: + */ +@Api(value = "客户订单操作接口", tags = "客户订单操作接口") +@RestController +@RequestMapping("/clientOrder") +public class ClientOrderController { + +// @ApiOperation(value = "生成租车订单") +// @PostMapping("/confirmRentalCarOrder") +// public Result> confirmRentalCarOrder(@RequestBody RentCarOrderReq rentCarOrderReq){ +// return Result.ok(carRentalService.queryRentBatteyRuleByCarRuleId(carRuleId)); +// } + +} diff --git a/src/main/java/com/sczx/order/dto/OrderMainDTO.java b/src/main/java/com/sczx/order/dto/OrderMainDTO.java new file mode 100644 index 0000000..b5d3697 --- /dev/null +++ b/src/main/java/com/sczx/order/dto/OrderMainDTO.java @@ -0,0 +1,95 @@ +package com.sczx.order.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * @Author: 张黎 + * @Date: 2025/07/25/17:18 + * @Description: + */ +@Data +@ApiModel(value = "订单dto", description = "租车订单信息") +public class OrderMainDTO { + + @ApiModelProperty("订单ID(主键)") + private Long orderId; + + @ApiModelProperty("订单编号") + private String orderNo; + + @ApiModelProperty("订单状态:下单未提车、租赁中、已结束-自动、已结束-手动") + private String orderStatus; + + @ApiModelProperty("所属运营商ID") + private Long operatorId; + + @ApiModelProperty("所属门店ID") + private Long storeId; + + @ApiModelProperty("车辆ID") + private Long vehicleId; + + @ApiModelProperty("客户id") + private Long customerId; + + @ApiModelProperty("客户姓名") + private String customerName; + + @ApiModelProperty("客户联系电话") + private String customerPhone; + + @ApiModelProperty("租赁类型(时租/日租/按天数/以租代售)") + private String rentalType; + + @ApiModelProperty("租赁天数(当类型为\"按天数\"时使用)") + private Integer rentalDays; + + @ApiModelProperty("租车价格(元)") + private BigDecimal rentalPrice; + + @ApiModelProperty("押金价格(元)") + private BigDecimal depositPrice; + + @ApiModelProperty("逾期金额(元)") + private BigDecimal overdueFee; + + @ApiModelProperty("是否开通免押") + private Boolean isDepositFree; + + @ApiModelProperty("是否开通代扣") + private Boolean isAutoDeduct; + + @ApiModelProperty("首次下单时间") + private LocalDateTime firstOrderTime; + + @ApiModelProperty("开始计费时间") + private LocalDateTime startRentTime; + + @ApiModelProperty("逾期天数") + private Integer overdueDays; + + @ApiModelProperty("续租次数") + private Integer renewalTimes; + + @ApiModelProperty("充电次数") + private Integer chargeTimes; + + @ApiModelProperty("租车套餐id") + private Long rentCarRuleId; + + @ApiModelProperty("租电套餐id") + private Long rentBatteyRuleId; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; +} diff --git a/src/main/java/com/sczx/order/dto/RentCarOrderReq.java b/src/main/java/com/sczx/order/dto/RentCarOrderReq.java new file mode 100644 index 0000000..6479f2b --- /dev/null +++ b/src/main/java/com/sczx/order/dto/RentCarOrderReq.java @@ -0,0 +1,31 @@ +package com.sczx.order.dto; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: 张黎 + * @Date: 2025/07/25/16:58 + * @Description: + */ +@Data +@ApiModel(value = "租车订单请求参数") +public class RentCarOrderReq { + + @ApiModelProperty(value = "运营商id") + private Long operatorId; + + @ApiModelProperty(value = "门店id") + private Long storeId; + + @ApiModelProperty(value = "客户id") + private Long customerId; + + @ApiModelProperty(value = "租车套餐id") + private Long rentCarRuleId; + + @ApiModelProperty(value = "租电套餐id") + private Long rentBatteyRuleId; +} diff --git a/src/main/java/com/sczx/order/mapper/OrderMainMapper.java b/src/main/java/com/sczx/order/mapper/OrderMainMapper.java new file mode 100644 index 0000000..6bec478 --- /dev/null +++ b/src/main/java/com/sczx/order/mapper/OrderMainMapper.java @@ -0,0 +1,16 @@ +package com.sczx.order.mapper; + +import com.sczx.order.po.OrderMainPO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 租车订单信息 Mapper 接口 + *

+ * + * @author zhangli + * @since 2025-07-25 17:16:50 + */ +public interface OrderMainMapper extends BaseMapper { + +} diff --git a/src/main/java/com/sczx/order/mapper/OrderSubMapper.java b/src/main/java/com/sczx/order/mapper/OrderSubMapper.java new file mode 100644 index 0000000..fc9757c --- /dev/null +++ b/src/main/java/com/sczx/order/mapper/OrderSubMapper.java @@ -0,0 +1,16 @@ +package com.sczx.order.mapper; + +import com.sczx.order.po.OrderSubPO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 租车子订单信息 Mapper 接口 + *

+ * + * @author zhangli + * @since 2025-07-25 17:17:28 + */ +public interface OrderSubMapper extends BaseMapper { + +} diff --git a/src/main/java/com/sczx/order/po/OrderMainPO.java b/src/main/java/com/sczx/order/po/OrderMainPO.java new file mode 100644 index 0000000..fc58bbd --- /dev/null +++ b/src/main/java/com/sczx/order/po/OrderMainPO.java @@ -0,0 +1,110 @@ +package com.sczx.order.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +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.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 租车订单信息 + *

+ * + * @author zhangli + * @since 2025-07-25 17:16:50 + */ +@Getter +@Setter +@TableName("zc_order_main") +@ApiModel(value = "OrderMainPO对象", description = "租车订单信息") +public class OrderMainPO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("订单ID(主键)") + @TableId(value = "order_id", type = IdType.AUTO) + private Long orderId; + + @ApiModelProperty("订单编号") + private String orderNo; + + @ApiModelProperty("订单状态:下单未提车、租赁中、已结束-自动、已结束-手动") + private String orderStatus; + + @ApiModelProperty("所属运营商ID") + private Long operatorId; + + @ApiModelProperty("所属门店ID") + private Long storeId; + + @ApiModelProperty("车辆ID") + private Long vehicleId; + + @ApiModelProperty("客户id") + private Long customerId; + + @ApiModelProperty("客户姓名") + private String customerName; + + @ApiModelProperty("客户联系电话") + private String customerPhone; + + @ApiModelProperty("租赁类型(时租/日租/按天数/以租代售)") + private String rentalType; + + @ApiModelProperty("租赁天数(当类型为\"按天数\"时使用)") + private Integer rentalDays; + + @ApiModelProperty("租车价格(元)") + private BigDecimal rentalPrice; + + @ApiModelProperty("押金价格(元)") + private BigDecimal depositPrice; + + @ApiModelProperty("逾期金额(元)") + private BigDecimal overdueFee; + + @ApiModelProperty("是否开通免押") + private Boolean isDepositFree; + + @ApiModelProperty("是否开通代扣") + private Boolean isAutoDeduct; + + @ApiModelProperty("首次下单时间") + private LocalDateTime firstOrderTime; + + @ApiModelProperty("开始计费时间") + private LocalDateTime startRentTime; + + @ApiModelProperty("逾期天数") + private Integer overdueDays; + + @ApiModelProperty("续租次数") + private Integer renewalTimes; + + @ApiModelProperty("充电次数") + private Integer chargeTimes; + + @ApiModelProperty("租车套餐id") + private Long rentCarRuleId; + + @ApiModelProperty("租电套餐id") + private Long rentBatteyRuleId; + + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + private String delFlag; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + + +} diff --git a/src/main/java/com/sczx/order/po/OrderSubPO.java b/src/main/java/com/sczx/order/po/OrderSubPO.java new file mode 100644 index 0000000..58e448f --- /dev/null +++ b/src/main/java/com/sczx/order/po/OrderSubPO.java @@ -0,0 +1,74 @@ +package com.sczx.order.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +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.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +/** + *

+ * 租车子订单信息 + *

+ * + * @author zhangli + * @since 2025-07-25 17:17:28 + */ +@Getter +@Setter +@TableName("zc_order_sub") +@ApiModel(value = "OrderSubPO对象", description = "租车子订单信息") +public class OrderSubPO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("子订单ID(主键)") + @TableId(value = "suborder_id", type = IdType.AUTO) + 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; + + @ApiModelProperty("删除标志(0代表存在 2代表删除)") + private String delFlag; + + @ApiModelProperty("创建时间") + private LocalDateTime createTime; + + @ApiModelProperty("更新时间") + private LocalDateTime updateTime; + + +} diff --git a/src/main/java/com/sczx/order/repository/OrderMainRepo.java b/src/main/java/com/sczx/order/repository/OrderMainRepo.java new file mode 100644 index 0000000..8fab9f6 --- /dev/null +++ b/src/main/java/com/sczx/order/repository/OrderMainRepo.java @@ -0,0 +1,16 @@ +package com.sczx.order.repository; + +import com.sczx.order.po.OrderMainPO; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 租车订单信息 服务类 + *

+ * + * @author zhangli + * @since 2025-07-25 17:16:50 + */ +public interface OrderMainRepo extends IService { + +} diff --git a/src/main/java/com/sczx/order/repository/OrderSubRepo.java b/src/main/java/com/sczx/order/repository/OrderSubRepo.java new file mode 100644 index 0000000..865119c --- /dev/null +++ b/src/main/java/com/sczx/order/repository/OrderSubRepo.java @@ -0,0 +1,16 @@ +package com.sczx.order.repository; + +import com.sczx.order.po.OrderSubPO; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 租车子订单信息 服务类 + *

+ * + * @author zhangli + * @since 2025-07-25 17:17:28 + */ +public interface OrderSubRepo extends IService { + +} diff --git a/src/main/java/com/sczx/order/repository/impl/OrderMainRepoImpl.java b/src/main/java/com/sczx/order/repository/impl/OrderMainRepoImpl.java new file mode 100644 index 0000000..7e508a6 --- /dev/null +++ b/src/main/java/com/sczx/order/repository/impl/OrderMainRepoImpl.java @@ -0,0 +1,20 @@ +package com.sczx.order.repository.impl; + +import com.sczx.order.po.OrderMainPO; +import com.sczx.order.mapper.OrderMainMapper; +import com.sczx.order.repository.OrderMainRepo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 租车订单信息 服务实现类 + *

+ * + * @author zhangli + * @since 2025-07-25 17:16:50 + */ +@Service +public class OrderMainRepoImpl extends ServiceImpl implements OrderMainRepo { + +} diff --git a/src/main/java/com/sczx/order/repository/impl/OrderSubRepoImpl.java b/src/main/java/com/sczx/order/repository/impl/OrderSubRepoImpl.java new file mode 100644 index 0000000..3f15106 --- /dev/null +++ b/src/main/java/com/sczx/order/repository/impl/OrderSubRepoImpl.java @@ -0,0 +1,20 @@ +package com.sczx.order.repository.impl; + +import com.sczx.order.po.OrderSubPO; +import com.sczx.order.mapper.OrderSubMapper; +import com.sczx.order.repository.OrderSubRepo; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 租车子订单信息 服务实现类 + *

+ * + * @author zhangli + * @since 2025-07-25 17:17:28 + */ +@Service +public class OrderSubRepoImpl extends ServiceImpl implements OrderSubRepo { + +} diff --git a/src/main/resources/mapper/OrderMainMapper.xml b/src/main/resources/mapper/OrderMainMapper.xml new file mode 100644 index 0000000..79d6fa6 --- /dev/null +++ b/src/main/resources/mapper/OrderMainMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/resources/mapper/OrderSubMapper.xml b/src/main/resources/mapper/OrderSubMapper.xml new file mode 100644 index 0000000..d1284e1 --- /dev/null +++ b/src/main/resources/mapper/OrderSubMapper.xml @@ -0,0 +1,5 @@ + + + + +