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