From cb687ee417a7af268858ea37f07d91537f391f37 Mon Sep 17 00:00:00 2001 From: PQZ Date: Fri, 9 Aug 2024 08:16:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iocoder/yudao/common/BaseConstants.java | 6 ++ .../yudao/module/custom/entity/CarMain.java | 19 ++++- .../module/custom/service/CarMainService.java | 13 +++ .../service/impl/CarMainServiceImpl.java | 24 +++++- .../yudao/module/custom/vo/CarMainReqVO.java | 82 ++++--------------- .../yudao/module/custom/vo/CarMainRespVO.java | 4 +- 6 files changed, 78 insertions(+), 70 deletions(-) diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java b/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java index 377d21f7..c2b7555a 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java @@ -25,4 +25,10 @@ public class BaseConstants { public static final String PASSWORD_DEFAULT = "123456"; /**租户下部门名称*/ public static final String DEPT_NAME_CORP_NAME = "政企客户"; + /**计算下次保险时间*/ + public static final String COMPUTE_TYPE_BX = "bx"; + /**计算下次保养时间*/ + public static final String COMPUTE_TYPE_BY = "by"; + /**计算下次检测时间*/ + public static final String COMPUTE_TYPE_JC = "jc"; } diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/CarMain.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/CarMain.java index 384a95e9..aed4e4c7 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/CarMain.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/entity/CarMain.java @@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.custom.entity; import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; import lombok.*; + +import java.math.BigDecimal; import java.util.*; import java.time.LocalDateTime; import java.time.LocalDateTime; @@ -16,6 +18,9 @@ import java.time.LocalDateTime; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import org.springframework.format.annotation.DateTimeFormat; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; /** * 车辆信息 DO @@ -51,42 +56,50 @@ public class CarMain extends TenantBaseDO { /** * 保养日期 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime maintenanceDate; /** * 保养里程 */ - private String maintenanceMileage; + private BigDecimal maintenanceMileage; /** * 年检日期 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime inspectionDate; /** * 保险日期 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime insuranceDate; /** * 二级维护时间 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime checkDate; /** * 下次保养日期 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime nextMaintenanceDate; /** * 下次保养里程 */ - private Integer nextMaintenanceMileage; + private BigDecimal nextMaintenanceMileage; /** * 下次年检日期 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime nextInspectionDate; /** * 保险到期日期 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime insuranceExpiryDate; /** * 下次二级维护时间 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime nextCheckDate; /** * 车辆品牌 @@ -103,6 +116,7 @@ public class CarMain extends TenantBaseDO { /** * 车辆注册日期 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime carRegisterDate; /** * 行驶证图片 @@ -115,6 +129,7 @@ public class CarMain extends TenantBaseDO { /** * 最近办理业务的时间 */ + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime recentlyHandleBusinessTime; diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/CarMainService.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/CarMainService.java index 94c236db..5daf0a75 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/CarMainService.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/CarMainService.java @@ -5,12 +5,14 @@ import javax.validation.*; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.custom.entity.CarMain; +import cn.iocoder.yudao.module.custom.vo.CarBrandRespVO; import cn.iocoder.yudao.module.custom.vo.CarMainReqVO; import cn.iocoder.yudao.module.custom.vo.CarMainRespVO; import cn.iocoder.yudao.module.custom.vo.CustomerMainSaveReqVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import java.time.LocalDateTime; import java.util.List; /** @@ -66,4 +68,15 @@ public interface CarMainService extends IService { * @return void **/ void bindCustomAndCar(CarMainReqVO saveReqVO); + + /** + * 测算车辆下一次保养/检测/保险时间 + * @author PQZ + * @date 7:45 2024/8/9 + * @param reqVO TODO + * @return java.time.LocalDateTime + **/ + LocalDateTime compute(CarMainReqVO reqVO); + + } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CarMainServiceImpl.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CarMainServiceImpl.java index 7e2a5036..95a9b6e5 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CarMainServiceImpl.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/service/impl/CarMainServiceImpl.java @@ -21,9 +21,11 @@ import org.springframework.stereotype.Service; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import static cn.iocoder.yudao.common.BaseConstants.COMPUTE_TYPE_BX; import static cn.iocoder.yudao.common.BaseConstants.CUS_SIGN_CAR; /** @@ -103,7 +105,11 @@ public class CarMainServiceImpl extends ServiceImpl impl // 插入 CarMain carMain = BeanUtils.toBean(updateReqVO, CarMain.class); carMain.setCarBrand(brandAndModel.get(0)); - carMain.setCarModel(brandAndModel.get(1)); + //判断是否仅填入了品牌 + if(brandAndModel.size()>1){ + //填入了型号 + carMain.setCarModel(brandAndModel.get(1)); + } baseMapper.updateById(carMain); return CommonResult.success("修改成功"); } @@ -188,6 +194,20 @@ public class CarMainServiceImpl extends ServiceImpl impl customerCarService.bindCustomerCar(saveReqVO.getId(),CUS_SIGN_CAR,customerCars); } + /** + * 测算车辆下一次保养/检测/保险时间 + * @author PQZ + * @date 7:45 2024/8/9 + * @param reqVO CarMainReqVO + * @return java.time.LocalDateTime + **/ + @Override + public LocalDateTime compute(CarMainReqVO reqVO) { + LocalDateTime resultTime; + + return null; + } + /** * 车牌号,车架号,发动机号码 查重 * @param reqVO @@ -265,4 +285,6 @@ public class CarMainServiceImpl extends ServiceImpl impl } + + } \ No newline at end of file diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CarMainReqVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CarMainReqVO.java index dba7d736..cc30d480 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CarMainReqVO.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CarMainReqVO.java @@ -1,10 +1,16 @@ package cn.iocoder.yudao.module.custom.vo; +import cn.iocoder.yudao.module.custom.entity.CarMain; import cn.iocoder.yudao.module.label.entity.BusiLabel; import lombok.*; import io.swagger.v3.oas.annotations.media.Schema; import cn.iocoder.yudao.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @@ -15,75 +21,23 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) -public class CarMainReqVO extends PageParam { - @Schema(description = "主键ID") - private String id; +public class CarMainReqVO extends CarMain { - @Schema(description = "发动机号码") - private String engineNumber; + @Schema(description = "页码,从 1 开始", requiredMode = Schema.RequiredMode.REQUIRED,example = "1") + @NotNull(message = "页码不能为空") + @Min(value = 1, message = "页码最小值为 1") + private Integer pageNo = 1; - @Schema(description = "车架号") - private String vin; + @Schema(description = "每页条数,最大值为 100", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") + @NotNull(message = "每页条数不能为空") + @Min(value = 1, message = "每页条数最小值为 1") + @Max(value = 100, message = "每页条数最大值为 100") + private Integer pageSize = 10; - @Schema(description = "车牌号") - private String licenseNumber; - @Schema(description = "车辆型号") - private String carModel; - - @Schema(description = "保养日期") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) - private LocalDateTime maintenanceDate; - - @Schema(description = "保养里程") - private String maintenanceMileage; - - @Schema(description = "年检日期") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) - private LocalDateTime inspectionDate; - - @Schema(description = "保险日期") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) - private LocalDateTime insuranceDate; - - @Schema(description = "二级维护时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) - private LocalDateTime checkDate; - - @Schema(description = "车辆品牌") - private String carBrand; - - @Schema(description = "车辆性质:营运 非营运等") - private String carNature; - - @Schema(description = "车辆类别:私家车 货车 教练车 公务车 出租车") - private String carCategory; - - @Schema(description = "车辆注册日期") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) - private LocalDateTime carRegisterDate; - - @Schema(description = "行驶证图片") - private String carLicenseImg; - - @Schema(description = "最近办理业务") - private String recentlyHandledBusiness; - - @Schema(description = "最近办理业务的时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) - private LocalDateTime recentlyHandleBusinessTime; - - @Schema(description = "创建时间") - @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) - private LocalDateTime createTime; - - @Schema(description = "租户ID") - private String tenantId; - - @Schema(description = "车辆绑定客户信息") + /**车辆绑定客户信息*/ private List cusList; - - @Schema(description = "车辆绑定标签信息") + /**车辆绑定标签信息*/ List labelList; /**车辆品牌型号数组*/ List brandAndModel; diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CarMainRespVO.java b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CarMainRespVO.java index eb533506..6f9e3ff0 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CarMainRespVO.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/module/custom/vo/CarMainRespVO.java @@ -18,9 +18,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ public class CarMainRespVO extends CarMain { - @Schema(description = "创建时间") - @ExcelProperty("创建时间") - private LocalDateTime createTime; + /**是否车主(0否1是)*/ @Schema(description = "是否车主(0否1是)")