From 3e242903008f50818729fe17a4fa38e0b1f02551 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 19 二月 2025 16:44:58 +0800
Subject: [PATCH] jtt808初始化

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java |   94 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 75 insertions(+), 19 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 1302e95..c7a2291 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
@@ -13,6 +13,8 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.HttpsUtil;
+import com.doumee.core.utils.StringTools;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.ActionLogMapper;
 import com.doumee.dao.business.BikesMapper;
@@ -371,8 +373,33 @@
         update.setBackUserid(user.getId());
         update.setBackType(Constants.ONE);
         update.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey());
-        update.setBackSiteId(collect.get(Constants.FORCE_BACK_SITE).getCode());
-        update.setBackLockId(Constants.formatIntegerFromStr(collect.get(Constants.FORCE_BACK_LOCK).getCode()));
+        String logInfo = null;
+        Bikes bike =null;
+        if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
+            //濡傛灉鏄嚜琛岃溅锛岀粦瀹氬埌铏氭嫙绔欑偣鍜岄攣澶�
+            update.setBackSiteId(collect.get(Constants.FORCE_BACK_SITE).getCode());
+            update.setBackLockId(Constants.formatIntegerFromStr(collect.get(Constants.FORCE_BACK_LOCK).getCode()));
+            //鎻掑叆铏氭嫙閿佸ご鍜岀珯鐐逛笂-------
+            bike = new Bikes();
+            bike.setIsdeleted(Constants.ZERO);
+            bike.setCode(model.getBikeCode());
+            bike.setType(model.getType());
+            bike.setSiteId(update.getBackSiteId());
+            bike.setLockId(update.getBackLockId());
+            if(bikesMapper.selectCount(new QueryWrapper<>(bike)) == 0){
+                bike.setId(Constants.getUUID());
+                bike.setParamId(model.getParamId());
+                bike.setLastBackDate(model.getRentDate());
+                bike.setStatus(Constants.ZERO);
+                bike.setType(Constants.ZERO);
+                bike.setInfo("寮哄埗杩樿溅缁戝畾");
+                bikesMapper.insert(bike);
+            }
+        }else{
+            //濡傛灉鏄數杞︼紝璇锋眰web绔帴鍙e叧闂溅杈嗕俊鎭�
+            bike =   sendCloseElecBikeRequest(memberRides.getBikeCode(),Constants.ONE);
+        }
+        logInfo = bike!=null?bike.getInfo():null;
         Integer freeRentTime = Integer.valueOf(collect.get(Constants.FREE_RENT_TIME).getCode());
         Integer rideTime = DateUtil.betweenMin(model.getRentDate(), update.getBackDate());
         //璁$畻楠戣璁¤垂鏃堕暱
@@ -383,23 +410,6 @@
         String beforeContent = JSONObject.toJSONString(model);
         //淇敼鍚�
         String after = JSONObject.toJSONString(update);
-
-        //鎻掑叆铏氭嫙閿佸ご鍜岀珯鐐逛笂-------
-        Bikes bike = new Bikes();
-        bike.setIsdeleted(Constants.ZERO);
-        bike.setCode(model.getBikeCode());
-        bike.setType(model.getType());
-        bike.setSiteId(update.getBackSiteId());
-        bike.setLockId(update.getBackLockId());
-        if(bikesMapper.selectCount(new QueryWrapper<>(bike)) == 0){
-            bike.setId(Constants.getUUID());
-            bike.setParamId(model.getParamId());
-            bike.setLastBackDate(model.getRentDate());
-            bike.setStatus(Constants.ZERO);
-            bike.setType(Constants.ZERO);
-            bike.setInfo("寮哄埗杩樿溅缁戝畾");
-            bikesMapper.insert(bike);
-        }
 
         ActionLog log = new ActionLog();
         log.setId(Constants.getUUID());
@@ -414,6 +424,7 @@
         log.setObjType(Constants.ActionLogObjType.memberrides);
         log.setResult(Constants.ZERO);
         log.setObjId(model.getId());
+        log.setInfo(logInfo);
         log.setType(Constants.ACTIONLOG_TYPE.FORCE_BACK.getKey());
         log.setContent(Constants.ACTIONLOG_TYPE.FORCE_BACK.getInfo());
         log.setTitle(Constants.ACTIONLOG_TYPE.FORCE_BACK.getName());
@@ -423,7 +434,52 @@
         actionLogMapper.insert(log);
 
     }
+    /**
+     *  濡傛灉鏄數杞︼紝璇锋眰web绔帴鍙e叧闂溅杈嗕俊鎭�
+     */
+    private Bikes sendCloseElecBikeRequest(String bikeCode,int type) {
+        Bikes  bike = bikesMapper.selectOne(new QueryWrapper<Bikes>().lambda()
+                .eq(Bikes::getType,Constants.ONE)
+                .eq(Bikes::getIsdeleted,Constants.ZERO)
+                .eq(Bikes::getCode,bikeCode)
+        );
+        if(bike == null){
+            return null;
+        }
+        bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�");
+        if(StringUtils.isNotBlank(bike.getDeviceSn())){
+            try {
+                //璇锋眰鍦板潃
+                String url = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ELEC_BIKE_CONTRIL_API_URL).getCode();
+                JSONObject param = new JSONObject();
+                param.put("clientId",StringTools.leftTrip(bike.getDeviceSn(),'0'));
+                param.put("type",type);//0寮�閿� 1鍏抽攣
+                String res = HttpsUtil.postJsonString(url,param.toJSONString());
+                JSONObject json = JSONObject.parseObject(res);
+                if(json.get("code").equals("200")){
+                    //鍙戣捣鎸囦护鎴愬姛
+                    bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣鎴愬姛锛�");
+                }else{
+                    bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�"+json.get("msg"));
+                }
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }else{
+            bike.setInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触,鏈粦瀹氭帶鍒跺櫒sn锛�");
+        }
+        bikesMapper.updateById(bike);
+        return bike;
+    }
 
+    public static void main(String[] args) {
+        String url = "http://localhost:10025/jtt808/device/8500";
+        JSONObject param = new JSONObject();
+        param.put("clientId",StringTools.leftTrip("0067244400211",'0'));
+        param.put("type",0);//0寮�閿� 1鍏抽攣
+        String res = HttpsUtil.postJsonString(url,param.toJSONString());
+        System.out.println(res);
+    }
     public ConcurrentMap<String,Integer> cacheOpenLock = new ConcurrentReferenceHashMap<>();
 
     @Override

--
Gitblit v1.9.3