Prechádzať zdrojové kódy

荆鹏停车场加上区域的区分,在入口加上限制

hbjzws 1 rok pred
rodič
commit
06ec53262c

+ 1 - 0
src/main/java/com/charging/chargingparking/dto/AddParkingMember.java

@@ -43,4 +43,5 @@ public class AddParkingMember {
     private String memberPhone;
 
     private Integer gunType;
+    private String area;
 }

+ 5 - 0
src/main/java/com/charging/chargingparking/entity/ParkingMember.java

@@ -124,5 +124,10 @@ public class ParkingMember implements Serializable {
     private Integer subMerberType;
     @TableField(exist = false)
     private String memberOperator;
+    /**
+     * 区域
+     */
+    @TableField(value = "area_")
+    private String area;
 
 }

+ 2 - 0
src/main/java/com/charging/chargingparking/service/impl/ParkingMemberServiceImpl.java

@@ -363,6 +363,7 @@ public class ParkingMemberServiceImpl extends ServiceImpl<ParkingMemberMapper, P
                 parkingMember.setMemberType(addParkingMember.getMemberType());
                 parkingMember.setMemberPhone(addParkingMember.getMemberPhone());
                 parkingMember.setUpdateTime(new Date());
+                parkingMember.setArea(addParkingMember.getArea());
                 parkingMember.setUpdateBy(createBy);
                 updateById(parkingMember);
             } else {
@@ -374,6 +375,7 @@ public class ParkingMemberServiceImpl extends ServiceImpl<ParkingMemberMapper, P
                 parkingMember.setMemberEndTime(addParkingMember.getMemberEndTime());
                 parkingMember.setMemberType(addParkingMember.getMemberType());
                 parkingMember.setMemberPhone(addParkingMember.getMemberPhone());
+                parkingMember.setArea(addParkingMember.getArea());
                 parkingMember.setCreateTime(new Date());
                 parkingMember.setCreateBy(createBy);
                 save(parkingMember);

+ 42 - 3
src/main/java/com/charging/chargingparking/service/impl/ParkingRecordServiceImpl.java

@@ -115,9 +115,9 @@ public class ParkingRecordServiceImpl extends ServiceImpl<ParkingRecordMapper, P
         String dataStr = StringUtils.getAlarmInfoPlateTimeStr(alarmInfoPlate.getResult().getPlateResult().getTimeStamp().getTimeval());
         log.warn(dataStr);
         //比较时间与当前时间,如果相差30S则不处理
-        if (DateUtil.parse(dataStr).compareTo(DateUtil.offsetSecond(new Date(), -30)) < 0) {
-            throw new Exception(StrUtil.format("记录时间与创建时间相差超过30s,记录:{}", alarmInfoPlate.getResult().getPlateResult().getLicense()));
-        }
+//        if (DateUtil.parse(dataStr).compareTo(DateUtil.offsetSecond(new Date(), -30)) < 0) {
+//            throw new Exception(StrUtil.format("记录时间与创建时间相差超过30s,记录:{}", alarmInfoPlate.getResult().getPlateResult().getLicense()));
+//        }
 
 
         //图片小
@@ -133,6 +133,8 @@ public class ParkingRecordServiceImpl extends ServiceImpl<ParkingRecordMapper, P
             throw new Exception(StrUtil.format("车牌错误:{}", license));
         }
 
+
+
         //锦添物业停车场2分钟内对同一车牌处理1次
         if ("5f8d343e-63d1-4ef0-9844-855ca020d92b".equals(parkingInfo.getId())) {
             QueryWrapper<ParkingRecord> parkingRecordQueryWrapper01 = new QueryWrapper<>();
@@ -257,7 +259,44 @@ public class ParkingRecordServiceImpl extends ServiceImpl<ParkingRecordMapper, P
                 if (parkingRecord12 != null) {
                     throw new Exception(StrUtil.format("进口道闸重复数据,道闸:{},车牌:{},记录:{}", parkingChannel.getChannelName(), license, parkingRecord12.getId()));
                 }
+                //2023-12-22 add by hbjzws 荆鹏停车场会员增加区域(大楼和创客公寓),控制车辆只能在大楼和公寓的停车场进出
+                if("1".equals(parkingInfo.getId())&&"1".equals(memberType)){
+                    String msg="";
+                    QueryWrapper<ParkingMember> parkingMemberQueryWrapper = new QueryWrapper<>();
+                    parkingMemberQueryWrapper.eq("park_id", "1");
+                    parkingMemberQueryWrapper.eq("member_car_num", license);
+                    parkingMemberQueryWrapper.eq("member_type", 1);
+                    parkingMemberQueryWrapper.eq("cloud_del_flag", false);
+                    parkingMemberQueryWrapper.orderByDesc("create_time");
+                    parkingMemberQueryWrapper.last("LIMIT 1");
+                    ParkingMember parkingMember = parkingMemberService.getOne(parkingMemberQueryWrapper);
+                    if(parkingMember!=null&&parkingMember.getMemberEndTime()!=null&& org.apache.commons.lang3.StringUtils.isNotEmpty(parkingMember.getArea())){
+                        if(new Date().compareTo(parkingMember.getMemberEndTime())<=0){
+                            //有效会员
+                            if("0".equals(parkingMember.getArea())){
+                               //大楼
+                                 if("3afe21d5-1897d4ce".equals(alarmInfoPlate.getSerialno())||"ef6b3d0f-1c74596d".equals(alarmInfoPlate.getSerialno())){
+                                     parkingEnableVo.setOpen(false);
+                                     msg ="请到前面大楼停车";
+                                 }
+                            }
+                            if("1".equals(parkingMember.getArea())){
+                                //创客公寓
+                                if("89bc86da-a4357bee".equals(alarmInfoPlate.getSerialno())){
+                                    parkingEnableVo.setOpen(false);
+                                    msg ="请到创客公寓停车";
+                                }
+                            }
+                        }
+                    }
+                    if(!parkingEnableVo.getOpen()){
+                        //写语音播报或者直接抛出异常
+                        responseAlarmInfoPlate.setInfo("");
+                        responseAlarmInfoPlate.setPlateid(plateId);
+                        responseAlarmInfoPlate.setSerialData(stringUtils.getSerialData("会员车" + license + "不能进场"+msg, null, null, "会员车" + license + "不能进场"+msg, parkingChannel.getId(), true, true, 10L));
+                    }
 
+                }
 
                 //符合规则的车辆可入
                 if (parkingEnableVo.getOpen()) {

+ 2 - 1
src/main/resources/mapper/ParkingMemberMapper.xml

@@ -22,6 +22,7 @@
         <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
         <result property="cloudDelFlag" column="cloud_del_flag" jdbcType="BIT"/>
         <result property="memberType" column="member_type" jdbcType="INTEGER"/>
+        <result property="area" column="area_" jdbcType="VARCHAR"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -29,7 +30,7 @@
         member_name,member_phone,member_car_num,
         member_start_time,member_end_time,days_,hours_,
         del_flag,create_by,create_time,
-        update_by,update_time,cloud_del_flag,member_type
+        update_by,update_time,cloud_del_flag,member_type,area_
     </sql>
 
     <select id="search" parameterType="hashmap" resultMap="BaseResultMap">

+ 9 - 0
src/test/java/com/charging/chargingparking/ChargingParkingApplicationTests.java

@@ -93,6 +93,15 @@ class ChargingParkingApplicationTests {
     private ParkingShopService parkingShopService;
     @Autowired
     private ParkingBetweenMemberService parkingBetweenMemberService;
+
+    @Test
+    void test342() throws Exception {
+        ParkingMember parkingMember = new ParkingMember();
+        //parkingMember.setParkId("1");
+        parkingMember.setArea("0");
+        parkingMemberService.save(parkingMember);
+    }
+
     @Test
     void test123() throws Exception {