From efd756706f9ffacd21992714f7fc97e8d477df20 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期四, 17 四月 2025 11:32:28 +0800
Subject: [PATCH] 机房管理

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

diff --git a/src/main/java/com/whyc/service/StationInfService.java b/src/main/java/com/whyc/service/StationInfService.java
index ab9ea81..eefe1d1 100644
--- a/src/main/java/com/whyc/service/StationInfService.java
+++ b/src/main/java/com/whyc/service/StationInfService.java
@@ -1,10 +1,16 @@
 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.dto.Station.Provice;
+import com.whyc.dto.StationDto;
 import com.whyc.mapper.StationInfMapper;
 import com.whyc.pojo.plus_inf.LockInf;
 import com.whyc.pojo.plus_inf.StationInf;
+import com.whyc.util.ActionUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -15,6 +21,9 @@
 public class StationInfService {
     @Autowired(required = false)
     private StationInfMapper mapper;
+
+    @Autowired(required = false)
+    private LockInfService linfService;
 
     //鑾峰彇宸︿晶鍒楄〃
     public Response getLeftStation(int uid) {
@@ -46,4 +55,88 @@
         List<LockInf> list=mapper.getLockByUid(uid,stationName1,stationName2,stationName3,stationName4);
         return new Response().setII(1,list.size()>0,list,"鑾峰彇鐪佸競鍖哄幙鏈烘埧绔欑偣涓嬬殑閿�");
     }
+    //娣诲姞鏈烘埧
+    public Response addStatiaon(StationInf addsinf) {
+        //鍒ゆ柇娣诲姞閿佺殑鏃跺�欐満鎴挎槸涓嶆槸鏂版満鎴�
+        String stationName=addsinf.getStationName1()+"_"+addsinf.getStationName2()+"_"+addsinf.getStationName3()+"_"+addsinf.getStationName4();
+        //鍒ゆ柇鏈烘埧鏄惁瀛樺湪
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("station_name",stationName);
+        wrapper.last("limit 1");
+        StationInf sinf=mapper.selectOne(wrapper);
+        int stationId=0;
+        int lockId=0;
+        if(sinf!=null){
+            return new Response().set(1,false,"鏈烘埧宸插瓨鍦�");
+        }else {
+            //鑾峰彇褰撳墠鏈�澶х殑鏈烘埧id
+            Integer maxStationNum=mapper.getMaxStationNum();
+            if(maxStationNum==0){//鏁版嵁搴撲腑娌℃湁绔欑偣
+                stationId=40000001;
+            }else{
+                //鑾峰彇瀵瑰簲鐨勬満鎴縤d
+                stationId=mapper.getStaitonIdByNum(maxStationNum);
+                stationId+=1;
+            }
+            StationInf newSinf=new StationInf();
+            newSinf.setStationId(stationId);
+            newSinf.setStationName(stationName);
+            newSinf.setStationNum(maxStationNum+1);
+            newSinf.setStationName1(addsinf.getStationName1());
+            newSinf.setStationName2(addsinf.getStationName2());
+            newSinf.setStationName3(addsinf.getStationName3());
+            newSinf.setStationName4(addsinf.getStationName4());
+            mapper.insert(newSinf);
+            linfService.insertInbaoji(stationId,lockId);
+            return new Response().set(1,true,"娣诲姞鏈烘埧");
+        }
+    }
+    //鍒犻櫎鏈烘埧
+    public Response delStatiaon(Integer stationId) {
+        UpdateWrapper wrapper=new UpdateWrapper();
+        wrapper.eq("station_id",stationId);
+        mapper.delete(wrapper);
+        return new Response().set(1,true);
+    }
+    //淇敼鏈烘埧
+    public Response updateStatiaon(StationInf sinf) {
+        UpdateWrapper wrapper=new UpdateWrapper();
+        wrapper.eq("station_id",sinf.getStationId());
+        if(sinf.getStationName1()!=null){
+            wrapper.set("station_name1",sinf.getStationName1());
+        }
+        if(sinf.getStationName2()!=null){
+            wrapper.set("station_name2",sinf.getStationName2());
+        }
+        if(sinf.getStationName3()!=null){
+            wrapper.set("station_name3",sinf.getStationName3());
+        }
+        if(sinf.getStationName4()!=null){
+            wrapper.set("station_name4",sinf.getStationName4());
+        }
+        String stationName=sinf.getStationName1()+"_"+sinf.getStationName2()+"_"+sinf.getStationName3()+"_"+sinf.getStationName4();
+        wrapper.set("station_name",stationName);
+        mapper.update((StationInf) ActionUtil.objeNull,wrapper);
+        return new Response().set(1,true);
+    }
+    //鏌ヨ鏈烘埧
+    public Response getStatiaon(StationDto dto) {
+        PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
+        QueryWrapper wrapper=new QueryWrapper();
+        if(dto.getStationName1()!=null){
+            wrapper.eq("station_name1",dto.getStationName1());
+        }
+        if(dto.getStationName2()!=null){
+            wrapper.eq("station_name2",dto.getStationName2());
+        }
+        if(dto.getStationName3()!=null){
+            wrapper.eq("station_name3",dto.getStationName3());
+        }
+        if(dto.getStationName4()!=null){
+            wrapper.eq("station_name4",dto.getStationName4());
+        }
+        List<StationInf> list=mapper.selectList(wrapper);
+        PageInfo pageInfo=new PageInfo(list);
+        return new Response().setII(1,list!=null,pageInfo,"鏌ヨ鏈烘埧");
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1