From d06c577a634528b11bc4b83c2769f48992913cad Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 30 十月 2023 09:07:30 +0800
Subject: [PATCH] 修复bug

---
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 46 insertions(+), 4 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 2ed0440..cb690aa 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
@@ -217,8 +217,12 @@
                 .leftJoin(BaseParam.class,BaseParam::getId,MemberRides::getParamId)
                 .like(StringUtils.isNotBlank(model.getOpenid()),Member::getOpenid,model.getOpenid())
                 .like(StringUtils.isNotBlank(model.getBikeCode()),MemberRides::getBikeCode,model.getBikeCode());
-        queryWrapper.ge(model.getRentDateStart()!=null, MemberRides::getRentDate,model.getRentDateStart());
-        queryWrapper.le(model.getRentDateEnd()!=null, MemberRides::getRentDate,model.getRentDateEnd());
+        if (Objects.nonNull(model.getStartDate())) {
+            queryWrapper.ge(MemberRides::getRentDate, Utils.Date.getStart(model.getStartDate()));
+        }
+        if (Objects.nonNull(model.getEndDate())) {
+            queryWrapper.le(MemberRides::getRentDate, Utils.Date.getStart(model.getEndDate()));
+        }
         queryWrapper.eq(model.getCloseStatus()!=null,MemberRides::getCloseStatus, model.getCloseStatus());
         queryWrapper.eq(model.getStatus()!=null,MemberRides::getStatus, model.getStatus());
         queryWrapper.eq(model.getGoodsorderId()!=null,MemberRides::getOrdreId, model.getGoodsorderId());
@@ -299,7 +303,7 @@
         log.setActInfo(memberRides.getBackInfo());
         log.setActReason(memberRides.getBackReason());
         log.setIsdeleted(Constants.ZERO);
-        log.setCreateDate(update.getBackDate());
+        log.setCreateDate(new Date());
         log.setCreator(user.getId());
         log.setBeforeContent(beforeContent);
         log.setAfterContent(after);
@@ -383,7 +387,7 @@
         ActionLog log = new ActionLog();
         log.setId(Constants.getUUID());
         log.setIsdeleted(Constants.ZERO);
-        log.setCreateDate(update.getBackDate());
+        log.setCreateDate(new Date());
         log.setCreator(user.getId());
         log.setBeforeContent(beforeContent);
         log.setAfterContent(after);
@@ -580,6 +584,27 @@
         return 0;
     }
 
+
+    @Override
+    public void autoRefreshLockStatus() {
+
+        QueryWrapper<MemberRides> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(MemberRides::getStatus,Constants.MEMBER_RIDES_STATUS.LOCKING.getKey())
+                .eq(MemberRides::getIsdeleted,Constants.ZERO);
+        List<MemberRides> memberRides = memberRidesMapper.selectList(wrapper);
+        if (!CollectionUtils.isEmpty(memberRides)){
+            memberRides.forEach(s->{
+                Integer between = DateUtil.between(s.getCreateDate(), new Date());
+                // 澶т簬闃堝��
+                if (between > 2){
+                    s.setStatus(Constants.MEMBER_RIDES_STATUS.LOCKING_DEFEAT.getKey());
+                    memberRidesMapper.updateById(s);
+                }
+            });
+        }
+    }
+
     private Bikes dealBikesByParam(Locks model) {
         if(StringUtils.isNotBlank(model.getBikeCode())){
             UpdateWrapper<Bikes> updateWrapper = new UpdateWrapper<>();
@@ -653,6 +678,7 @@
         Date date =new Date();
         //妫�鏌ョ珯鐐逛俊鎭紝涓嶅瓨鍦ㄥ垯鏂板
         Sites sites = sitesMapper.selectById(locks.getSiteId());
+
         if(sites == null){
             sites = new Sites();
             sites.setIsdeleted(Constants.ZERO);
@@ -666,6 +692,15 @@
             //鏂板閿佸ご
             sitesMapper.insert(sites);
         }
+        if(StringUtils.isNotBlank(locks.getBikeCode())){
+            UpdateWrapper<Locks> updateWrapper = new UpdateWrapper<>();
+            updateWrapper.lambda().set(Locks::getBikeCode, null );
+            updateWrapper.lambda().set(Locks::getEditDate, new Date() );
+            updateWrapper.lambda().eq(Locks::getBikeCode, locks.getBikeCode() );
+            //娓呯┖鍘熸潵鐨勮嚜琛岃溅缁戝畾鍏崇郴
+            locksMapper.update(null, updateWrapper);
+        }
+
         if(model == null){
             //濡傛灉閿佸ご涓嶅瓨鍦紝鍒ゆ柇瀛樺偍
             model = new Locks();
@@ -678,6 +713,13 @@
             model.setCreateDate(date);
             model.setStatus(locks.getStatus());
             locksMapper.insert(model);
+            //鏇存柊 绔欑偣閿佸ご鏁伴噺
+            if(Objects.nonNull(sites)){
+                Sites sites1 = new Sites();
+                sites1.setId(sites.getId());
+                sites1.setLockNum(sites.getLockNum()+1);
+                sitesMapper.updateById(sites1);
+            }
         }else{
             UpdateWrapper<Locks> updateWrapper = new UpdateWrapper<Locks>();
             updateWrapper.lambda().eq(Locks::getCode, locks.getCode() );

--
Gitblit v1.9.3