From 3139292bd5e958ec735778a9ecc4b4fdef814fa8 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 21 二月 2025 09:02:05 +0800
Subject: [PATCH] 111

---
 server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java        |   11 +++
 server/web/src/main/java/com/doumee/api/web/BusinessApi.java                                |   52 +++++++++++++++++
 server/services/src/main/java/com/doumee/service/business/GoodsorderService.java            |    2 
 server/services/src/main/resources/application-dev.yml                                      |    4 
 server/services/src/main/java/com/doumee/service/business/SitesService.java                 |    2 
 server/services/src/main/java/com/doumee/service/business/BikesService.java                 |    2 
 server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java        |   14 ++++
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java  |    9 ++
 server/platform/src/main/java/com/doumee/task/ScheduleTool.java                             |   13 ++++
 server/services/src/main/java/com/doumee/dao/business/web/response/HomeResponse.java        |    5 +
 server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java                   |   31 ++++++----
 server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java |    3 +
 server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java   |   24 ++++++-
 13 files changed, 147 insertions(+), 25 deletions(-)

diff --git a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
index b6b5774..4682063 100644
--- a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -68,8 +68,11 @@
         //鍓嶄竴澶╃殑鏁告摎
         Date ydate = DateUtil.addDaysToDate(new Date(), -1);
         wxBillService.getWxBill(ydate);
-
     }
+
+
+
+
     /**
      * 娓│
      * @throws Exception
@@ -172,4 +175,12 @@
     }
 
 
+    @Scheduled(fixedDelay = 1000L * 60L )
+    public void autCancelGoodsOrder(){
+        log.info("=====================寮�濮� 鑷嫊鍙栨秷鏈敮浠樿鍗曠姸鎬�=======================");
+        goodsorderService.autoCancelRefunOrder();;
+        log.info("=====================缁撴潫 鑷嫊鍙栨秷鏈敮浠樿鍗曠姸鎬�=======================");
+    }
+
+
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/response/HomeResponse.java b/server/services/src/main/java/com/doumee/dao/business/web/response/HomeResponse.java
index 02081f8..d1a0e73 100644
--- a/server/services/src/main/java/com/doumee/dao/business/web/response/HomeResponse.java
+++ b/server/services/src/main/java/com/doumee/dao/business/web/response/HomeResponse.java
@@ -68,4 +68,9 @@
     @ApiModelProperty(value = "鐑攢濂楅")
     private List<Discount> discountList;
 
+    @ApiModelProperty(value = "鐢佃溅杩愯惀鍖哄煙")
+    private String eleBusinessArea;
+
+
+
 }
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java b/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java
index a9fb0b5..83f5279 100644
--- a/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java
+++ b/server/services/src/main/java/com/doumee/dao/business/web/response/MemberRidesResponse.java
@@ -72,6 +72,9 @@
     @ApiModelProperty(value = "楠戣璁板綍涓婚敭")
     private String rideId;
 
+    @ApiModelProperty(value = "杞﹁締绫诲瀷")
+    private String bikeTypeName;
+
     @ApiModelProperty(value = "濂楅鍗′俊鎭�")
     private DiscountMember discountMember;
 
diff --git a/server/services/src/main/java/com/doumee/service/business/BikesService.java b/server/services/src/main/java/com/doumee/service/business/BikesService.java
index 9aaf144..c478900 100644
--- a/server/services/src/main/java/com/doumee/service/business/BikesService.java
+++ b/server/services/src/main/java/com/doumee/service/business/BikesService.java
@@ -100,4 +100,6 @@
     PageData<Bikes> findJoinPage(PageWrap<Bikes> pageWrap);
 
     void updateByJtt( Bikes m);
+
+    List<Bikes> getEleBikes();
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java b/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
index ff655b5..91f0931 100644
--- a/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
+++ b/server/services/src/main/java/com/doumee/service/business/GoodsorderService.java
@@ -5,6 +5,7 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.dao.business.model.Bikes;
+import com.doumee.dao.business.model.DiscountMember;
 import com.doumee.dao.business.model.Goodsorder;
 import com.doumee.dao.business.model.MemberRides;
 import com.doumee.dao.business.vo.GoodsorderExportVO;
@@ -208,4 +209,5 @@
 
     void autoCancelRefunOrder();
 
+    DiscountMember getUseDiscount(String memberId, Integer driveTime);
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/SitesService.java b/server/services/src/main/java/com/doumee/service/business/SitesService.java
index 3014b14..234750e 100644
--- a/server/services/src/main/java/com/doumee/service/business/SitesService.java
+++ b/server/services/src/main/java/com/doumee/service/business/SitesService.java
@@ -118,4 +118,6 @@
 
 
     void dealSiteLocks(Sites sites);
+
+    List<Sites> getSiteList(Integer type);
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java
index 76469d4..e0a6288 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java
@@ -423,4 +423,18 @@
         bike.setType(Constants.ONE);//鍙兘鏂板鐢佃溅鏁版嵁
         return  bike;
     }
+
+
+    @Override
+    public List<Bikes> getEleBikes() {
+        return bikesMapper.selectList(new QueryWrapper<Bikes>()
+                .lambda().eq(Bikes::getIsdeleted,Constants.ZERO)
+                .eq(Bikes::getType,Constants.ONE)
+                .eq(Bikes::getStatus,Constants.ZERO)
+                .isNotNull(Bikes::getLatitude)
+                .isNotNull(Bikes::getLongitude)
+        );
+    }
+
+
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
index cf6ecb1..6e4d091 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -375,6 +375,7 @@
         homeResponse.setIsStopServe(this.checkTemporaryStop()?1:0);
         homeResponse.setIsBusiness(this.checkBusiness()?0:1);
         homeResponse.setUnBusinessTips("钀ヤ笟鏃堕棿涓�"+ systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.BUSINESS_STARTTIME).getCode() +" ~ "+systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.BUSINESS_ENDTIME).getCode()+"锛岃鍦ㄨ惀涓氭椂闂村唴浣跨敤鏈郴缁�");
+        homeResponse.setEleBusinessArea(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.PARK_LAT_LNG_LIST).getCode());
 
         homeResponse.setAdList(adMapper.selectList(new QueryWrapper<Ad>()
                 .eq("isdeleted",Constants.ZERO)
@@ -404,6 +405,7 @@
         Goodsorder goodsorder = this.goodsorderMapper.selectOne(new QueryWrapper<Goodsorder>()
                 .eq("member_id",memberId)
                 .eq("status",Constants.goodsorderStatus.pay)
+                .eq("type",0)
                 .last(" limit 1 "));
         homeResponse.setDepositStatus(Constants.ZERO);
         if(goodsorder!=null){
@@ -672,6 +674,7 @@
         update.setCloseDate(new Date());
         update.setCloseInfo(Constants.REFUND_TYPE.get(type).getInfo());
         update.setCloseUserId(goodsorder.getEditor());
+        update.setType(Constants.ZERO);
         if(Constants.REFUND_TYPE.PLAT_FORCE.getKey() == type){
             //濡傛灉鏄己鍒剁粨绠�
             update.setCloseType(Constants.ONE);
@@ -832,7 +835,6 @@
             if(discountMember.getSurplusTime() >= durationSum){
                 discountLog.setRideTime(durationSum);
                 discountLog.setRidePrice(closeMoney);
-                discountLogMapper.insert(discountLog);
                 topRides.setActualPrice(BigDecimal.ZERO);
                 closeMoney = BigDecimal.ZERO;
             }else{
@@ -1118,6 +1120,7 @@
         qry.setStatus(Constants.goodsorderStatus.pay);
         qry.setMemberId(memberId);
         qry.setIsdeleted(Constants.ZERO);
+        qry.setType(Constants.ZERO);
         if(goodsorderMapper.selectCount(new QueryWrapper<>(qry))>Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸叉敮浠樿繃瀹氶噾锛屾棤娉曢噸澶嶈鎿嶄綔");
         }
@@ -1512,6 +1515,7 @@
      * 鑾峰彇褰撳墠鍙娇鐢ㄧ殑濂楅
      * @param memberId
      */
+    @Override
     public DiscountMember getUseDiscount(String memberId,Integer driveTime){
         String today = DateUtil.getToday();
         //鍒ゆ柇浠婂ぉ鏄惁涓鸿妭鍋囨棩
@@ -1522,12 +1526,12 @@
         Integer holiday = holidaysMapper.selectCount(new QueryWrapper<>(holidays))>0?1:0;
         List<DiscountMember> discountMemberList = discountMemberMapper.selectJoinList(DiscountMember.class,new MPJLambdaWrapper<DiscountMember>()
                 .selectAll(DiscountMember.class)
-                .select(" select sum(d.ride_time) from discount_log d  where and d.discount_member_id = discount_member.id " +
-                        "and  d.isdeleted = 0 and  d.type = 0 and   EXTRACT(DAY FROM d.create_date) = EXTRACT(DAY FROM CURRENT_DATE) " , DiscountMember::getUseTime)//鏌ヨ浠婃棩宸蹭娇鐢ㄦ椂闂�
+                .select(" ( select sum(d.ride_time) from discount_log d  where  d.discount_member_id = t.id " +
+                        "and  d.isdeleted = 0 and  d.type = 0 and   EXTRACT(DAY FROM d.create_date) = EXTRACT(DAY FROM CURRENT_DATE) ) " , DiscountMember::getUseTime)//鏌ヨ浠婃棩宸蹭娇鐢ㄦ椂闂�
                 .eq(DiscountMember::getStatus,Constants.ZERO)
                 .eq(DiscountMember::getMemberId,memberId)
-                .ge(DiscountMember::getUseStartDate, Utils.Date.getStart(DateUtil.stringToDate(today,"yyyy-MM-dd")))
-                .le(DiscountMember::getUseEndDate, Utils.Date.getEnd(DateUtil.stringToDate(today,"yyyy-MM-dd")))
+                .le(DiscountMember::getUseStartDate, Utils.Date.getStart(DateUtil.stringToDate(today,"yyyy-MM-dd")))
+                .ge(DiscountMember::getUseEndDate, Utils.Date.getEnd(DateUtil.stringToDate(today,"yyyy-MM-dd")))
                 .eq(Constants.equalsInteger(holiday,Constants.ONE),DiscountMember::getUseHoliday,Constants.ONE)
                 .orderByDesc(DiscountMember::getLimitType)
                 .orderByDesc(DiscountMember::getLimitTime)
@@ -1579,4 +1583,14 @@
     }
 
 
+
+    public void autCancel(){
+        goodsorderMapper.update(null,new UpdateWrapper<Goodsorder>().lambda()
+                .set(Goodsorder::getStatus,Constants.GOODSORDER_STATUS.CANCEL.getKey())
+                    .set(Goodsorder::getEditDate,DateUtil.getCurrDateTime())
+                .eq(Goodsorder::getStatus,Constants.GOODSORDER_STATUS.UN_PAY.getKey())
+                .apply(" NOW() >= create_date  + INTERVAL '30 min'  ")
+        );
+    }
+
 }
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 9967282..9608680 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
@@ -497,6 +497,7 @@
             Goodsorder goodsorder = goodsorderService.findOneByWrapper(new QueryWrapper<Goodsorder>()
                     .eq("isdeleted", Constants.ZERO)
                     .eq("status", Constants.goodsorderStatus.pay)
+                    .eq("type", Constants.ZERO)
                     .eq("member_id", memberId)
                     .orderByDesc("create_date")
                     .last("limit 1"));
@@ -708,8 +709,9 @@
         }
         Integer bikeType = Constants.ZERO;
         //鏍规嵁鍓嶇紑鍖哄垎鏄惁涓虹數杞︿簩缁寸爜
-        if(code.startsWith(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.ELECTRICITY_PREFIX).getCode())){
+        if(code.startsWith(Constants.EBIKE_PREFIX)){
             bikeType = Constants.ONE;
+            code = code.replaceFirst(Constants.EBIKE_PREFIX,"");
         }
         MemberRidesResponse memberRidesResponse = new MemberRidesResponse();
         Bikes bike= new Bikes();
@@ -768,9 +770,10 @@
         if(Objects.isNull(baseParam)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"褰撳墠杞﹁締绫诲瀷鏃犳硶绉熻祦锛岃鑱旂郴绠$悊鍛橈紒");
         }
+        memberRidesResponse.setBikeCode(bike.getCode());
+        memberRidesResponse.setBikeTypeName(baseParam.getName());
         MemberRides memberRides = new MemberRides();
         this.dealMemberRidesData(baseParam.getId(),memberRides);
-        memberRidesResponse.setBikeCode(memberRides.getBikeCode());
         memberRidesResponse.setBasePrice(memberRides.getBasePrice());
         memberRidesResponse.setBaseTime(memberRides.getBaseTime());
         memberRidesResponse.setUnitTime(memberRides.getUnitTime());
@@ -779,6 +782,8 @@
                 memberRidesResponse.getBasePrice(),memberRidesResponse.getBaseTime(),
                 memberRidesResponse.getUnitPrice()
                 ,memberRidesResponse.getUnitTime()));
+        //鏌ヨ褰撳墠鐨勯獞琛屽椁�
+        memberRidesResponse.setDiscountMember(goodsorderService.getUseDiscount(memberId,Constants.ZERO));
         return memberRidesResponse;
     }
 
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
index 16858f4..a27bae7 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/SitesServiceImpl.java
@@ -349,7 +349,14 @@
                     }
                 }
         }
-
-
     }
+
+    @Override
+    public List<Sites> getSiteList(Integer type){
+        return sitesMapper.selectList(new QueryWrapper<Sites>().lambda()
+                .eq(Sites::getIsdeleted,Constants.ZERO)
+                .eq(Sites::getStatus,Constants.ZERO)
+                .eq(Objects.nonNull(type),Sites::getType,type));
+    }
+
 }
diff --git a/server/services/src/main/resources/application-dev.yml b/server/services/src/main/resources/application-dev.yml
index fc383d4..c481f6a 100644
--- a/server/services/src/main/resources/application-dev.yml
+++ b/server/services/src/main/resources/application-dev.yml
@@ -50,8 +50,8 @@
     apiV3Key: iF3kC8pL8dZ9iU3hN5fX9zI6eF4xQ6fT
     serialNumer: 368B835A194384FD583B83B77977B84127D2F655
     mchKey: W97N53Q71326D6JZ2E9HY5M4VT4BAC8S
-    notifyUrl: http://xiaopiqiu2.natapp1.cc/api/wxPayNotify
-    refundNotifyUrl: http://xiaopiqiu2.natapp1.cc/api/wxRefundNotify
+    notifyUrl: http://xiaopiqiu3.natapp1.cc/api/wxPayNotify
+    refundNotifyUrl: http://xiaopiqiu3.natapp1.cc/api/wxRefundNotify
 #    notifyUrl: https://dmtest.ahapp.net/bike_h5_api/api/wxPayNotify
     keyPath: D://apiclient_cert.p12
     privateCertPath: D://apiclient_cert.pem
diff --git a/server/web/src/main/java/com/doumee/api/web/BusinessApi.java b/server/web/src/main/java/com/doumee/api/web/BusinessApi.java
index e4e531a..1c5ee93 100644
--- a/server/web/src/main/java/com/doumee/api/web/BusinessApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/BusinessApi.java
@@ -73,6 +73,12 @@
     @Autowired
     private DiscountService discountService;
 
+    @Autowired
+    private SitesService  sitesService;
+
+    @Autowired
+    private BikesService bikesService;
+
     @PreventRepeat
     @LoginRequired
     @ApiOperation(value = "鎶奸噾鏀粯", notes = "灏忕▼搴忕")
@@ -93,7 +99,7 @@
             @ApiImplicitParam(paramType = "query", dataType = "String", name = "discountId", value = "濂楅涓婚敭", required = true)
     })
     public ApiResponse<Object> createDiscountOrderPay(@RequestParam String discountId) {
-        return  ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.createDiscountOrderPay(discountId,getMemberId()));
+        return  ApiResponse.success("鎿嶄綔鎴愬姛",goodsorderService.createDiscountOrderPay(getMemberId(),discountId));
     }
 
 
@@ -120,6 +126,38 @@
         rentSite.setIsdeleted(Constants.ZERO);
         rentSite.setStatus(Constants.ZERO);
         return  ApiResponse.success("鏌ヨ鎴愬姛",rentSiteService.findList(rentSite));
+    }
+
+    @LoginRequired
+    @ApiOperation(value = "鐢靛姩杞︾珯鐐瑰垪琛�", notes = "灏忕▼搴忕")
+    @GetMapping("/eleSiteList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<List<Sites>> eleSiteList() {
+        return  ApiResponse.success("鏌ヨ鎴愬姛",sitesService.getSiteList(Constants.ONE));
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "鏌ヨ鎵�鏈夌數鍔ㄨ溅淇℃伅", notes = "灏忕▼搴忕")
+    @GetMapping("/eleBikeList")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<List<Bikes>> eleBikeList() {
+        return  ApiResponse.success("鏌ヨ鎴愬姛",bikesService.getEleBikes());
+    }
+
+
+    @LoginRequired
+    @ApiOperation(value = "鑾峰彇鐢靛姩杞﹁繍钀ュ尯鍩�", notes = "灏忕▼搴忕")
+    @GetMapping("/getEleBusinessArea")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true)
+    })
+    public ApiResponse<String> getEleBusinessArea() {
+        return  ApiResponse.success("鏌ヨ鎴愬姛",systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.PARK_LAT_LNG_LIST).getCode());
     }
 
     @LoginRequired
@@ -260,6 +298,9 @@
     @LoginRequired
     @ApiOperation(value = "鐢佃溅绔欑偣杩樿溅", notes = "鐢佃溅绔欑偣杩樿溅")
     @PostMapping("/backElecBike")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
     public ApiResponse backElecBike(@RequestBody BackElecBikeRequest param) {
         param.setMemberId(getMemberId());
         jtt808Service.backElecBike(param);
@@ -269,6 +310,9 @@
     @LoginRequired
     @ApiOperation(value = "鐢佃溅涓存椂鍋滆溅", notes = "鐢佃溅涓存椂鍋滆溅")
     @PostMapping("/pauseElecBike")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
     public ApiResponse pauseElecBike(@RequestBody BackElecBikeRequest param) {
         param.setMemberId(getMemberId());
         jtt808Service.pauseElecBike(param);
@@ -279,6 +323,9 @@
     @LoginRequired
     @ApiOperation(value = "鐢佃溅寮�閿�", notes = "鐢佃溅寮�閿�")
     @PostMapping("/openElecBike")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
     public ApiResponse openElecBike(@RequestBody OpenElecBikeRequest param) {
         param.setMemberId(getMemberId());
         jtt808Service.openLock(param);
@@ -288,6 +335,9 @@
     @LoginRequired
     @ApiOperation(value = "涓村仠寮�閿�", notes = "涓村仠寮�閿�")
     @PostMapping("/pauseOpenElecBike")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
     public ApiResponse pauseOpenElecBike(@RequestBody BackElecBikeRequest param) {
         param.setMemberId(getMemberId());
         jtt808Service.pauseOpenElecBike(param);
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