新增根据门店分页查询车型列表
This commit is contained in:
@ -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 {
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
@ -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.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 车型表 前端控制器
|
||||
* </p>
|
||||
*
|
||||
* @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<IPage<CarModelSimpleDTO>> 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));
|
||||
}
|
||||
}
|
||||
34
src/main/java/com/sczx/car/dto/CarModelSimpleDTO.java
Normal file
34
src/main/java/com/sczx/car/dto/CarModelSimpleDTO.java
Normal file
@ -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;
|
||||
}
|
||||
22
src/main/java/com/sczx/car/dto/req/StoreCarModelReq.java
Normal file
22
src/main/java/com/sczx/car/dto/req/StoreCarModelReq.java
Normal file
@ -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";
|
||||
}
|
||||
23
src/main/java/com/sczx/car/mapper/CarModelMapper.java
Normal file
23
src/main/java/com/sczx/car/mapper/CarModelMapper.java
Normal file
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 车型表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zhangli
|
||||
* @since 2025-07-12 19:55:31
|
||||
*/
|
||||
public interface CarModelMapper extends BaseMapper<CarModelPO> {
|
||||
|
||||
IPage<CarModelSimpleDTO> pageCarModelSimpleDTO(Page<CarModelSimpleDTO> page, @Param("storeCarModelReq") StoreCarModelReq storeCarModelReq);
|
||||
|
||||
}
|
||||
84
src/main/java/com/sczx/car/po/CarModelPO.java
Normal file
84
src/main/java/com/sczx/car/po/CarModelPO.java
Normal file
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 车型表
|
||||
* </p>
|
||||
*
|
||||
* @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;
|
||||
|
||||
|
||||
}
|
||||
29
src/main/java/com/sczx/car/repository/CarModelRepo.java
Normal file
29
src/main/java/com/sczx/car/repository/CarModelRepo.java
Normal file
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 车型表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author zhangli
|
||||
* @since 2025-07-12 19:55:31
|
||||
*/
|
||||
public interface CarModelRepo extends IService<CarModelPO> {
|
||||
|
||||
/**
|
||||
* 分页查询门店车型
|
||||
*
|
||||
* @param storeCarModelReq
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
IPage<CarModelSimpleDTO> pageCarModelSimpleDTO(StoreCarModelReq storeCarModelReq, Integer pageNo, Integer pageSize);
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 车型表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zhangli
|
||||
* @since 2025-07-12 19:55:31
|
||||
*/
|
||||
@Service
|
||||
public class CarModelRepoImpl extends ServiceImpl<CarModelMapper, CarModelPO> implements CarModelRepo {
|
||||
|
||||
@Override
|
||||
public IPage<CarModelSimpleDTO> pageCarModelSimpleDTO(StoreCarModelReq storeCarModelReq, Integer pageNo, Integer pageSize) {
|
||||
Page<CarModelSimpleDTO> page = new Page<>(pageNo, pageSize);
|
||||
return this.getBaseMapper().pageCarModelSimpleDTO(page, storeCarModelReq);
|
||||
}
|
||||
}
|
||||
15
src/main/java/com/sczx/car/service/CarModelService.java
Normal file
15
src/main/java/com/sczx/car/service/CarModelService.java
Normal file
@ -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<CarModelSimpleDTO> pageCarModelSimpleDTO(StoreCarModelReq storeCarModelReq, Integer pageNo, Integer pageSize);
|
||||
}
|
||||
@ -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<CarModelSimpleDTO> pageCarModelSimpleDTO(StoreCarModelReq storeCarModelReq, Integer pageNo, Integer pageSize) {
|
||||
return carModelRepo.pageCarModelSimpleDTO(storeCarModelReq, pageNo, pageSize);
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
|
||||
55
src/main/resources/doc/biz_table.sql
Normal file
55
src/main/resources/doc/biz_table.sql
Normal file
@ -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='租车计费规则表';
|
||||
11
src/main/resources/mapper/CarModelMapper.xml
Normal file
11
src/main/resources/mapper/CarModelMapper.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.sczx.car.mapper.CarModelMapper">
|
||||
|
||||
<select id="pageCarModelSimpleDTO" resultType="com.sczx.car.dto.CarModelSimpleDTO">
|
||||
<!--
|
||||
TODO - 根据门店信息查询车型信息,包含车型对应的套餐部分信息如:租赁类型、是否支持免押、是否支持代扣等
|
||||
-->
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -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@";
|
||||
|
||||
Reference in New Issue
Block a user