Przeglądaj źródła

车辆模型-公有名称不重复

WXF 3 lat temu
rodzic
commit
eaf46d131e

+ 1 - 0
api-common/src/main/java/api/common/pojo/constants/DictConstants.java

@@ -12,6 +12,7 @@ public class DictConstants {
     public static final String VEHICLE_TYPE = "vehicleType";//车辆类型
     public static final String DRIVE_TYPE = "driveType";//驱动方式
     public static final String COORDINATE = "coordinate";//坐标系
+    public static final String TARGET_FILTER = "targetFilter";//目标物筛选
     public static final String REGULATION_TYPE = "regulationType"; // 法规类型
     public static final String SELF_DRIVING = "selfDriving"; // 自车驾驶行为
     public static final String TARGET_DRIVING = "targetDriving"; // 目标驾驶行为

+ 4 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/model/ctrl/VehicleCtrl.java

@@ -83,7 +83,10 @@ public class VehicleCtrl {
             return new ResponseBodyVO(false, 500, "参数必传!",null);
         }
         ResponseBodyVO<VehiclePO> response = new ResponseBodyVO<VehiclePO>(ResponseBodyVO.Response.SUCCESS);
-        response.setInfo(vehicleService.shareVehicle(vehiclePO));
+        VehiclePO po = vehicleService.shareVehicle(vehiclePO);
+        if(ObjectUtil.isNull(po.getId())){
+            return new ResponseBodyVO(false, 500, "车辆名称重复!",null);
+        }
         return response;
     }
 

+ 9 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/model/service/VehicleService.java

@@ -49,6 +49,7 @@ public class VehicleService {
         vehiclePO.setModifyUserId(currentUserId);
         vehiclePO.setModifyTime(currentTime);
         vehiclePO.setIsDeleted(DictConstants.NO);
+        vehiclePO.setShare(DictConstants.NO);//私有
         //名称校验
         List<VehicleVO> list = vehicleMapper.checkVehicleName(vehiclePO);
         if(ObjectUtil.isNotNull(list)){
@@ -58,7 +59,6 @@ public class VehicleService {
         String id = vehiclePO.getId();
         if(ObjectUtil.isNull(id)){//新增
             vehiclePO.setId(StringUtil.getRandomUUID());
-            vehiclePO.setShare(DictConstants.NO);//私有
             vehiclePO.setVehicleCode(StringUtil.getRandomCode());
             vehicleMapper.insert(vehiclePO);
         }else{//修改
@@ -68,6 +68,14 @@ public class VehicleService {
     }
 
     public VehiclePO shareVehicle(VehiclePO vehiclePO) {
+        vehiclePO.setShare(DictConstants.YES);//转公有
+        vehiclePO.setCreateUserId(null);
+        //名称校验
+        List<VehicleVO> list = vehicleMapper.checkVehicleName(vehiclePO);
+        if(ObjectUtil.isNotNull(list)){
+            vehiclePO.setId(null);
+            return vehiclePO;
+        }
         //常规字段赋值
         String currentUserId = AuthUtil.getCurrentUserId();
         Timestamp currentTime = TimeUtil.getNowForMysql();
@@ -77,7 +85,6 @@ public class VehicleService {
         vehiclePO.setModifyTime(currentTime);
         vehiclePO.setIsDeleted(DictConstants.NO);
 
-        vehiclePO.setShare(DictConstants.YES);//转公有
         vehiclePO.setId(StringUtil.getRandomUUID());
         vehiclePO.setVehicleCode(StringUtil.getRandomCode());
         vehicleMapper.insert(vehiclePO);

+ 8 - 4
simulation-resource-server/src/main/resources/mapper/model/VehicleMapper.xml

@@ -85,10 +85,15 @@
         select
             id
         from model_vehicle v
-        where v.is_deleted = '0' and v.share = '0'
+        where v.is_deleted = '0'
           and v.vehicle_name = #{vehicleName,jdbcType=VARCHAR}
-          and v.create_user_id = #{createUserId,jdbcType=VARCHAR}
-          and v.id &lt;&gt; #{id,jdbcType=VARCHAR}
+        <if test="share != null and share != ''">
+            and v.share = #{share,jdbcType=VARCHAR}
+        </if>
+        <if test="createUserId != null and createUserId != ''">
+            and v.create_user_id = #{createUserId,jdbcType=VARCHAR}
+            and v.id &lt;&gt; #{id,jdbcType=VARCHAR}
+        </if>
     </select>
 
     <insert id="insert" parameterType="api.common.pojo.po.model.VehiclePO">
@@ -160,7 +165,6 @@
 
     <update id="update" parameterType="api.common.pojo.po.model.VehiclePO">
         update model_vehicle set
-            vehicle_code = #{vehicleCode,jdbcType=VARCHAR},
             vehicle_name = #{vehicleName,jdbcType=VARCHAR},
             description = #{description,jdbcType=VARCHAR},
             vehicle_type = #{vehicleType,jdbcType=VARCHAR},