From 4fabfe4dbd2eb28d07a4350597d314958cc1c281 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 09 十月 2025 11:16:43 +0800
Subject: [PATCH] 优化

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java |   69 +++++++++++++++++++++++++++-------
 1 files changed, 55 insertions(+), 14 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 9967282..ec2c3e8 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
@@ -398,7 +398,7 @@
             }
         }else{
             //濡傛灉鏄數杞︼紝璇锋眰web绔帴鍙e叧闂溅杈嗕俊鎭�
-            bike =   sendCloseElecBikeRequest(memberRides.getBikeCode(),Constants.ONE);
+            bike  = sendCloseElecBikeRequest(model.getOrdreId(),memberRides.getBikeCode());
         }
         logInfo = bike!=null?bike.getForceBackInfo():null;
         Integer freeRentTime = Integer.valueOf(collect.get(Constants.FREE_RENT_TIME).getCode());
@@ -438,7 +438,7 @@
     /**
      *  濡傛灉鏄數杞︼紝璇锋眰web绔帴鍙e叧闂溅杈嗕俊鎭�
      */
-    private Bikes sendCloseElecBikeRequest(String bikeCode,int type) {
+    private Bikes sendCloseElecBikeRequest(String goodOrderId,String bikeCode) {
         Bikes  bike = bikesMapper.selectOne(new QueryWrapper<Bikes>().lambda()
                 .eq(Bikes::getType,Constants.ONE)
                 .eq(Bikes::getIsdeleted,Constants.ZERO)
@@ -448,30 +448,62 @@
             return null;
         }
         bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�");
-        if(StringUtils.isNotBlank(bike.getDeviceSn())){
+        if(StringUtils.isNotBlank(bike.getDeviceSn())) {
             try {
                 //璇锋眰鍦板潃
-                String url = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ELEC_BIKE_CONTRIL_API_URL).getCode();
+                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());
+                param.put("id", goodOrderId);
+                String res = HttpsUtil.postJsonString(url, param.toJSONString());
                 JSONObject json = JSONObject.parseObject(res);
-                if(json.get("code").equals("200")){
+                if (json.get("code").equals("200")) {
                     //鍙戣捣鎸囦护鎴愬姛
                     bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣鎴愬姛锛�");
-                }else{
-                    bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�"+json.get("msg"));
+                } else {
+                    bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�" + json.get("msg"));
                 }
-            }catch (Exception e){
+            } catch (Exception e) {
                 e.printStackTrace();
             }
         }else{
             bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触,鏈粦瀹氭帶鍒跺櫒sn锛�");
         }
-        bikesMapper.updateById(bike);
         return bike;
     }
+//    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.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�");
+//        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.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣鎴愬姛锛�");
+//                }else{
+//                    bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触锛�"+json.get("msg"));
+//                }
+//            }catch (Exception e){
+//                e.printStackTrace();
+//            }
+//        }else{
+//            bike.setForceBackInfo("寮哄埗杩樿溅鍏抽棴杞﹂攣澶辫触,鏈粦瀹氭帶鍒跺櫒sn锛�");
+//        }
+//        bikesMapper.updateById(bike);
+//        return bike;
+//    }
 
     public static void main(String[] args) {
         String url = "http://localhost:10025/jtt808/device/8500";
@@ -497,6 +529,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 +741,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();
@@ -759,6 +793,9 @@
             if(Objects.isNull(bike)){
                 throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"璇锋壂鎻忔纭殑杞﹁締鐮侊細銆愭湭鏌ヨ鍒拌溅杈嗕俊鎭��");
             }
+            if(!Constants.equalsInteger(bike.getStatus(),Constants.ZERO)){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ヨ溅杈嗗凡琚攣瀹氬�熺敤锛岃灏濊瘯鏇存崲鍏朵粬杞﹁締锛�");
+            }
             if(StringUtils.isBlank(bike.getParamId())){
                 throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"杞﹁締绫诲瀷寮傚父锛岃鑱旂郴绠$悊鍛橈紒");
             }
@@ -768,9 +805,11 @@
         if(Objects.isNull(baseParam)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"褰撳墠杞﹁締绫诲瀷鏃犳硶绉熻祦锛岃鑱旂郴绠$悊鍛橈紒");
         }
+        memberRidesResponse.setBikeCode(bike.getCode());
+        memberRidesResponse.setBikeType(baseParam.getName());
+        memberRidesResponse.setRidesType(bikeType);
         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 +818,8 @@
                 memberRidesResponse.getBasePrice(),memberRidesResponse.getBaseTime(),
                 memberRidesResponse.getUnitPrice()
                 ,memberRidesResponse.getUnitTime()));
+        //鏌ヨ褰撳墠鐨勯獞琛屽椁�
+        memberRidesResponse.setDiscountMember(goodsorderService.getUseDiscount(memberId,Constants.ZERO,bikeType));
         return memberRidesResponse;
     }
 

--
Gitblit v1.9.3