From 96510a549bfb313920bf297b28089c4cf57f0146 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期四, 15 五月 2025 14:01:16 +0800
Subject: [PATCH] 权限管理

---
 src/main/java/com/whyc/service/LockInfService.java |  119 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 83 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/whyc/service/LockInfService.java b/src/main/java/com/whyc/service/LockInfService.java
index 16ad820..9030345 100644
--- a/src/main/java/com/whyc/service/LockInfService.java
+++ b/src/main/java/com/whyc/service/LockInfService.java
@@ -10,6 +10,7 @@
 import com.whyc.dto.RealDto;
 import com.whyc.dto.Response;
 import com.whyc.mapper.*;
+import com.whyc.pojo.plus_inf.LockAddress;
 import com.whyc.pojo.plus_inf.LockInf;
 import com.whyc.pojo.plus_inf.StationInf;
 import com.whyc.pojo.plus_lock_ram.LockIdcard;
@@ -42,10 +43,17 @@
     private BaojigroupUsrMapper bjUserMapper;
 
     @Autowired(required = false)
+    private BaojigroupService baojiService;
+
+    @Autowired(required = false)
     private BaojigroupMapper bjMapper;
 
     @Autowired(required = false)
     private LockIdcardMapper idcardMapper;
+
+    @Autowired(required = false)
+    private LockAddressMapper addressMapper;
+
 
     @Autowired
     private ProcessSurveyService processSurveyService;
@@ -63,6 +71,16 @@
         int lockId=0;
         if(sinf!=null){
             stationId=sinf.getStationId();
+            //鏍规嵁閿佸悕鍒ゆ柇鏈烘埧涓嬫槸鍚﹀瓨鍦ㄥ悓鍚嶉攣
+            QueryWrapper wrapper1=new QueryWrapper();
+            wrapper1.eq("station_id",stationId);
+            wrapper1.eq("lock_name",lockInf.getLockName());
+            wrapper1.eq("del_flag",0);
+            wrapper1.last("limit 1");
+            LockInf judgeLock=mapper.selectOne(wrapper1);
+            if (judgeLock!=null){
+                return new Response().set(1,false,"褰撳墠鏈烘埧涓嬪凡缁忓瓨鍦ㄥ悓鍚嶉攣");
+            }
             //鑾峰彇褰撳墠鏈�澶х殑閿�
             lockId=getMaxLockId(stationId);
             if(lockId==0){
@@ -114,14 +132,22 @@
         linf.setLastUpdateTime(new Date());
         linf.setModel(0);
         linf.setLockOpenCount(0);
+        linf.setLockIp(lockInf.getLockIp());
         int flag=mapper.insert(linf);
         if(flag==1){//娣诲姞鎴愬姛(鍖呮満缁勬搷浣�)
             insertInbaoji(stationId,lockId);
+            //閿佺殑榛樿浣嶇疆鎻掑叆涓�0
+            LockAddress lockAddress=new LockAddress();
+            lockAddress.setStationId(stationId);
+            lockAddress.setLockId(lockId);
+            lockAddress.setScreenFlag(0);
+            lockAddress.setAddressFlag(0);
+            addressMapper.insert(lockAddress);
         }
         return new Response().set(1,true);
     }
     //鍖呮満缁勬搷浣�
-    private void insertInbaoji(Integer stationId,Integer lockId){
+    public void insertInbaoji(Integer stationId,Integer lockId){
         //閲嶅惎绾跨▼骞跺皢閿佸姞鍒板綋鍓嶄汉鐨勫寘鏈虹粍
         UserInf uinf= ActionUtil.getUser();
         QueryWrapper wrapper1=new QueryWrapper();
@@ -147,6 +173,7 @@
                 wrapper4.eq("baoji_name","榛樿鍖呮満缁�");
                 wrapper4.last("limit 1");
                 group=bjMapper.selectOne(wrapper4);
+                baojiService.insertNeiZhi(group.getId());
             }
             BaojigroupUsr bjUsr=new BaojigroupUsr();
             bjUsr.setUid(uinf.getUid());
@@ -163,7 +190,7 @@
         processSurveyService.setUpThreadRestart();
     }
     //鑾峰彇褰撳墠鍙婃斁涓嬫渶澶х殑閿乮d
-    private int getMaxLockId(Integer stationId) {
+    public int getMaxLockId(Integer stationId) {
         int lockId=mapper.getMaxLockId(stationId);
         return lockId;
     }
@@ -186,7 +213,18 @@
     public Response delLock(Integer lockId) {
         UpdateWrapper wrapper=new UpdateWrapper();
         wrapper.eq("lock_id",lockId);
-        mapper.delete(wrapper);
+        wrapper.set("del_flag",1);//鍒犻櫎鏃舵爣璁颁负1
+        int flag=mapper.update((LockInf) ActionUtil.objeNull,wrapper);
+        if(flag==1){
+            //鍒犻櫎鍖呮満缁勪笅璁板綍
+            UpdateWrapper wrapper1=new UpdateWrapper();
+            wrapper1.eq("lock_id",lockId);
+            bjLockMapper.delete(wrapper1);
+            //绉婚櫎address
+            UpdateWrapper wrapper2=new UpdateWrapper();
+            wrapper2.eq("lock_id",lockId);
+            addressMapper.delete(wrapper2);
+        }
         return new Response().set(1,true);
     }
    //淇敼閿�
@@ -208,6 +246,7 @@
         if(lockInf.getScreenFlag()!=null){
             wrapper.set("screen_flag",lockInf.getScreenFlag());
         }
+
         if(lockInf.getLongitude()!=null){
             wrapper.set("longitude",lockInf.getLongitude());
         }
@@ -215,16 +254,16 @@
             wrapper.set("latitude",lockInf.getLatitude());
         }
         mapper.update((LockInf) ActionUtil.objeNull,wrapper);
+        if(lockInf.getLockIp()!=null){
+            UpdateWrapper wrapper1=new UpdateWrapper();
+            wrapper1.set("lock_ip",lockInf.getLockIp());
+            wrapper1.eq("station_id",lockInf.getStationId());
+            mapper.update((LockInf) ActionUtil.objeNull,wrapper1);
+            processSurveyService.setUpThreadRestart();
+        }
         return new Response().set(1,true);
     }
-    //鏌ヨ鎵�鏈夐攣鍚嶄俊鎭�(鐢ㄤ簬涓嬫媺)
-    /*public Response getLinf() {
-        List<LockInf> list=mapper.selectList(null);
-        List<String> lnameList = list.stream()
-                .map(LockInf::getLockName) // 鎻愬彇鍚嶅瓧
-                .collect(Collectors.toList()); // 杞崲涓哄垪琛�
-        return new Response().setII(1,list!=null,lnameList,"鏌ヨ鎵�鏈夐攣鍚嶄俊鎭�(鐢ㄤ簬涓嬫媺)");
-    }*/
+
 
     //鏌ヨ灞忔煖鐨勫叏閮ㄧ被鍨�(涓嬫媺)
     public Response getScreenType(Integer uid) {
@@ -246,35 +285,43 @@
         map.put("closeNum",0);
         map.put("unLoadNum",0);
         //鏍规嵁dto涓璼tationid鍜屽寘鏈虹粍id鏌ヨ鍑虹鐞嗙殑lockid
-        List<Integer> lockIdList=bjLockMapper.getLocIdByStationidAndBjId(dto.getStationId(),dto.getBaojiId());
-        List<LockInf> linfs=mapper.getRealLock(lockIdList);
-        if(linfs!=null&&linfs.size()>0){
-            map.put("sumLinf",linfs.size());
-            Map<Integer, List<LockInf>> onlinemap = linfs.stream().collect(Collectors.groupingBy(LockInf::getLockOnline));
-            for (Integer state : onlinemap.keySet()) {
-                if(state==0){
-                    map.put("offLineNum", onlinemap.get(0).size());//绂荤嚎
+        try {
+            List<Integer> lockIdList=bjLockMapper.getLocIdByStationidAndBjId(dto.getStationId(),dto.getBaojiId());
+            List<LockInf> linfs=mapper.getRealLock(lockIdList);
+            //鍖呮満缁勪笅閿佺殑浣嶇疆淇℃伅
+            List<LockAddress> addressList=addressMapper.getAddressList(lockIdList);
+            //鏈烘埧涓嬫墍鏈夐攣鐨勪綅缃�
+            List<LockAddress> AllAddressList=addressMapper.getAllAddress(dto.getStationId());
+            if(linfs!=null&&linfs.size()>0){
+                map.put("sumLinf",linfs.size());
+                Map<Integer, List<LockInf>> onlinemap = linfs.stream().collect(Collectors.groupingBy(LockInf::getLockOnline));
+                for (Integer state : onlinemap.keySet()) {
+                    if(state==0){
+                        map.put("offLineNum", onlinemap.get(0).size());//绂荤嚎
+                    }
+                    if(state==1){
+                        map.put("onlineNum", onlinemap.get(1).size());//鍦ㄧ嚎
+                    }
                 }
-                if(state==1){
-                    map.put("onlineNum", onlinemap.get(1).size());//鍦ㄧ嚎
+                Map<Integer, List<LockInf>> openmap = linfs.stream().collect(Collectors.groupingBy(LockInf::getLockState));
+                for (Integer open : openmap.keySet()) {
+                    if(open==0){
+                        map.put("closeNum", openmap.get(0).size());//闂攣
+                    }
+                    if(open==1){
+                        map.put("openNum", openmap.get(1).size());//寮�閿�
+                    }
+                    if(open==-1){
+                        map.put("unLoadNum", openmap.get(-1).size());//鏈畨瑁�
+                    }
                 }
             }
-            Map<Integer, List<LockInf>> openmap = linfs.stream().collect(Collectors.groupingBy(LockInf::getLockState));
-            for (Integer open : openmap.keySet()) {
-                if(open==0){
-                    map.put("closeNum", openmap.get(0).size());//闂攣
-                }
-                if(open==1){
-                    map.put("openNum", openmap.get(1).size());//寮�閿�
-                }
-                if(open==-1){
-                    map.put("unLoadNum", openmap.get(-1).size());//鏈畨瑁�
-                }
-            }
+            PageInfo pageInfo= PageInfoUtils.list2PageInfo(linfs, dto.getPageNum(), dto.getPageSize());
+            map.put("pageInfo",pageInfo);
+            return new Response().setIV(1,linfs!=null,map,addressList,AllAddressList,"瀹炴椂鑾峰彇鑾峰彇鍖哄煙涓嬫墍鏈夐攣鐨勭姸鎬�");
+        } catch (Exception e) {
+            return new Response().set(1,false,"瀹炴椂鑾峰彇鑾峰彇鍖哄煙涓嬫墍鏈夐攣鐨勭姸鎬�");
         }
-        PageInfo pageInfo= PageInfoUtils.list2PageInfo(linfs, dto.getPageNum(), dto.getPageSize());
-        map.put("pageInfo",pageInfo);
-        return new Response().setII(1,linfs!=null,map,"瀹炴椂鑾峰彇鑾峰彇鍖哄煙涓嬫墍鏈夐攣鐨勭姸鎬�");
     }
     //鏌ヨ閿佺殑淇℃伅鍜宨d鍗�
     public Response getLockId(LockIdDto dto) {

--
Gitblit v1.9.1