From aa6febca297b0e1a68b1877fc9f41885e9fc0c7a Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期一, 16 十月 2023 15:56:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 34 insertions(+), 25 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 1c391aa..77ee27d 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
@@ -36,6 +36,7 @@
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -74,10 +75,13 @@
     @Autowired
     private SitesMapper sitesMapper;
     @Autowired
+    private BaseParamMapper baseParamMapper;
+    @Autowired
     private BikesMapper bikesMapper;
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
+    @Lazy
     private GoodsorderService goodsorderService;
 
 
@@ -438,30 +442,14 @@
             memberRides.setRentSiteId(locks.getSiteId());
             memberRides.setRentLockId(locks.getId());
             memberRides.setOrdreId(goodsorder.getId());
+            memberRides.setRentDate(new Date());
             memberRides.setBalance(new BigDecimal(systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.RENT_DEPOSIT).getCode()));
             memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.LOCKING.getKey());
             memberRides.setCloseStatus(Constants.ZERO);
 
-            //涓存椂浣跨敤
-            Bikes bikes = bikesMapper.selectById(locks.getBikeCode());
-            if (Objects.isNull(bikes)) {
-                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鏈煡璇㈠埌鑷杞︿俊鎭�");
-            }
-            memberRides.setBikeCode(bikes.getId());
-            memberRides.setParamId(bikes.getParamId());
-            memberRides.setRentSiteId(locks.getSiteId());
-            memberRides.setRentLockId(locks.getId());
-            memberRides.setRentDate(new Date());
-            memberRides.setBasePrice(new BigDecimal(3990L));
-            memberRides.setBaseTime(1800);
-            memberRides.setUnitTime(600);
-            memberRides.setUnitPrice(new BigDecimal(1000L));
-
             memberRidesMapper.insert(memberRides);
             BeanUtils.copyProperties(memberRides, memberRidesDetailResponse);
         }
-
-
         return memberRidesDetailResponse;
     }
 
@@ -491,7 +479,8 @@
             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), " 璇ヨ溅鍨嬫殏鏃朵笉鑳藉�熻溅鎿嶄綔鍝︼紝璇锋洿鎹㈠叾浠栬溅鍨嬮噸璇曞摝锛�");
         }
         QueryWrapper<PricingDetail> detail = new QueryWrapper<>();
-        detail.lambda().eq(PricingDetail::getPricePramId,bike.getParamId());
+        detail.lambda().eq(PricingDetail::getBikeTypeId,bike.getParamId());
+        detail.lambda().eq(PricingDetail::getPricePramId,pp.getId());
         detail.lambda().eq(PricingDetail::getIsdeleted,Constants.ZERO);
         detail.lambda().last(" limit 1" ) ;
         //鏌ヨ浼樺厛绾ф渶楂橈紙鎺掑簭鐮佹渶灏忕殑锛夊彲鐢ㄩ厤浠锋柟妗�
@@ -503,6 +492,11 @@
         Holidays holidays = new Holidays();
         holidays.setHoliday(nowDate);
         holidays.setIsdeleted(Constants.ZERO);
+        memberRides.setBikeCode(bike.getCode());
+        memberRides.setParamId(bike.getParamId());
+        bike.setLastRentDate(new Date());
+        bike.setStatus(Constants.ONE);
+        bikesMapper.updateById(bike);
         //妫�鏌ユ槸鍚﹁妭鍋囨棩
         if(holidaysMapper.selectCount(new QueryWrapper<>(holidays)) >0){
             //濡傛灉鏄妭鍋囨棩
@@ -531,7 +525,6 @@
         MemberRidesDetailResponse memberRidesDetailResponse = new MemberRidesDetailResponse();
         BeanUtils.copyProperties(memberRides,memberRidesDetailResponse);
         return memberRidesDetailResponse;
-
     }
 
     /**
@@ -548,7 +541,6 @@
         Locks model = dealLockAndSite(locks);
         //杞﹁締璁板綍
         Bikes bikes = dealBikesByParam(model);
-
         //鐘舵�侊紝0闂悎, 1鎵撳紑锛�2杩愯涓�, 3寮傚父
         if(model.getStatus() == Constants.LockStatus.open){
             //濡傛灉鏄紑閿佷笟鍔★紝鍒ゆ柇鏄惁鏈夊紑閿佷腑鐨勪俊鎭�
@@ -596,9 +588,28 @@
 
     }
 
-    //TODO-----JP------------鏍规嵁杞﹁締code鍒嗘瀽杞﹁締绫诲瀷锛屽緟纭鏂规-------------------
+    /**
+     -----------鏍规嵁杞﹁締code鍒嗘瀽杞﹁締绫诲瀷锛屽緟纭鏂规-------------------
+     *
+     */
     private String getBileTypeByCode(String bikeCode) {
-        return null;
+//      int temp=1+(int)(Math.random()*(8));
+        if(StringUtils.isBlank(bikeCode)){
+            return  null;
+        }
+        String type = bikeCode.substring(0,1);
+        if("1,2,3,4,5,6,7,8".contains(type)){
+            return null;
+        }
+        BaseParam param = new BaseParam();
+        param.setIsdeleted(Constants.ZERO);
+        param.setType(Constants.THREE);
+        param.setSortnum(Integer.parseInt(type));
+        param = baseParamMapper.selectOne(new QueryWrapper<>(param).lambda().last("limit 1" ));
+        if(param == null){
+            return  null;
+        }
+        return param.getId();
     }
 
     private Locks dealLockAndSite(Locks locks) {
@@ -617,7 +628,6 @@
             //鏂板閿佸ご
             sitesMapper.insert(sites);
         }
-
         if(model == null){
             //濡傛灉閿佸ご涓嶅瓨鍦紝鍒ゆ柇瀛樺偍
             model = new Locks();
@@ -639,7 +649,6 @@
             model.setBikeCode(locks.getBikeCode());
             model.setStatus(locks.getStatus());
             locksMapper.update(null, new QueryWrapper<>(model));
-
         }
         model.setSites(sites);
         return  model;
@@ -653,7 +662,7 @@
     @Override
     public  int mqttCloseBikeEvent(MemberRides bikes){
         //鍏嶈垂楠戣鏃堕暱鏌ヨ锛屾暟鎹瓧鍏搁厤缃�
-        if(StringUtils.isBlank(bikes.getBikeCode()) ||StringUtils.isBlank(bikes.getRentLockId())){
+        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<>();

--
Gitblit v1.9.3