From 1147614053efae0314a36c15293a6a5ed4e6d737 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 21 二月 2025 11:28:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1

---
 server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java b/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
index beef30d..ecf63d4 100644
--- a/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
+++ b/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java
@@ -111,6 +111,7 @@
         Goodsorder gparam = new Goodsorder();
         gparam.setMemberId(param.getMemberId());
         gparam.setStatus(Constants.goodsorderStatus.pay);
+        gparam.setType(Constants.ZERO);
         Goodsorder goodsorder =  goodsorderService.findOne(gparam);
         if(Objects.isNull(goodsorder)){
             throw new BusinessException(ResponseStatus.NO_UNCLOSEED_ORDER.getCode(),"鏃犻獞琛岃鍗曡褰�");
@@ -126,16 +127,21 @@
                 if(Constants.equalsInteger(rides.getStatus(),Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey())
                         &&Constants.equalsInteger(rides.getType(),Constants.ONE)){
                     //濡傛灉鏄數杞﹀苟涓旀槸楠戣涓� 杩涜鍏抽攣澶勭悊
-                    Bikes  bike = getElecBikeByCode(rides.getBikeCode());
-                    //鏌ヨ鍋滆溅绔欑偣淇℃伅
-                    if(bike.getSiteId() ==null){
-                        throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇锋寜瑕佹眰鍓嶅線鍋滆溅鐐瑰仠杞︼紒");
-                    }
-                    lockBikes(bike.getDeviceSn(),Constants.ZERO);//鍙戣捣鍏抽攣鎸囦护璇锋眰
+//                    Bikes  bike = getElecBikeByCode(rides.getBikeCode());
+//                    //鏌ヨ鍋滆溅绔欑偣淇℃伅
+//                    if(bike.getSiteId() ==null){
+//                        throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇锋寜瑕佹眰鍓嶅線鍋滆溅鐐瑰仠杞︼紒");
+//                    }
+//                    lockBikes(bike.getDeviceSn(),Constants.ZERO);//鍙戣捣鍏抽攣鎸囦护璇锋眰
                     backIds.add(rides.getId());
                     rides.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey());//宸茶繕杞�
-                    rides.setBackSiteId(bike.getSiteId());//杩樿溅绔欑偣
+//                    rides.setBackSiteId(bike.getSiteId());//杩樿溅绔欑偣
+
                     rides.setBackDate(new Date());
+                    Integer freeRentTime = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME, Constants.FREE_RENT_TIME).getCode());
+                    Integer rideTime = DateUtil.betweenMin(rides.getRentDate(), rides.getBackDate());
+                    //璁$畻楠戣璁¤垂鏃堕暱
+                    rides.setDuration( rideTime > freeRentTime  ? rideTime : 0 );
                     rides.setEditDate(rides.getBackDate());
                     memberRidesJoinMapper.updateById(rides);//鏇存柊楠戣鐘舵�佷负宸茶繕杞�
                 }
@@ -250,9 +256,9 @@
         if(memberRides ==null || memberRides.getBikeCode() == null){
             throw new BusinessException(ResponseStatus.NO_UNCLOSEED_ORDER.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鎮ㄥ綋鍓嶆湁楠戣涓褰�");
         }
-        Bikes bike = getElecBikeByCode(memberRides.getBikeCode());
-        //鏌ヨ鍋滆溅浣嶇疆鏄惁绗﹀悎鍋滆溅浣嶇疆瑙勮寖
-        checkPausePostionBiz(bike);
+//        Bikes bike = getElecBikeByCode(memberRides.getBikeCode());
+//        //鏌ヨ鍋滆溅浣嶇疆鏄惁绗﹀悎鍋滆溅浣嶇疆瑙勮寖
+//        checkPausePostionBiz(bike);
         memberRides.setPauseDate(new Date());
         memberRides.setEditDate(memberRides.getBackDate());
         memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_PAUSING.getKey());
@@ -373,6 +379,7 @@
             Goodsorder goodsorder = goodsorderService.findOneByWrapper(new QueryWrapper<Goodsorder>()
                     .eq("isdeleted", Constants.ZERO)
                     .eq("status", Constants.goodsorderStatus.pay)
+                    .eq("type", Constants.ZERO)
                     .eq("member_id", member.getId())
                     .orderByDesc("create_date")
                     .last("limit 1"));
@@ -397,7 +404,7 @@
             //鏍规嵁杞﹀瀷鏌ヨ璁′环鏂规
             isValidePricingType(bike,memberRides) ;
             MemberRidesDetailResponse memberRidesDetailResponse = new MemberRidesDetailResponse();
-            this.lockBikes(bike.getDeviceSn(),1);
+//            this.lockBikes(bike.getDeviceSn(),1);
             //瀛樺偍楠戣璁板綍
             memberRides.setId(Constants.getUUID());
             memberRides.setIsdeleted(Constants.ZERO);
@@ -406,7 +413,7 @@
             memberRides.setOrdreId(goodsorder.getId());
             memberRides.setBikeCode(bike.getCode());
             memberRides.setRentDate(new Date());
-            memberRides.setType(Constants.ZERO);
+            memberRides.setType(Constants.ONE);
             memberRides.setBalance(new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.RENT_DEPOSIT).getCode()));
             memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey());
             memberRides.setCloseStatus(Constants.ZERO);

--
Gitblit v1.9.3