Browse Source

车辆添加验证车牌号唯一

dzx 8 months ago
parent
commit
47d1ba439c

+ 1 - 2
src/main/java/com/xjrsoft/module/personnel/controller/CarMessageApplyController.java

@@ -115,8 +115,7 @@ public class CarMessageApplyController {
     @SaCheckPermission("carmessageapply:add")
     @XjrLog(value = "新增车辆信息审核", saveResponseData = true)
     public RT<Boolean> add(@Valid @RequestBody AddCarMessageApplyDto dto) {
-        CarMessageApply carMessageApply = BeanUtil.toBean(dto, CarMessageApply.class);
-        boolean isSuccess = carMessageApplyService.save(carMessageApply);
+        boolean isSuccess = carMessageApplyService.add(dto);
         return RT.ok(isSuccess);
     }
 

+ 2 - 0
src/main/java/com/xjrsoft/module/personnel/mapper/CarMessageApplyMapper.java

@@ -3,6 +3,7 @@ package com.xjrsoft.module.personnel.mapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.personnel.entity.CarMessageApply;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * @title: 车辆信息审核
@@ -13,4 +14,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface CarMessageApplyMapper extends MPJBaseMapper<CarMessageApply> {
 
+    Integer getCountByCarNumber(@Param("carNumber") String carNumber);
 }

+ 6 - 0
src/main/java/com/xjrsoft/module/personnel/service/ICarMessageApplyService.java

@@ -1,6 +1,8 @@
 package com.xjrsoft.module.personnel.service;
 
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.personnel.dto.AddCarMessageApplyDto;
+import com.xjrsoft.module.personnel.dto.UpdateCarMessageApplyDto;
 import com.xjrsoft.module.personnel.entity.CarMessageApply;
 
 import java.util.List;
@@ -15,4 +17,8 @@ import java.util.List;
 public interface ICarMessageApplyService extends MPJBaseService<CarMessageApply> {
 
     Boolean deleteBatchByIds(List<Long> ids);
+
+    Boolean add(AddCarMessageApplyDto dto);
+
+
 }

+ 19 - 0
src/main/java/com/xjrsoft/module/personnel/service/impl/CarMessageApplyServiceImpl.java

@@ -1,14 +1,19 @@
 package com.xjrsoft.module.personnel.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.module.hikvision.entity.HikvisionData;
 import com.xjrsoft.module.hikvision.mapper.HikvisionDataMapper;
 import com.xjrsoft.module.hikvision.util.ApiUtil;
+import com.xjrsoft.module.personnel.dto.AddCarMessageApplyDto;
+import com.xjrsoft.module.personnel.dto.UpdateCarMessageApplyDto;
 import com.xjrsoft.module.personnel.entity.CarMessageApply;
 import com.xjrsoft.module.personnel.mapper.CarMessageApplyMapper;
 import com.xjrsoft.module.personnel.service.ICarMessageApplyService;
@@ -16,6 +21,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDateTime;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
@@ -69,4 +75,17 @@ public class CarMessageApplyServiceImpl extends MPJBaseServiceImpl<CarMessageApp
 //        }
         return true;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean add(AddCarMessageApplyDto dto) {
+        Integer countByCarNumber = this.baseMapper.getCountByCarNumber(dto.getCarNumber());
+        if(countByCarNumber > 0){
+            throw new MyException("已存在该车牌号");
+        }
+        CarMessageApply carMessageApply = BeanUtil.toBean(dto, CarMessageApply.class);
+        this.save(carMessageApply);
+        return true;
+    }
+
 }

+ 9 - 0
src/main/resources/mapper/personnel/CarMessageApplyMapper.xml

@@ -0,0 +1,9 @@
+<?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.xjrsoft.module.personnel.mapper.LaborManagementMapper">
+    <select id="getCountByCarNumber" resultType="Java.lang.Integer">
+        SELECT count(*) FROM car_message_apply WHERE delete_mark = 0 and now() between start_time and end_time and car_number = #{carNumber}
+    </select>
+</mapper>