Преглед на файлове

修改新增车辆信息代码

Qchen преди 2 години
родител
ревизия
136a6944d2

+ 1 - 0
src/main/java/com/ydtech/modules/ser/controller/SerCarInfoController.java

@@ -28,6 +28,7 @@ public class SerCarInfoController {
         return serCarInfoService.addCarInfo(serCarInfo);
     }
 
+
     @ApiOperation("车辆信息编辑")
     @PostMapping("updateCarInfo")
     public HttpResult updateCarInfo(@RequestBody SerCarInfo serCarInfo) {

+ 15 - 0
src/main/java/com/ydtech/modules/ser/model/SerCarInfo.java

@@ -54,6 +54,14 @@ public class SerCarInfo implements Serializable {
     @ApiModelProperty(value = "发动机号")
     private String engineNo;
 
+    /**
+     * 车辆品牌
+     */
+    @TableField(value = "vehicle_brand")
+    @ApiModelProperty(value = "车辆品牌")
+    private String vehicleBrand;
+
+
     /**
      * 车辆类型
      */
@@ -99,6 +107,13 @@ public class SerCarInfo implements Serializable {
     @ApiModelProperty(value = "年检逾期时间")
     private String overdueTime;
 
+    /**
+     * 距离时间
+     */
+    @TableField(value = "distance_time")
+    @ApiModelProperty(value = "距离时间")
+    private String distanceTime;
+
     /**
      * userid
      */

+ 4 - 0
src/main/java/com/ydtech/modules/ser/service/impl/SerAnnualAuditOrderServiceImpl.java

@@ -36,15 +36,19 @@ public class SerAnnualAuditOrderServiceImpl implements SerAnnualAuditOrderServic
         pageRequest.setPageSize(serAnnualAuditOrderQueryVo.getPageSize());
         Page page = PageRequest.buildPageRequest(pageRequest);
         LambdaQueryWrapper<SerAnnualAuditOrder> queryWrapper = new LambdaQueryWrapper<>();
+        //车牌号
         if (serAnnualAuditOrderQueryVo.getLicenseNo() != null && !"".equals(serAnnualAuditOrderQueryVo.getLicenseNo())) {
             queryWrapper.eq(SerAnnualAuditOrder::getLicenseNo, serAnnualAuditOrderQueryVo.getLicenseNo());
         }
+        //联系人
         if (serAnnualAuditOrderQueryVo.getContactPerson() != null && !"".equals(serAnnualAuditOrderQueryVo.getContactPerson())) {
             queryWrapper.eq(SerAnnualAuditOrder::getContactPerson, serAnnualAuditOrderQueryVo.getContactPerson());
         }
+        //联系电话
         if (serAnnualAuditOrderQueryVo.getMobile() != null && !"".equals(serAnnualAuditOrderQueryVo.getMobile())) {
             queryWrapper.eq(SerAnnualAuditOrder::getMobile, serAnnualAuditOrderQueryVo.getMobile());
         }
+        //详细地址
         if (serAnnualAuditOrderQueryVo.getDetailAddress() != null && !"".equals(serAnnualAuditOrderQueryVo.getDetailAddress())) {
             queryWrapper.like(SerAnnualAuditOrder::getDetailAddress, serAnnualAuditOrderQueryVo.getDetailAddress());
         }

+ 56 - 15
src/main/java/com/ydtech/modules/ser/service/impl/SerCarInfoServiceImpl.java

@@ -9,6 +9,7 @@ import com.ydtech.modules.ser.dao.SerCarInfoMapper;
 import com.ydtech.modules.ser.model.SerCarInfo;
 import com.ydtech.modules.ser.service.SerCarInfoService;
 import com.ydtech.utils.idgen.IdGenerate;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import java.time.*;
@@ -30,43 +31,83 @@ public class SerCarInfoServiceImpl implements SerCarInfoService {
 
     @Override
     public HttpResult addCarInfo(SerCarInfo serCarInfo) {
+        // 设置id、userId、createdTime
+        SysUser user = BaseController.getUser();
+        serCarInfo.setId(IdGenerate.nextId());
+        serCarInfo.setUserId(user.getId());
+        LocalDateTime currentTime = LocalDateTime.now();
+        serCarInfo.setCreateTime(currentTime);
+
+        //查询车辆是否重复
         QueryWrapper<SerCarInfo> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("licenseno", serCarInfo.getLicenseNo());
         boolean exist = serCarInfoMapper.exists(queryWrapper);
         if (exist) {
             return HttpResult.error("该车已被其他用户添加,请检查");
         }
-        SysUser user = BaseController.getUser();
-        serCarInfo.setId(IdGenerate.nextId());
-        serCarInfo.setUserId(user.getId());
-        LocalDateTime date = LocalDateTime.now();
-        serCarInfo.setCreateTime(date);
+
+        // 校验年检到期时间不可早于注册时间
+        if (serCarInfo.getRegisterTime() == null && serCarInfo.getExpireTime() == null) {
+            return HttpResult.error("注册时间与到期时间不可为空");
+        }
+
+        Instant registerInstant = serCarInfo.getRegisterTime().toInstant();
+        Instant expireInstant = serCarInfo.getExpireTime().toInstant();
+        Instant nowInstant = new Date().toInstant();
+        if (expireInstant.isBefore(registerInstant)) {
+            return HttpResult.error("年检到期时间不可早于注册时间");
+        }
+        // 计算逾期时间 距离时间
+        if (expireInstant.equals(nowInstant)) {
+            serCarInfo.setOverdueTime("0");
+            serCarInfo.setDistanceTime("0");
+        } else if (expireInstant.isBefore(nowInstant)) {
+            Duration duration = Duration.between(expireInstant, nowInstant);
+            serCarInfo.setOverdueTime(String.valueOf(duration.toDays()));
+            serCarInfo.setDistanceTime("0");
+        } else if (nowInstant.isBefore(expireInstant)) {
+            Duration duration = Duration.between(nowInstant, expireInstant);
+            serCarInfo.setOverdueTime("0");
+            serCarInfo.setDistanceTime(String.valueOf(duration.toDays()));
+        }
         serCarInfoMapper.insert(serCarInfo);
         return HttpResult.ok("新增车辆信息成功", serCarInfo);
     }
 
     @Override
     public HttpResult updateCarInfo(SerCarInfo serCarInfo) {
+        //查询车辆是否重复
+        QueryWrapper<SerCarInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("licenseno", serCarInfo.getLicenseNo());
+        queryWrapper.ne("userid", BaseController.getUser().getId());
+        boolean exist = serCarInfoMapper.exists(queryWrapper);
+        if (exist) {
+            return HttpResult.error("该车已被其他用户添加,请检查");
+        }
+
         // 校验年检到期时间不可早于注册时间
         if (serCarInfo.getRegisterTime() == null && serCarInfo.getExpireTime() == null) {
             return HttpResult.error("注册时间与到期时间不可为空");
         }
+
         Instant registerInstant = serCarInfo.getRegisterTime().toInstant();
         Instant expireInstant = serCarInfo.getExpireTime().toInstant();
+        Instant nowInstant = new Date().toInstant();
         if (expireInstant.isBefore(registerInstant)) {
             return HttpResult.error("年检到期时间不可早于注册时间");
         }
-            serCarInfo.setExpireTime(serCarInfo.getExpireTime());
-        // 计算逾期时间
-        Date expireDate = serCarInfo.getExpireTime();
-        LocalDateTime expireTime = expireDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
-        LocalDateTime currentTime = LocalDateTime.now();
-        Duration duration = Duration.between(expireTime, currentTime);
-        long days = duration.toDays();
-        if (days <= 0 ) {
+        // 计算逾期时间 距离时间
+        if (expireInstant.equals(nowInstant)) {
+            serCarInfo.setOverdueTime("0");
+            serCarInfo.setDistanceTime("0");
+        } else if (expireInstant.isBefore(nowInstant)) {
+            Duration duration = Duration.between(expireInstant, nowInstant);
+            serCarInfo.setOverdueTime(String.valueOf(duration.toDays()));
+            serCarInfo.setDistanceTime("0");
+        } else if (nowInstant.isBefore(expireInstant)) {
+            Duration duration = Duration.between(nowInstant, expireInstant);
             serCarInfo.setOverdueTime("0");
-        } else {
-            serCarInfo.setOverdueTime(String.valueOf(days));
+            serCarInfo.setDistanceTime(String.valueOf(duration.toDays()));
         }
         serCarInfoMapper.updateById(serCarInfo);
         return HttpResult.ok("编辑成功", serCarInfo);