From a7fef2846505b08e0711345b17902e7381612d23 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期二, 25 三月 2025 14:02:16 +0800
Subject: [PATCH] 查询锁的蓝牙开启时间段记录添加area_path

---
 src/main/java/com/whyc/service/LockAlarmService.java |   70 ++++++++++++++++++++++++++++++++---
 1 files changed, 64 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/whyc/service/LockAlarmService.java b/src/main/java/com/whyc/service/LockAlarmService.java
index de92ba9..1787bee 100644
--- a/src/main/java/com/whyc/service/LockAlarmService.java
+++ b/src/main/java/com/whyc/service/LockAlarmService.java
@@ -1,33 +1,91 @@
 package com.whyc.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.whyc.dto.Response;
 import com.whyc.mapper.LockAlarmMapper;
+import com.whyc.mapper.LockInfMapper;
+import com.whyc.pojo.db_area.LockInf;
 import com.whyc.pojo.db_lock_alarm.LockAlarm;
+import com.whyc.util.ActionUtil;
+import com.whyc.util.ThreadLocalUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.RequestParam;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class LockAlarmService {
     @Autowired(required = false)
     private LockAlarmMapper mapper;
+
+    @Autowired(required = false)
+    private LockInfMapper linfMapper;
+
+    @Autowired
+    private AreaInfService areaInfService;
     //鏌ヨ閿佸疄鏃跺憡璀︿俊鎭�
-    public Response getLockAlm(Integer lockId, Integer almId,int pageNum,  int pageSize) {
+    public Response getLockAlm(Integer areaId, String almIds,Integer confirmFlag,int pageNum,  int pageSize) {
         PageHelper.startPage(pageNum,pageSize);
         QueryWrapper wrapper=new QueryWrapper();
-        if(lockId!=null){
-            wrapper.eq("lock_id",lockId);
+        if(areaId!=null){
+            List<Integer> areaList=new ArrayList();
+            areaList.add(areaId);
+            areaInfService.getAllAreaId(areaId,areaList);
+            if(areaList!=null){
+                QueryWrapper wrapper1=new QueryWrapper();
+                wrapper1.in("area_id",areaList);
+                List<LockInf> lockInfList=linfMapper.selectList(wrapper1);
+                List<Integer> lockIdList = lockInfList.stream()
+                        .map(LockInf::getLockId) // 鎻愬彇id鍊�
+                        .collect(Collectors.toList()); // 杞崲涓哄垪琛�*/
+                wrapper.in("lock_id",lockIdList);
+            }
         }
-        if(almId!=null){
-            wrapper.eq("alm_id",almId);
+        if(almIds!=null){
+            String[] almId=almIds.split(",");
+            wrapper.in("alm_id",almId);
+        }
+        if(confirmFlag!=null){
+            wrapper.eq("alm_is_confirmed",confirmFlag);
         }
         List<LockAlarm> list=mapper.selectList(wrapper);
+        for (LockAlarm alm:list) {
+            LockInf linf=linfMapper.getlinfBylockId(alm.getLockId());
+            alm.setLinf(linf);
+        }
         PageInfo pageInfo=new PageInfo(list);
         return new Response().setII(1,list!=null,pageInfo,"鏌ヨ閿佸疄鏃跺憡璀︿俊鎭�");
     }
+    //纭鍛婅
+    public Response confirmAlm(Integer num) {
+        UpdateWrapper wrapper= new UpdateWrapper<LockAlarm>();
+        wrapper.eq("num",num);
+        wrapper.set("alm_is_confirmed",1);
+        wrapper.set("alm_confirmed_time",new Date());
+        mapper.update((LockAlarm) ActionUtil.objeNull,wrapper);
+        return new Response().set(1,true,"纭鍛婅鎴愬姛!");
+    }
+    //鍙栨秷鍛婅
+    public Response cancleAlm(Integer num) {
+        UpdateWrapper wrapper= new UpdateWrapper<LockAlarm>();
+        wrapper.eq("num",num);
+        wrapper.set("alm_is_confirmed",0);
+        wrapper.set("alm_confirmed_time", ThreadLocalUtil.parse("2000-01-01 00:00:00",1));
+        mapper.update((LockAlarm) ActionUtil.objeNull,wrapper);
+        return new Response().set(1,true,"鍙栨秷鍛婅鎴愬姛!");
+    }
+
+    //鍒犻櫎鍛婅
+    public Response delAlm(Integer num) {
+        UpdateWrapper wrapper= new UpdateWrapper<LockAlarm>();
+        wrapper.eq("num",num);
+        mapper.delete(wrapper);
+        return new Response().set(1,true,"鍒犻櫎鍛婅鎴愬姛!");
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1