From 7e2a837e26aafca3d49d35f9704442659da8654c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 02 十一月 2023 17:05:57 +0800
Subject: [PATCH] 硬件协议对接

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
index 7fe93bc..6126046 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java
@@ -449,14 +449,26 @@
                 .eq(Locks::getIsdeleted, Constants.ZERO)
                 .last("limit 1"));
         if (Objects.isNull(locks)) {
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鎵爜鏃犳晥锛屾湭鏌ヨ鍒伴攣澶翠俊鎭�");
+//            locks =new Locks();
+//            locks.setCode(codes[1]);
+//            locks.setSiteId(codes[0]);
+//            deviceService.getLockInfo(locks);
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鎵爜鏃犳晥锛岃绔欑偣閿佸ご鏆備笉鏀寔鍊熷嚭涓氬姟鍝︼紒");
         }
         //鏌ヨ閿佸ご鏄惁瀛樺湪杞﹁締 浠ュ強鏄惁姝e父
         if (Constants.formatIntegerNum(locks.getStatus())!=Constants.ZERO) {
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "褰撳墠鎵爜閿佸ご鐘舵�侀敊璇紝鏃犳硶杩涜寮�閿�");
+            locks =new Locks();
+            locks.setCode(codes[1]);
+            locks.setSiteId(codes[0]);
+            deviceService.getLockInfo(locks);
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "褰撳墠鎵爜閿佸ご鐘舵�侀敊璇紝宸插皾璇曟洿鏂伴攣澶寸姸鎬侊紝璇风◢鍚庨噸璇曪紒");
         }
         if (StringUtils.isBlank(locks.getBikeCode())) {
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "褰撳墠鎵爜閿佸ご鏃犺溅杈嗕俊鎭紝鏃犳硶杩涜寮�閿�");
+            locks =new Locks();
+            locks.setCode(codes[1]);
+            locks.setSiteId(codes[0]);
+            deviceService.getLockInfo(locks);
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "褰撳墠鎵爜閿佸ご鏃犺溅杈嗕俊鎭紝宸插皾璇曟洿鏂伴攣澶寸姸鎬侊紝璇风◢鍚庨噸璇曪紒");
         }
         MemberRides memberRides = new MemberRides();
         //鏍规嵁杞﹀瀷鏌ヨ璁′环鏂规
@@ -698,6 +710,7 @@
             sites.setStatus(Constants.ZERO);
             sites.setEditDate(date);
             sites.setLockNum(1);
+            sites.setLastLinkDate(date);
             //鏂板閿佸ご
             sitesMapper.insert(sites);
         }
@@ -751,13 +764,23 @@
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public  int mqttCloseBikeEvent(MemberRides bikes){
+        Locks locks  = new Locks();
+        locks.setSiteId(bikes.getBackSiteId());
+        locks.setCode(bikes.getBackLockId());
+        locks.setBikeCode(bikes.getBikeCode());
+        locks.setInfo(bikes.getBackCommondId());
+        //澶勭悊閿佸ご鏁版嵁
+         mqttLockInfoEvent(locks);
         //鍏嶈垂楠戣鏃堕暱鏌ヨ锛屾暟鎹瓧鍏搁厤缃�
         if(StringUtils.isBlank(bikes.getBikeCode()) ||StringUtils.isBlank(bikes.getBackLockId())||StringUtils.isBlank(bikes.getBackSiteId())){
           throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"杩樿溅涓婃姤鍙傛暟閿欒锛�");
         }
         QueryWrapper<MemberRides> wrapper = new QueryWrapper<>();
+        List<Integer> statusList = new ArrayList<>();
+        statusList.add(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
+        statusList.add(Constants.MEMBER_RIDES_STATUS.LOCKING.getKey());
         wrapper.lambda().eq(MemberRides::getBikeCode, bikes.getBikeCode());
-        wrapper.lambda().eq(MemberRides::getStatus, Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
+        wrapper.lambda().in(MemberRides::getStatus, statusList);
         wrapper.lambda().eq(MemberRides::getIsdeleted, Constants.ZERO);
         //鏍规嵁杞﹁締缂栫爜鏌ヨ楠戣涓殑楠戣璁板綍淇℃伅锛屽鏋滄湁杩涜杩樿溅鎿嶄綔
         MemberRides memberRides = memberRidesMapper.selectOne(wrapper.last("limit  1"));

--
Gitblit v1.9.3