From fb050c0dafa5363a73540dd9e52b78487e25ba0a Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期二, 09 四月 2024 17:32:46 +0800
Subject: [PATCH] fix:新增手动抬杆记录

---
 src/main/java/com/boying/entity/BarrierOpenLog.java                  |   50 ++++++++++
 src/main/java/com/boying/service/OutParkService.java                 |    1 
 src/main/java/com/boying/mapper/BarrierOpenLogMapper.java            |   17 +++
 src/main/java/com/boying/entity/EnterPark.java                       |    4 
 src/main/java/com/boying/controller/OutParkController.java           |   28 +++++
 src/main/java/com/boying/controller/BarrierOpenLogController.java    |   43 ++++++++
 src/main/java/com/boying/entity/vo/BarrierVo.java                    |   26 +++++
 src/main/java/com/boying/service/BarrierOpenLogService.java          |   15 +++
 src/main/java/com/boying/controller/BarrierController.java           |   23 ++++
 src/main/java/com/boying/controller/ParkController.java              |    2 
 src/main/java/com/boying/service/impl/BarrierOpenLogServiceImpl.java |   37 +++++++
 11 files changed, 241 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/boying/controller/BarrierController.java b/src/main/java/com/boying/controller/BarrierController.java
index 84e5ce0..d82c2b8 100644
--- a/src/main/java/com/boying/controller/BarrierController.java
+++ b/src/main/java/com/boying/controller/BarrierController.java
@@ -5,7 +5,9 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.boying.common.R;
 import com.boying.entity.Barrier;
+import com.boying.entity.BarrierOpenLog;
 import com.boying.entity.OutPark;
+import com.boying.service.BarrierOpenLogService;
 import com.boying.service.BarrierService;
 import com.boying.service.OutParkService;
 import com.boying.service.ParkService;
@@ -28,6 +30,7 @@
 public class BarrierController {
 
     private final BarrierService barrierService;
+    private final BarrierOpenLogService barrierOpenLogService;
     private final OutParkService outParkService;
     private final ParkService parkService;
     private StringRedisTemplate redisTemplate;
@@ -113,7 +116,7 @@
 
 
     @PostMapping("openBarrier")
-    public Object openBarrier(Long barrierId,Integer type) {
+    public Object openBarrier(Long barrierId,Integer type,String carNo,String remark) {
         Barrier b=  barrierService.getById(barrierId);
         if (b==null) {
             return R.failed("鏈壘鍒拌閬撻椄");
@@ -127,6 +130,12 @@
                try {
                    String jsonValue = JSON.toJSONString(b);
                    redisTemplate.opsForValue().set("barrier-"+b.getCode(), jsonValue);
+                   BarrierOpenLog barrierOpenLog = new BarrierOpenLog();
+                   barrierOpenLog.setCarNo(carNo);
+                   barrierOpenLog.setRemark(remark);
+                   barrierOpenLog.setParkId(b.getParkId());
+                   barrierOpenLog.setType(b.getType());
+                   barrierOpenLogService.save(barrierOpenLog);
                } catch (Exception e) {
                    e.printStackTrace();
                }
@@ -148,6 +157,12 @@
                    try {
                        String jsonValue = JSON.toJSONString(b);
                        redisTemplate.opsForValue().set("barrier-"+b.getCode(), jsonValue);
+                       BarrierOpenLog barrierOpenLog = new BarrierOpenLog();
+                       barrierOpenLog.setCarNo(carNo);
+                       barrierOpenLog.setRemark(remark);
+                       barrierOpenLog.setParkId(b.getParkId());
+                       barrierOpenLog.setType(b.getType());
+                       barrierOpenLogService.save(barrierOpenLog);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
@@ -160,6 +175,12 @@
                    try {
                        String jsonValue = JSON.toJSONString(b);
                        redisTemplate.opsForValue().set("barrier-"+b.getCode(), jsonValue);
+                       BarrierOpenLog barrierOpenLog = new BarrierOpenLog();
+                       barrierOpenLog.setCarNo(carNo);
+                       barrierOpenLog.setRemark(remark);
+                       barrierOpenLog.setParkId(b.getParkId());
+                       barrierOpenLog.setType(b.getType());
+                       barrierOpenLogService.save(barrierOpenLog);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
diff --git a/src/main/java/com/boying/controller/BarrierOpenLogController.java b/src/main/java/com/boying/controller/BarrierOpenLogController.java
new file mode 100644
index 0000000..c6a7346
--- /dev/null
+++ b/src/main/java/com/boying/controller/BarrierOpenLogController.java
@@ -0,0 +1,43 @@
+package com.boying.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.boying.common.R;
+import com.boying.entity.Barrier;
+import com.boying.entity.BarrierOpenLog;
+import com.boying.entity.OutPark;
+import com.boying.service.BarrierOpenLogService;
+import com.boying.service.BarrierService;
+import com.boying.service.OutParkService;
+import com.boying.service.ParkService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+import java.util.List;
+
+@RestController
+@RequestMapping("ffzf/barrierOpenLog")
+@RequiredArgsConstructor
+public class BarrierOpenLogController {
+
+    private final BarrierOpenLogService barrierOpenLogService;
+
+
+    @PostMapping("findPage")
+    public Object findPage(Page page, Integer parkId,String carNo) {
+        QueryWrapper<BarrierOpenLog> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(parkId != null,BarrierOpenLog::getParkId,parkId)
+                .eq(StringUtils.isNotBlank(carNo),BarrierOpenLog::getCarNo,carNo);
+        Page page1 = barrierOpenLogService.page(page, wrapper);
+        return R.ok(page1);
+    }
+
+}
diff --git a/src/main/java/com/boying/controller/OutParkController.java b/src/main/java/com/boying/controller/OutParkController.java
index 99aef6e..3d0a6e5 100644
--- a/src/main/java/com/boying/controller/OutParkController.java
+++ b/src/main/java/com/boying/controller/OutParkController.java
@@ -332,10 +332,34 @@
         enterPark.setParkId(parkId);
         enterPark.setBarrierId(list.get(0).getId());
         enterPark.setStatus(0);
+        enterPark.setIsAdd(1);
         enterPark.setIsPay(0);
-        enterPark.setImgId(null);
         enterParkService.saveOrUpdate(enterPark);
-        return R.ok("淇敼鎴愬姛");
+
+        OutPark outPark = null;
+        QueryWrapper<OutPark> wrapper1 = new QueryWrapper<>();
+        wrapper1.lambda()
+                .eq(OutPark::getParkId,parkId)
+                .eq(OutPark::getCarNo,carNo)
+                .ge(OutPark::getCreateTime,enterPark.getCreateTime())
+                .ne(OutPark::getStatus,1);
+        List<OutPark> list1 = outParkService.list(wrapper1);
+        if(list1 !=null&&list1.size()>0){
+            outPark  = list1.get(0);
+            outPark.setEnterTime(enterPark.getCreateTime());
+            long l = outPark.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli() - enterPark.getCreateTime().toInstant(ZoneOffset.of("+8")).toEpochMilli();
+            outPark.setTime(l/(1000*60));
+            try {
+                outPark.setPrice(costRuleService.getMoney(parkId, outPark.getEnterTime(), outPark.getCreateTime(), 1));
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+            outParkService.saveOrUpdate(outPark);
+            return R.ok(null,"淇敼鍑哄満璁板綍鎴愬姛");
+        }else {
+            return R.ok(null,"鏂板鍏ュ満璁板綍鎴愬姛");
+        }
+
     }
 
 
diff --git a/src/main/java/com/boying/controller/ParkController.java b/src/main/java/com/boying/controller/ParkController.java
index fa05e7c..de69d43 100644
--- a/src/main/java/com/boying/controller/ParkController.java
+++ b/src/main/java/com/boying/controller/ParkController.java
@@ -113,7 +113,7 @@
             Park byId1 = parkService.getById(id);
             String num = redisTemplate.opsForValue().get("car_park_" +  byId1.getId());
             try {
-                if(StringUtils.isNotBlank(num)){
+                if(StringUtils.isBlank(num)){
                     num = "0";
                 }
                 byId1.setCarNum(Integer.parseInt(num));
diff --git a/src/main/java/com/boying/entity/BarrierOpenLog.java b/src/main/java/com/boying/entity/BarrierOpenLog.java
new file mode 100644
index 0000000..e45de24
--- /dev/null
+++ b/src/main/java/com/boying/entity/BarrierOpenLog.java
@@ -0,0 +1,50 @@
+package com.boying.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.boying.common.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Transient;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName BarrierOpenLog.java
+ * @Description TODO
+ * @createTime 2024骞�04鏈�09鏃� 10:26:00
+ */
+@Data
+@TableName("barrier_open_log")
+@javax.persistence.Table(name = "barrier_open_log")
+@Entity
+@org.hibernate.annotations.Table(appliesTo = "barrier_open_log", comment = "鎵嬪姩寮�闂告棩蹇楄〃")
+@ApiModel(value = "鎵嬪姩寮�闂告棩蹇楄〃")
+public class BarrierOpenLog extends BaseEntity<Barrier> {
+
+    @ApiModelProperty(value = "鍋滆溅鍦篿d")
+    @Column(columnDefinition = "int comment '鍋滆溅鍦篿d'")
+    private Integer parkId;
+
+    @ApiModelProperty(value = "鍑哄叆")
+    @Column(columnDefinition = "int comment '鍑哄叆 0/鍑� 1/鍏�'")
+    private int type;
+
+    @ApiModelProperty(value = "杞︾墝鍙�")
+    @Column(columnDefinition = "varchar(100) comment '杞︾墝鍙�'")
+    private String carNo;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @Column(columnDefinition = "varchar(100) comment '澶囨敞'")
+    private String remark;
+
+
+    @Transient
+    @TableField(exist = false)
+    private String parkName;
+
+}
diff --git a/src/main/java/com/boying/entity/EnterPark.java b/src/main/java/com/boying/entity/EnterPark.java
index f9707a6..1734340 100644
--- a/src/main/java/com/boying/entity/EnterPark.java
+++ b/src/main/java/com/boying/entity/EnterPark.java
@@ -51,6 +51,10 @@
     @Column(columnDefinition = "int comment '鏄惁鏀粯'")
     private Integer isPay;
 
+    @ApiModelProperty(value = "鏄惁鎺ュ彛鏂板")
+    @Column(columnDefinition = "int comment '鏄惁鎺ュ彛鏂板'")
+    private Integer isAdd;
+
     private double price;
 
 
diff --git a/src/main/java/com/boying/entity/vo/BarrierVo.java b/src/main/java/com/boying/entity/vo/BarrierVo.java
new file mode 100644
index 0000000..69979b9
--- /dev/null
+++ b/src/main/java/com/boying/entity/vo/BarrierVo.java
@@ -0,0 +1,26 @@
+package com.boying.entity.vo;
+
+import com.boying.common.BaseEntity;
+import com.boying.entity.Barrier;
+import com.boying.entity.BarrierOpenLog;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.persistence.Column;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName BarrierVo.java
+ * @Description TODO
+ * @createTime 2024骞�04鏈�09鏃� 14:37:00
+ */
+public class BarrierVo extends BarrierOpenLog {
+
+    private String code;
+
+    private String code2;
+
+    private int status;
+
+    private int type2;
+}
diff --git a/src/main/java/com/boying/mapper/BarrierOpenLogMapper.java b/src/main/java/com/boying/mapper/BarrierOpenLogMapper.java
new file mode 100644
index 0000000..c1ba898
--- /dev/null
+++ b/src/main/java/com/boying/mapper/BarrierOpenLogMapper.java
@@ -0,0 +1,17 @@
+package com.boying.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.boying.entity.Barrier;
+import com.boying.entity.BarrierOpenLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName BarrierMapper.java
+ * @Description TODO
+ * @createTime 2022骞�11鏈�20鏃� 22:26:00
+ */
+@Mapper
+public interface BarrierOpenLogMapper extends BaseMapper<BarrierOpenLog> {
+}
diff --git a/src/main/java/com/boying/service/BarrierOpenLogService.java b/src/main/java/com/boying/service/BarrierOpenLogService.java
new file mode 100644
index 0000000..e6513e5
--- /dev/null
+++ b/src/main/java/com/boying/service/BarrierOpenLogService.java
@@ -0,0 +1,15 @@
+package com.boying.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.boying.entity.Barrier;
+import com.boying.entity.BarrierOpenLog;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName BarrierService.java
+ * @Description TODO
+ * @createTime 2022骞�11鏈�20鏃� 22:25:00
+ */
+public interface BarrierOpenLogService extends IService<BarrierOpenLog> {
+}
diff --git a/src/main/java/com/boying/service/OutParkService.java b/src/main/java/com/boying/service/OutParkService.java
index d655027..4081de4 100644
--- a/src/main/java/com/boying/service/OutParkService.java
+++ b/src/main/java/com/boying/service/OutParkService.java
@@ -44,7 +44,6 @@
     OutPark findByOrderId(String txnOrderId);
 
     OutPark findBy5min(String carNo, Integer parkId, LocalDateTime dateTime);
-    OutPark findBy10min(String carNo, Integer parkId, LocalDateTime dateTime);
     OutPark findBy5min2(String carNo, Integer parkId, LocalDateTime dateTime);
 
     OutPark findBy10min(String carNo, Integer parkId, LocalDateTime dateTime, Integer outParkId);
diff --git a/src/main/java/com/boying/service/impl/BarrierOpenLogServiceImpl.java b/src/main/java/com/boying/service/impl/BarrierOpenLogServiceImpl.java
new file mode 100644
index 0000000..a16e82c
--- /dev/null
+++ b/src/main/java/com/boying/service/impl/BarrierOpenLogServiceImpl.java
@@ -0,0 +1,37 @@
+package com.boying.service.impl;
+
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.boying.entity.Barrier;
+import com.boying.entity.BarrierOpenLog;
+import com.boying.entity.EnterPark;
+import com.boying.entity.OutPark;
+import com.boying.mapper.*;
+import com.boying.service.BarrierOpenLogService;
+import com.boying.service.BarrierService;
+import com.boying.util.StringUtil;
+import lombok.AllArgsConstructor;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Service;
+
+import java.time.ZoneId;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName BarrierServiceImpl.java
+ * @Description TODO
+ * @createTime 2022骞�11鏈�20鏃� 22:25:00
+ */
+@Service
+@AllArgsConstructor
+public class BarrierOpenLogServiceImpl extends ServiceImpl<BarrierOpenLogMapper, BarrierOpenLog> implements BarrierOpenLogService {
+
+}

--
Gitblit v1.9.1