新增根据门店分页查询车型列表

This commit is contained in:
2025-07-12 21:23:57 +08:00
parent d8b738ff93
commit 9f9745f788
16 changed files with 367 additions and 11 deletions

View File

@ -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 {

View File

@ -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();
}

View File

@ -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));
}
}

View 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;
}

View 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";
}

View 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);
}

View 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;
}

View 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);
}

View File

@ -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);
}
}

View 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);
}

View File

@ -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);
}
}