diff --git a/README.md b/README.md
index 657408f..38e273d 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,3 @@
-# sczx_store
+# sczx_car
闪充智行-车辆、车型、套餐管理服务
\ No newline at end of file
diff --git a/src/main/java/com/sczx/car/Application.java b/src/main/java/com/sczx/car/Application.java
index d03e8e0..427ae98 100644
--- a/src/main/java/com/sczx/car/Application.java
+++ b/src/main/java/com/sczx/car/Application.java
@@ -22,7 +22,7 @@ import java.io.IOException;
@EnableFeignClients(basePackages = SystemConstants.FEIGN_CLIENT_BASE_PACKAGE )
@EnableTransactionManagement
@EnableHystrix
-@MapperScan("com.sczx.store.mapper") // 扫描 Mapper 接口
+@MapperScan("com.sczx.car.mapper") // 扫描 Mapper 接口
public class Application {
public static void main(String[] args) throws IOException {
diff --git a/src/main/java/com/sczx/car/config/SwaggerConfig.java b/src/main/java/com/sczx/car/config/SwaggerConfig.java
index 2db7b5c..bbb1b40 100644
--- a/src/main/java/com/sczx/car/config/SwaggerConfig.java
+++ b/src/main/java/com/sczx/car/config/SwaggerConfig.java
@@ -23,7 +23,7 @@ public class SwaggerConfig {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
- .apis(RequestHandlerSelectors.basePackage("com.sczx.store.controller")) // 修改为你的 controller 包路径
+ .apis(RequestHandlerSelectors.basePackage("com.sczx.car.controller")) // 修改为你的 controller 包路径
.paths(PathSelectors.any())
.build()
.globalOperationParameters(Arrays.asList(
@@ -39,8 +39,8 @@ public class SwaggerConfig {
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
- .title("门店服务接口文档")
- .description("sczx_store门店服务接口文档文档")
+ .title("车辆车型套餐服务接口文档")
+ .description("sczx_car车辆车型套餐服务接口文档")
.version("1.0")
.build();
}
diff --git a/src/main/java/com/sczx/car/controller/CarModelController.java b/src/main/java/com/sczx/car/controller/CarModelController.java
new file mode 100644
index 0000000..39e9a50
--- /dev/null
+++ b/src/main/java/com/sczx/car/controller/CarModelController.java
@@ -0,0 +1,37 @@
+package com.sczx.car.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.sczx.car.common.Result;
+import com.sczx.car.dto.CarModelSimpleDTO;
+import com.sczx.car.dto.req.StoreCarModelReq;
+import com.sczx.car.service.CarModelService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ *
+ * 车型表 前端控制器
+ *
+ *
+ * @author zhangli
+ * @since 2025-07-12 19:55:31
+ */
+@Api(value = "车型接口", tags = "车型相关查询")
+@RestController
+@RequestMapping("/carModel")
+public class CarModelController {
+
+ @Autowired
+ private CarModelService carModelService;
+
+ @ApiOperation(value = "分页查询门店车型列表")
+ @PostMapping("/pageStoreCarModel")
+ Result> pageStoreCarModel(@RequestParam(name = "pageNo", required = false, defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize,
+ @RequestBody StoreCarModelReq storeCarModelReq){
+ return Result.ok(carModelService.pageCarModelSimpleDTO(storeCarModelReq, pageNo, pageSize));
+ }
+}
diff --git a/src/main/java/com/sczx/car/dto/CarModelSimpleDTO.java b/src/main/java/com/sczx/car/dto/CarModelSimpleDTO.java
new file mode 100644
index 0000000..0b7a499
--- /dev/null
+++ b/src/main/java/com/sczx/car/dto/CarModelSimpleDTO.java
@@ -0,0 +1,34 @@
+package com.sczx.car.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "车型简单对象")
+public class CarModelSimpleDTO {
+
+ @ApiModelProperty("车型ID")
+ private Long carModelId;
+
+ @ApiModelProperty("门店id")
+ private Integer storeId;
+
+ @ApiModelProperty("门店编号")
+ private String storeNumber;
+
+ @ApiModelProperty("车型名称")
+ private String modelName;
+
+ @ApiModelProperty("品牌名称")
+ private String brandName;
+
+ @ApiModelProperty("租赁类型(时租/日租/按天数/以租代售),用逗号分隔")
+ private String batteryTypes;
+
+ @ApiModelProperty("是否支持免押(0不支持 1支持)")
+ private String depositFree;
+
+ @ApiModelProperty("是否支持代扣(0不支持 1支持)")
+ private String autoDeduct;
+}
diff --git a/src/main/java/com/sczx/car/dto/req/StoreCarModelReq.java b/src/main/java/com/sczx/car/dto/req/StoreCarModelReq.java
new file mode 100644
index 0000000..996ab67
--- /dev/null
+++ b/src/main/java/com/sczx/car/dto/req/StoreCarModelReq.java
@@ -0,0 +1,22 @@
+package com.sczx.car.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "门店车型请求")
+public class StoreCarModelReq {
+
+ @ApiModelProperty("门店id")
+ private Long storeId;
+
+ @ApiModelProperty("门店编号")
+ private String storeNumber;
+
+ @ApiModelProperty("是否支持免押(0不支持 1支持)")
+ private String depositFree = "1";
+
+ @ApiModelProperty("是否支持代扣(0不支持 1支持)")
+ private String autoDeduct = "1";
+}
diff --git a/src/main/java/com/sczx/car/mapper/CarModelMapper.java b/src/main/java/com/sczx/car/mapper/CarModelMapper.java
new file mode 100644
index 0000000..efe628b
--- /dev/null
+++ b/src/main/java/com/sczx/car/mapper/CarModelMapper.java
@@ -0,0 +1,23 @@
+package com.sczx.car.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sczx.car.dto.CarModelSimpleDTO;
+import com.sczx.car.dto.req.StoreCarModelReq;
+import com.sczx.car.po.CarModelPO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ *
+ * 车型表 Mapper 接口
+ *
+ *
+ * @author zhangli
+ * @since 2025-07-12 19:55:31
+ */
+public interface CarModelMapper extends BaseMapper {
+
+ IPage pageCarModelSimpleDTO(Page page, @Param("storeCarModelReq") StoreCarModelReq storeCarModelReq);
+
+}
diff --git a/src/main/java/com/sczx/car/po/CarModelPO.java b/src/main/java/com/sczx/car/po/CarModelPO.java
new file mode 100644
index 0000000..b7cf737
--- /dev/null
+++ b/src/main/java/com/sczx/car/po/CarModelPO.java
@@ -0,0 +1,84 @@
+package com.sczx.car.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ *
+ * 车型表
+ *
+ *
+ * @author zhangli
+ * @since 2025-07-12 19:55:31
+ */
+@Getter
+@Setter
+@TableName("zc_car_model")
+@ApiModel(value = "CarModelPO对象", description = "车型表")
+public class CarModelPO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("车型ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("车型名称")
+ private String modelName;
+
+ @ApiModelProperty("品牌ID")
+ private Long brandId;
+
+ @ApiModelProperty("品牌名称")
+ private String brandName;
+
+ @ApiModelProperty("电池类型")
+ private String batteryType;
+
+ @ApiModelProperty("最高时速(km/h)")
+ private Integer maxSpeed;
+
+ @ApiModelProperty("整车重量(kg)")
+ private BigDecimal weight;
+
+ @ApiModelProperty("状态(0正常 1停用)")
+ private String status;
+
+ @ApiModelProperty("删除标志(0存在 2删除)")
+ private String delFlag;
+
+ @ApiModelProperty("创建者")
+ private String createBy;
+
+ @ApiModelProperty("创建时间")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("更新者")
+ private String updateBy;
+
+ @ApiModelProperty("更新时间")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("备注")
+ private String remark;
+
+ @ApiModelProperty("扩展字段1")
+ private String extend1;
+
+ @ApiModelProperty("扩展字段2")
+ private String extend2;
+
+ @ApiModelProperty("扩展字段3")
+ private String extend3;
+
+
+}
diff --git a/src/main/java/com/sczx/car/repository/CarModelRepo.java b/src/main/java/com/sczx/car/repository/CarModelRepo.java
new file mode 100644
index 0000000..00b2957
--- /dev/null
+++ b/src/main/java/com/sczx/car/repository/CarModelRepo.java
@@ -0,0 +1,29 @@
+package com.sczx.car.repository;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.sczx.car.dto.CarModelSimpleDTO;
+import com.sczx.car.dto.req.StoreCarModelReq;
+import com.sczx.car.po.CarModelPO;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 车型表 服务类
+ *
+ *
+ * @author zhangli
+ * @since 2025-07-12 19:55:31
+ */
+public interface CarModelRepo extends IService {
+
+ /**
+ * 分页查询门店车型
+ *
+ * @param storeCarModelReq
+ * @param pageNo
+ * @param pageSize
+ * @return
+ */
+ IPage pageCarModelSimpleDTO(StoreCarModelReq storeCarModelReq, Integer pageNo, Integer pageSize);
+
+}
diff --git a/src/main/java/com/sczx/car/repository/impl/CarModelRepoImpl.java b/src/main/java/com/sczx/car/repository/impl/CarModelRepoImpl.java
new file mode 100644
index 0000000..3607a9b
--- /dev/null
+++ b/src/main/java/com/sczx/car/repository/impl/CarModelRepoImpl.java
@@ -0,0 +1,29 @@
+package com.sczx.car.repository.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sczx.car.dto.CarModelSimpleDTO;
+import com.sczx.car.dto.req.StoreCarModelReq;
+import com.sczx.car.po.CarModelPO;
+import com.sczx.car.mapper.CarModelMapper;
+import com.sczx.car.repository.CarModelRepo;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 车型表 服务实现类
+ *
+ *
+ * @author zhangli
+ * @since 2025-07-12 19:55:31
+ */
+@Service
+public class CarModelRepoImpl extends ServiceImpl implements CarModelRepo {
+
+ @Override
+ public IPage pageCarModelSimpleDTO(StoreCarModelReq storeCarModelReq, Integer pageNo, Integer pageSize) {
+ Page page = new Page<>(pageNo, pageSize);
+ return this.getBaseMapper().pageCarModelSimpleDTO(page, storeCarModelReq);
+ }
+}
diff --git a/src/main/java/com/sczx/car/service/CarModelService.java b/src/main/java/com/sczx/car/service/CarModelService.java
new file mode 100644
index 0000000..18bda8a
--- /dev/null
+++ b/src/main/java/com/sczx/car/service/CarModelService.java
@@ -0,0 +1,15 @@
+package com.sczx.car.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.sczx.car.dto.CarModelSimpleDTO;
+import com.sczx.car.dto.req.StoreCarModelReq;
+
+public interface CarModelService {
+
+ /**
+ * 分页查询门店车型
+ * @param storeCarModelReq
+ * @return
+ */
+ IPage pageCarModelSimpleDTO(StoreCarModelReq storeCarModelReq, Integer pageNo, Integer pageSize);
+}
diff --git a/src/main/java/com/sczx/car/service/impl/CarModelServiceImpl.java b/src/main/java/com/sczx/car/service/impl/CarModelServiceImpl.java
new file mode 100644
index 0000000..30399c5
--- /dev/null
+++ b/src/main/java/com/sczx/car/service/impl/CarModelServiceImpl.java
@@ -0,0 +1,22 @@
+package com.sczx.car.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.sczx.car.dto.CarModelSimpleDTO;
+import com.sczx.car.dto.req.StoreCarModelReq;
+import com.sczx.car.repository.CarModelRepo;
+import com.sczx.car.service.CarModelService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Slf4j
+@Service
+public class CarModelServiceImpl implements CarModelService {
+
+ @Autowired
+ private CarModelRepo carModelRepo;
+ @Override
+ public IPage pageCarModelSimpleDTO(StoreCarModelReq storeCarModelReq, Integer pageNo, Integer pageSize) {
+ return carModelRepo.pageCarModelSimpleDTO(storeCarModelReq, pageNo, pageSize);
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index d5c57f1..0fe082f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -68,11 +68,6 @@ hystrix:
thread:
timeoutInMilliseconds: 10000 # 默认熔断超时时间
-#springdoc:
-# swagger-ui:
-# url: /v3/api-docs
-# path: /doc.html
-# packages-to-scan: com.sczx.store.controller # 替换为你的 controller 包路径
mybatis-plus:
mapper-locations: classpath*:mapper/**/*.xml
diff --git a/src/main/resources/doc/biz_table.sql b/src/main/resources/doc/biz_table.sql
new file mode 100644
index 0000000..6644b77
--- /dev/null
+++ b/src/main/resources/doc/biz_table.sql
@@ -0,0 +1,55 @@
+
+/** 车型表 */
+CREATE TABLE `zc_car_model` (
+ `id` bigint NOT NULL AUTO_INCREMENT COMMENT '车型ID',
+ `model_name` varchar(100) NOT NULL COMMENT '车型名称',
+ `brand_id` bigint DEFAULT NULL COMMENT '品牌ID',
+ `brand_name` varchar(100) NOT NULL COMMENT '品牌名称',
+ `battery_type` varchar(50) DEFAULT NULL COMMENT '电池类型',
+ `max_speed` int DEFAULT NULL COMMENT '最高时速(km/h)',
+ `weight` decimal(10,2) DEFAULT NULL COMMENT '整车重量(kg)',
+ `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
+ `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0存在 2删除)',
+ `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+ `extend1` varchar(200) DEFAULT NULL COMMENT '扩展字段1',
+ `extend2` varchar(200) DEFAULT NULL COMMENT '扩展字段2',
+ `extend3` varchar(200) DEFAULT NULL COMMENT '扩展字段3',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='车型表';
+
+/** 租车计费规则表 */
+CREATE TABLE `zc_rent_car_rule` (
+ `id` bigint NOT NULL AUTO_INCREMENT COMMENT '规则ID',
+ `rule_name` varchar(20) NOT NULL COMMENT '套餐名称',
+ `rule_code` varchar(50) DEFAULT NULL COMMENT '套餐编码',
+ `rental_type` varchar(20) NOT NULL COMMENT '租赁类型(时租/日租/按天数/以租代售)',
+ `rental_days` int DEFAULT NULL COMMENT '租赁天数(当类型为"按天数"时使用)',
+ `rental_price` decimal(10,2) NOT NULL COMMENT '租车价格(元)',
+ `deposit_price` decimal(10,2) NOT NULL COMMENT '押金价格(元)',
+ `overdue_fee` decimal(10,2) NOT NULL COMMENT '逾期金额(元)',
+ `overdue_type` varchar(10) DEFAULT '按日计费' COMMENT '逾期计费类型(按日计费/按月计费)',
+ `deposit_free` char(1) DEFAULT '0' COMMENT '是否支持免押(0不支持 1支持)',
+ `auto_deduct` char(1) DEFAULT '0' COMMENT '是否支持代扣(0不支持 1支持)',
+ `operating_company_id` int DEFAULT NULL COMMENT '所属运营商',
+ `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
+ `is_default` char(1) DEFAULT '0' COMMENT '是否默认套餐(0否 1是)',
+ `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
+ `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+ `extend1` varchar(200) DEFAULT NULL COMMENT '扩展字段1',
+ `extend2` varchar(200) DEFAULT NULL COMMENT '扩展字段2',
+ `extend3` varchar(200) DEFAULT NULL COMMENT '扩展字段3',
+ `extend4` varchar(200) DEFAULT NULL COMMENT '扩展字段4',
+ `extend5` varchar(200) DEFAULT NULL COMMENT '扩展字段5',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `idx_rule_code` (`rule_code`),
+ KEY `idx_rental_type` (`rental_type`),
+ KEY `idx_status` (`status`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='租车计费规则表';
\ No newline at end of file
diff --git a/src/main/resources/mapper/CarModelMapper.xml b/src/main/resources/mapper/CarModelMapper.xml
new file mode 100644
index 0000000..9d4bb08
--- /dev/null
+++ b/src/main/resources/mapper/CarModelMapper.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
diff --git a/src/test/java/com/sczx/car/CodeGenerator.java b/src/test/java/com/sczx/car/CodeGenerator.java
index cab6804..08eedd6 100644
--- a/src/test/java/com/sczx/car/CodeGenerator.java
+++ b/src/test/java/com/sczx/car/CodeGenerator.java
@@ -10,7 +10,7 @@ import java.util.Collections;
public class CodeGenerator {
- private static final String parentPackage = "com.sczx.store";
+ private static final String parentPackage = "com.sczx.car";
private static final String jdbcUrl = "jdbc:mysql://115.190.8.52:3306/sczx?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&useSSL=false&serverTimezone=Asia/Shanghai";
private static final String username = "sczx_user";
private static final String password = "Sczx123@";