From e16302f9d475c7cc4dd18c5abf1a23cb5502e362 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 28 五月 2025 14:57:56 +0800
Subject: [PATCH] 密码验证加-

---
 src/main/java/com/whyc/service/BattRtdataService.java |   81 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/BattRtdataService.java b/src/main/java/com/whyc/service/BattRtdataService.java
index 22d4712..3688b1c 100644
--- a/src/main/java/com/whyc/service/BattRtdataService.java
+++ b/src/main/java/com/whyc/service/BattRtdataService.java
@@ -1,11 +1,16 @@
 package com.whyc.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageInfo;
+import com.sun.javafx.collections.MappingChange;
 import com.whyc.dto.Response;
+import com.whyc.mapper.BattInfMapper;
 import com.whyc.mapper.BattRtdataMapper;
 import com.whyc.pojo.BattRtdata;
 import com.whyc.pojo.BattRtstate;
+import com.whyc.pojo.Battinf;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -19,6 +24,8 @@
     @Resource
     private BattRtdataMapper mapper;
 
+    @Resource
+    private BattInfMapper binfMapper;
     //鏍规嵁鐢垫睜缁刬d鏌ヨ璇ョ數姹犵粍涓墍鏈夌數姹犱俊鎭�(鍥捐〃鏁版嵁)
     @Transactional
     public Response serchByCondition(int battGroupId) {
@@ -51,6 +58,7 @@
         if(dataList!=null && dataList.size()>0) {
             Map<Long, List<BattRtdata>>  map =  dataList.stream().collect(Collectors.groupingBy(BattRtdata::getNum));
             Set<Long> keySet = map.keySet();
+            //keySet = keySet.stream().sorted(Comparator.comparingLong(Long::intValue)).collect(Collectors.toCollection(LinkedHashSet::new));
             Iterator<Long> iterator = keySet.iterator();
             while (iterator.hasNext()){
                 Long next = iterator.next();
@@ -60,4 +68,77 @@
         }
         return list;
     }
+
+    public void insertMonRecord(int battGroupId, List<Integer> monNumList) {
+        mapper.insertMonRecord(battGroupId,monNumList);
+    }
+
+    public void deleteWhenMonNumBeyond(int battGroupId, int mon_cnt) {
+        mapper.deleteWhenMonNumBeyond(battGroupId,mon_cnt);
+    }
+
+    public int seachBattMaxMonNum(int battGroupId) {
+        QueryWrapper<BattRtdata> query = Wrappers.query();
+        query.select("mon_num").eq("BattGroupId", battGroupId).orderByDesc("mon_num").last("limit 1");
+        BattRtdata battRtdata = mapper.selectOne(query);
+        if (battRtdata == null) {
+            return 0;
+        }
+        return battRtdata.getMonNum();
+    }
+
+    //骞惰仈鐢垫簮澶氱粍鍗曚綋鏁版嵁
+    public Response serch9141ByCondition(int devId) {
+        List<BattRtdata> list = mapper.serch9141ByCondition(devId);
+        return new Response().setII(1, list.size() > 0 ? true : false, list, "9141鏁版嵁");
+    }
+
+    /*public void addBatch(List<BattRtdata> battDataList) {
+        mapper.addBatch(battDataList);
+    }*/
+
+    public void addOrUpdate(List<BattRtdata> battDataList) {
+        List<BattRtdata> updateList = new LinkedList<>();
+        List<BattRtdata> addList = new LinkedList<>();
+
+        //濡傛灉瀛樺湪鐢垫睜缁勫垯鏇存柊鎵�鏈�
+        //涓嶅瓨鍦ㄧ數姹犵粍鍒欐柊澧�
+        //TODO 杩欓噷鏄彁绀�,涓嶆槸寰呭姙.閲嶈!!!!!!濡傛灉鐢垫睜缁勫唴鏂板浜嗗崟浣撴暟,闇�瑕佷复鏃跺垹闄ゆ帀鍗曚綋瀹炴椂琛ㄦ暟鎹�. 杩欐牱浼氬姞杞芥柊鐨勬墍鏈夊崟浣�
+        List<Integer> battGroupIdList = battDataList.stream().map(BattRtdata::getBattGroupId).distinct().collect(Collectors.toList());
+        QueryWrapper<BattRtdata> query = Wrappers.query();
+        query.select("distinct BattGroupId as BattGroupId").in("BattGroupId",battGroupIdList);
+        List<BattRtdata> battStateListInDB = mapper.selectList(query);
+        List<Integer> battGroupIdListInDB = battStateListInDB.stream().map(BattRtdata::getBattGroupId).distinct().collect(Collectors.toList());
+
+        for (BattRtdata battData : battDataList) {
+            if(battGroupIdListInDB.contains(battData.getBattGroupId())){ //鏇存柊
+                updateList.add(battData);
+            }else{ //鏂板
+                addList.add(battData);
+            }
+        }
+        if(updateList.size()>0){
+            mapper.updateBatch(updateList);
+        }
+        if(addList.size()>0) {
+            mapper.addBatch(battDataList);
+        }
+    }
+    //鏌ヨ鐢垫睜缁勫崟浣撳疄鏃朵俊鎭�
+    public Response serchPowerHr6159(int devId) {
+        //1.鍙栫數姹犵粍id鎸夐『搴忕粍1缁�2
+        QueryWrapper<Battinf> query = Wrappers.query();
+        query.select("distinct BattGroupId,GroupIndexInFBSDevice ").eq("FBSDeviceId",devId).orderByAsc("GroupIndexInFBSDevice");
+        List<Battinf> infList= binfMapper.selectList(query);
+        Map<Integer,List> map=new HashMap<>();
+        for (Battinf binf:infList) {
+            int battGroupId=binf.getBattGroupId();
+            int groupIndex=binf.getGroupIndexInFBSDevice();
+            QueryWrapper wrapper = new QueryWrapper();
+            wrapper.eq("BattGroupId",battGroupId);
+            List<BattRtdata> rtdataList = mapper.selectList(wrapper);
+            map.put(groupIndex,rtdataList);
+        }
+        return new Response().setII(1,map.size()>0,map,"鏌ヨ鐢垫睜缁勫崟浣撳疄鏃朵俊鎭�");
+    }
 }

--
Gitblit v1.9.1