diff --git a/src/main/java/com/sczx/car/common/enums/StoreCarStatusEnum.java b/src/main/java/com/sczx/car/common/enums/StoreCarStatusEnum.java new file mode 100644 index 0000000..dad8d36 --- /dev/null +++ b/src/main/java/com/sczx/car/common/enums/StoreCarStatusEnum.java @@ -0,0 +1,22 @@ +package com.sczx.car.common.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 门店车辆枚举 + */ +@Getter +@AllArgsConstructor +public enum StoreCarStatusEnum { + + RENTING("RENTING", "正在租用"), + FREE("FREE", "空闲"), + OVERDUE("OVERDUE", "逾期"), + REMOVED("REMOVED", "下架"), + NON_PACKAGE("NON_PACKAGE", "未应用套餐"), + ; + + private final String code; + private final String name; +} diff --git a/src/main/java/com/sczx/car/controller/CarController.java b/src/main/java/com/sczx/car/controller/CarController.java index 1e37a63..b4d0560 100644 --- a/src/main/java/com/sczx/car/controller/CarController.java +++ b/src/main/java/com/sczx/car/controller/CarController.java @@ -1,10 +1,13 @@ package com.sczx.car.controller; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.sczx.car.common.Result; import com.sczx.car.dto.CarDTO; import com.sczx.car.dto.CarDamageReq; +import com.sczx.car.dto.StoreCarDTO; import com.sczx.car.dto.req.CarQueryConditionReq; +import com.sczx.car.dto.req.StoreCarReq; import com.sczx.car.service.CarService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -47,4 +50,12 @@ public class CarController { carService.carDamage(req); return Result.ok(true); } + + @ApiOperation(value = "分页查询门店车量列表") + @PostMapping("/pageStoreCarModel") + Result> pageStoreCar(@RequestParam(name = "pageNo", required = false, defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize, + @RequestBody StoreCarReq storeCarReq){ + return Result.ok(carService.pageStoreCar(pageNo, pageSize,storeCarReq)); + } } diff --git a/src/main/java/com/sczx/car/dto/StoreCarDTO.java b/src/main/java/com/sczx/car/dto/StoreCarDTO.java new file mode 100644 index 0000000..c7d5097 --- /dev/null +++ b/src/main/java/com/sczx/car/dto/StoreCarDTO.java @@ -0,0 +1,39 @@ +package com.sczx.car.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(value = "门店车辆信息") +@Data +public class StoreCarDTO { + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("车架号(VIN)") + private String vin; + + @ApiModelProperty("车牌号码") + private String licensePlate; + + @ApiModelProperty("车辆品牌ID") + private Long brandId; + + @ApiModelProperty("车辆品牌名称") + private String brandName; + + @ApiModelProperty("车辆型号ID") + private Long modelId; + + @ApiModelProperty("车辆型号名称") + private String modelName; + + @ApiModelProperty("支持电池类型(48V标准版/100km,48V超长版/200km等)") + private String batteryType; + + @ApiModelProperty("门店车辆状态") + private String storeCarStatus; + + @ApiModelProperty("逾期天数") + private Integer overdueDays; +} diff --git a/src/main/java/com/sczx/car/dto/req/StoreCarReq.java b/src/main/java/com/sczx/car/dto/req/StoreCarReq.java new file mode 100644 index 0000000..1c63970 --- /dev/null +++ b/src/main/java/com/sczx/car/dto/req/StoreCarReq.java @@ -0,0 +1,17 @@ +package com.sczx.car.dto.req; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "门店车辆查询请求") +public class StoreCarReq { + + @ApiModelProperty("门店id") + private Long storeId; + + @ApiModelProperty("车牌号码") + private String licensePlate; + +} diff --git a/src/main/java/com/sczx/car/mapper/CarMapper.java b/src/main/java/com/sczx/car/mapper/CarMapper.java index 219044c..7338a56 100644 --- a/src/main/java/com/sczx/car/mapper/CarMapper.java +++ b/src/main/java/com/sczx/car/mapper/CarMapper.java @@ -1,7 +1,12 @@ package com.sczx.car.mapper; -import com.sczx.car.po.CarPO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.sczx.car.dto.StoreCarDTO; +import com.sczx.car.dto.req.StoreCarReq; +import com.sczx.car.po.CarPO; +import org.apache.ibatis.annotations.Param; /** *

@@ -12,5 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; * @since 2025-07-30 17:05:03 */ public interface CarMapper extends BaseMapper { - + IPage pageStoreCar(Page page, @Param("storeCarReq") StoreCarReq storeCarReq); } diff --git a/src/main/java/com/sczx/car/repository/CarRepo.java b/src/main/java/com/sczx/car/repository/CarRepo.java index fc171b0..e7dfea3 100644 --- a/src/main/java/com/sczx/car/repository/CarRepo.java +++ b/src/main/java/com/sczx/car/repository/CarRepo.java @@ -1,5 +1,8 @@ package com.sczx.car.repository; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.sczx.car.dto.StoreCarDTO; +import com.sczx.car.dto.req.StoreCarReq; import com.sczx.car.po.CarPO; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface CarRepo extends IService { + IPage pageStoreCar(Integer pageNo, Integer pageSize, StoreCarReq storeCarReq); } diff --git a/src/main/java/com/sczx/car/repository/impl/CarRepoImpl.java b/src/main/java/com/sczx/car/repository/impl/CarRepoImpl.java index a4c69f4..588beab 100644 --- a/src/main/java/com/sczx/car/repository/impl/CarRepoImpl.java +++ b/src/main/java/com/sczx/car/repository/impl/CarRepoImpl.java @@ -1,9 +1,13 @@ package com.sczx.car.repository.impl; -import com.sczx.car.po.CarPO; -import com.sczx.car.mapper.CarMapper; -import com.sczx.car.repository.CarRepo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.sczx.car.dto.StoreCarDTO; +import com.sczx.car.dto.req.StoreCarReq; +import com.sczx.car.mapper.CarMapper; +import com.sczx.car.po.CarPO; +import com.sczx.car.repository.CarRepo; import org.springframework.stereotype.Service; /** @@ -17,4 +21,9 @@ import org.springframework.stereotype.Service; @Service public class CarRepoImpl extends ServiceImpl implements CarRepo { + @Override + public IPage pageStoreCar(Integer pageNo, Integer pageSize, StoreCarReq storeCarReq) { + Page page = new Page<>(pageNo, pageSize); + return this.getBaseMapper().pageStoreCar(page, storeCarReq); + } } diff --git a/src/main/java/com/sczx/car/service/CarService.java b/src/main/java/com/sczx/car/service/CarService.java index 3a797a5..7a77a85 100644 --- a/src/main/java/com/sczx/car/service/CarService.java +++ b/src/main/java/com/sczx/car/service/CarService.java @@ -1,8 +1,11 @@ package com.sczx.car.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.sczx.car.dto.CarDTO; import com.sczx.car.dto.CarDamageReq; +import com.sczx.car.dto.StoreCarDTO; import com.sczx.car.dto.req.CarQueryConditionReq; +import com.sczx.car.dto.req.StoreCarReq; /** * @Author: 张黎 @@ -29,4 +32,13 @@ public interface CarService { * @param req */ void carDamage(CarDamageReq req); + + /** + * 分页查询门店车辆信息 + * @param pageNo + * @param pageSize + * @param storeCarReq + * @return + */ + IPage pageStoreCar(Integer pageNo, Integer pageSize,StoreCarReq storeCarReq); } diff --git a/src/main/java/com/sczx/car/service/impl/CarServiceImpl.java b/src/main/java/com/sczx/car/service/impl/CarServiceImpl.java index d52ff07..b445aad 100644 --- a/src/main/java/com/sczx/car/service/impl/CarServiceImpl.java +++ b/src/main/java/com/sczx/car/service/impl/CarServiceImpl.java @@ -1,11 +1,14 @@ package com.sczx.car.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.sczx.car.convert.CarConvert; import com.sczx.car.dto.CarDTO; import com.sczx.car.dto.CarDamageReq; import com.sczx.car.dto.SimpleUserInfoDTO; +import com.sczx.car.dto.StoreCarDTO; import com.sczx.car.dto.req.CarQueryConditionReq; +import com.sczx.car.dto.req.StoreCarReq; import com.sczx.car.exception.BizException; import com.sczx.car.po.CarDamagePO; import com.sczx.car.po.CarPO; @@ -69,4 +72,9 @@ public class CarServiceImpl implements CarService { carDamagePO.setSubmitTime(LocalDateTime.now()); carDamageRepo.save(carDamagePO); } + + @Override + public IPage pageStoreCar(Integer pageNo, Integer pageSize, StoreCarReq storeCarReq) { + return carRepo.pageStoreCar(pageNo, pageSize, storeCarReq); + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7463842..31a06a7 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -29,7 +29,12 @@ spring: password: Sczx123@ driver-class-name: com.mysql.cj.jdbc.Driver hikari: - maximum-pool-size: 10 + maximum-pool-size: 20 # 最大连接数 + minimum-idle: 5 # 最小空闲连接数 + connection-timeout: 30000 # 连接超时时间(毫秒) + idle-timeout: 600000 # 空闲连接超时时间(毫秒) + max-lifetime: 1800000 # 连接最大存活时间(毫秒) + leak-detection-threshold: 60000 # 连接泄漏检测阈值(毫秒) auto-commit: true connection_init_sql: SELECT 1 redis: diff --git a/src/main/resources/mapper/CarMapper.xml b/src/main/resources/mapper/CarMapper.xml index 2451ffb..577df61 100644 --- a/src/main/resources/mapper/CarMapper.xml +++ b/src/main/resources/mapper/CarMapper.xml @@ -2,4 +2,52 @@ +