From c6faae18b9e8fa2bdf9e00aecac4e8152b09ef76 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期三, 25 十月 2023 10:20:33 +0800
Subject: [PATCH] # 用户禁用

---
 server/services/src/main/java/com/doumee/core/utils/DateUtil.java                          |   10 ++++++++++
 server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java |   21 +++++++++++++++++++++
 server/platform/src/main/java/com/doumee/task/ScheduleTool.java                            |   20 +++++++++++++++++++-
 server/services/src/main/java/com/doumee/service/business/MemberRidesService.java          |    2 ++
 4 files changed, 52 insertions(+), 1 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 e47864a..44151a4 100644
--- a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -7,6 +7,7 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.model.Goodsorder;
 import com.doumee.service.business.GoodsorderService;
+import com.doumee.service.business.MemberRidesService;
 import com.doumee.service.business.WxBillService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +40,10 @@
 
     @Autowired
     private GoodsorderService goodsorderService;
+
+
+    @Autowired
+    private MemberRidesService memberRidesService;
     /**
      * @throws Exception
      */
@@ -53,11 +58,24 @@
      * 娓│
      * @throws Exception
      */
-    @Scheduled(cron = "0 0/1 * * * ?  ")
+    @Scheduled(cron = "0 0 21 * * ? ")
     public void getYesterdayBill() throws Exception {
         log.info("=====================寮�濮嬫瘡澶╄嚜鍔ㄧ粨绠�=======================");
         goodsorderService.autoCloseOrder();
         log.info("=====================缁撴潫姣忓ぉ鑷姩缁撶畻=======================");
 
     }
+
+    /**
+     * 瀹氭椂鍒锋柊楠戣涓殑鏁板厖鍊兼湭寮�閿佸け璐�
+     * 30 绉掑埛鏂颁竴娆�
+     * @throws Exception
+     */
+    @Scheduled(cron = "0/30 * * * * ? ")
+    public void autoRefreshLockStatus() throws Exception {
+        log.info("=====================寮�濮嬫瘡澶╄嚜鍔ㄧ粨绠�=======================");
+        memberRidesService.autoRefreshLockStatus();
+        log.info("=====================缁撴潫姣忓ぉ鑷姩缁撶畻=======================");
+
+    }
 }
diff --git a/server/services/src/main/java/com/doumee/core/utils/DateUtil.java b/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
index 0507d29..dec08d8 100644
--- a/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/services/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -3021,6 +3021,16 @@
         return (int)diff + 1 ;
     }
 
+    public static Integer between(Date begin, Date end) {
+        if(begin ==null ){
+            return  0;
+        }
+        long createTime =begin.getTime();//鑾峰彇鍒涘缓鏃堕棿鐨勬椂闂存埑
+        long currentTime =Objects.isNull(end)?System.currentTimeMillis():end.getTime();//鑾峰彇褰撳墠鏃堕棿鐨勬椂闂存埑
+        long diff=(currentTime-createTime)/1000/60;//鑾峰彇涓や釜鏃堕棿鐩稿樊鐨勫垎閽�
+        return (int)diff;
+    }
+
 
     /**
      * 璁$畻鑰楁椂
diff --git a/server/services/src/main/java/com/doumee/service/business/MemberRidesService.java b/server/services/src/main/java/com/doumee/service/business/MemberRidesService.java
index c9ec41d..bd381c4 100644
--- a/server/services/src/main/java/com/doumee/service/business/MemberRidesService.java
+++ b/server/services/src/main/java/com/doumee/service/business/MemberRidesService.java
@@ -139,4 +139,6 @@
     int mqttCloseBikeEvent(MemberRides bikes);
 
     int mqttLockInfoEvent(Locks locks);
+
+    void autoRefreshLockStatus();
 }
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 4560cf1..415a812 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
@@ -580,6 +580,27 @@
         return 0;
     }
 
+
+    @Override
+    public void autoRefreshLockStatus() {
+
+        QueryWrapper<MemberRides> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(MemberRides::getStatus,Constants.MEMBER_RIDES_STATUS.LOCKING)
+                .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<>();

--
Gitblit v1.9.3