From c3c072d2a7b4c5be0f9d4a8c2c9bc9e389fc6a33 Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Sat, 9 Sep 2023 15:05:37 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=9C=B0=E9=94=81=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jsowell-admin/src/test/java/Test.java | 85 +++++++++++++++++++ .../handler/GroundLockDataUploadHandler.java | 52 +++++++----- .../pile/service/OrderPileOccupyService.java | 3 +- .../impl/OrderPileOccupyServiceImpl.java | 12 ++- 4 files changed, 129 insertions(+), 23 deletions(-) create mode 100644 jsowell-admin/src/test/java/Test.java diff --git a/jsowell-admin/src/test/java/Test.java b/jsowell-admin/src/test/java/Test.java new file mode 100644 index 000000000..ed1a484f1 --- /dev/null +++ b/jsowell-admin/src/test/java/Test.java @@ -0,0 +1,85 @@ +import com.google.common.collect.Lists; + +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @program: com.cjml.service.partitem + * @description: + * @author: dc + * @create: 2023-09-09 13:46 + **/ +public class Test { + + public static void main(String[] args) { + List testList = Lists.newArrayList(); + testList.add(new Category("100-50-10", 100, 50, 10)); + testList.add(new Category("110-30-8", 110, 30, 8)); + testList.add(new Category("0-10-12", 0, 10, 12)); + + testList = testList.stream().sorted( + Comparator.comparing(Category::getCategoryGroupSort, Comparator.reverseOrder()) + .thenComparing(Category::getCategorySort, Comparator.reverseOrder()) + .thenComparing(Category::getPartSort) + ) + .collect(Collectors.toList()); + + System.out.println(testList.get(0).getCategoryName()); + System.out.println(testList.get(1).getCategoryName()); + System.out.println(testList.get(2).getCategoryName()); + } + + static class Category { + + private String categoryName; + + private int categoryGroupSort; + + private int categorySort; + + private int partSort; + + public Category() { + } + + public Category(String categoryName, int categoryGroupSort, int categorySort, int partSort) { + this.categoryName = categoryName; + this.categoryGroupSort = categoryGroupSort; + this.categorySort = categorySort; + this.partSort = partSort; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public int getCategoryGroupSort() { + return categoryGroupSort; + } + + public void setCategoryGroupSort(int categoryGroupSort) { + this.categoryGroupSort = categoryGroupSort; + } + + public int getCategorySort() { + return categorySort; + } + + public void setCategorySort(int categorySort) { + this.categorySort = categorySort; + } + + public int getPartSort() { + return partSort; + } + + public void setPartSort(int partSort) { + this.partSort = partSort; + } + } +} diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/GroundLockDataUploadHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/GroundLockDataUploadHandler.java index 44cb13a8f..057559467 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/GroundLockDataUploadHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/GroundLockDataUploadHandler.java @@ -1,5 +1,6 @@ package com.jsowell.netty.handler; +import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.core.domain.ykc.GroundLockData; @@ -89,24 +90,6 @@ public class GroundLockDataUploadHandler extends AbstractHandler{ byte[] waitingUseByteArr = BytesUtil.copyBytes(msgBody, 12, 4); String waitingUse = BytesUtil.bcd2Str(waitingUseByteArr); - // 封装到对象中 - GroundLockData data = GroundLockData.builder() - .pileSn(pileSn) - .connectorCode(connectorCode) - .parkingLockStatus(parkingLockStatus) - .parkingStatus(parkingStatus) - .groundLockElectric(groundLockElectric) - .alarmStatus(alarmStatus) - .time(DateUtils.getTime()) - .build(); - - // 地锁信息放缓存中 缓存10分钟 - String redisKey = CacheConstants.GROUND_LOCK_DATA + pileSn + connectorCode; - redisCache.setCacheObject(redisKey, data, CacheConstants.cache_expire_time_10m); - - log.info("[===地锁数据上送===] result: 桩编码:{}, 枪号:{}, 车位锁状态:{}, 车位状态:{}, 地锁电量状态:{}, 报警状态:{}", - pileSn, connectorCode, parkingLockStatus, parkingStatus, groundLockElectric, alarmStatus); - if (StringUtils.equals(parkingLockStatus, "55")) { log.info("0x61地锁数据,车位锁状态:升锁到位状态"); if (StringUtils.equals(parkingStatus, "00")) { @@ -126,6 +109,24 @@ public class GroundLockDataUploadHandler extends AbstractHandler{ } else { log.info("0x61地锁数据,车位锁状态:未到位状态"); } + + // 封装到对象中 + GroundLockData data = GroundLockData.builder() + .pileSn(pileSn) + .connectorCode(connectorCode) + .parkingLockStatus(parkingLockStatus) + .parkingStatus(parkingStatus) + .groundLockElectric(groundLockElectric) + .alarmStatus(alarmStatus) + .time(DateUtils.getTime()) + .build(); + + // 地锁信息放缓存中 缓存10分钟 + String redisKey = CacheConstants.GROUND_LOCK_DATA + pileSn + connectorCode; + redisCache.setCacheObject(redisKey, data, CacheConstants.cache_expire_time_10m); + + log.info("[===地锁数据上送===] result: 桩编码:{}, 枪号:{}, 车位锁状态:{}, 车位状态:{}, 地锁电量状态:{}, 报警状态:{}", + pileSn, connectorCode, parkingLockStatus, parkingStatus, groundLockElectric, alarmStatus); return null; } @@ -143,7 +144,7 @@ public class GroundLockDataUploadHandler extends AbstractHandler{ orderInfo.setStartTime(DateUtils.getNowDate()); orderInfo.setPayStatus(OccupyOrderPayStatusEnum.UN_PAY.getCode()); // 修改数据库 - log.info("降锁成功,修改订单状态"); + log.info("降锁成功,修改订单状态:{}", JSON.toJSONString(orderInfo)); orderPileOccupyService.updateByPrimaryKeySelective(orderInfo); } } @@ -152,6 +153,17 @@ public class GroundLockDataUploadHandler extends AbstractHandler{ * 升锁成功时调用 */ private void raiseTheGroundLock(String pileSn, String connectorCode) { - orderPileOccupyService.stopOccupyPileOrder(pileSn, connectorCode); + // 两种情况 1是没有停车,地锁自动升起;2是停车完成地锁升起 + boolean stopFlag = true; + + + + if (stopFlag) { + // 停止占桩订单计时 + orderPileOccupyService.stopOccupyPileOrder(pileSn, connectorCode); + } else { + // 关闭占桩订单 + orderPileOccupyService.closeOccupyPileOrder(pileSn, connectorCode); + } } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java index cf3595863..2f03f76ba 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderPileOccupyService.java @@ -4,7 +4,6 @@ import com.jsowell.common.core.page.PageResponse; import com.jsowell.pile.domain.OrderPileOccupy; import com.jsowell.pile.dto.*; import com.jsowell.pile.vo.uniapp.OccupyOrderDetailVO; -import com.jsowell.pile.vo.uniapp.OrderPileOccupyVO; import java.util.List; import java.util.Map; @@ -105,4 +104,6 @@ public interface OrderPileOccupyService{ * @return */ int updateOrderInfoForWeb(MakeOrderFreeDTO dto); + + void closeOccupyPileOrder(String pileSn, String connectorCode); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java index b532872ad..d61363af8 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderPileOccupyServiceImpl.java @@ -196,8 +196,6 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { */ @Override public void stopOccupyPileOrder(String pileSn, String connectorCode) { - // 两种情况 1是没有停车,地锁自动升起;2是停车完成地锁升起 - // 根据充电站sn和枪口号,查询占桩中的占桩订单 OrderPileOccupy orderPileOccupy = getOccupiedOrder(pileSn, connectorCode); if (orderPileOccupy == null) { @@ -462,6 +460,16 @@ public class OrderPileOccupyServiceImpl implements OrderPileOccupyService { } } + @Override + public void closeOccupyPileOrder(String pileSn, String connectorCode) { + // 查询草稿状态的占桩订单 + OrderPileOccupy draftOccupyOrder = getDraftOccupyOrder(pileSn, connectorCode); + // 关闭草稿订单 + draftOccupyOrder.setStatus(Constants.ONE); + draftOccupyOrder.setPayStatus(Constants.TWO); + updateByPrimaryKey(draftOccupyOrder); + } + /* * 支付占桩订单 *