From ff4cd28ee0535021dcc86d49bfe37545ea2fc1fd Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期一, 12 五月 2025 16:33:53 +0800
Subject: [PATCH] 包机组机房提交

---
 src/main/java/com/whyc/mapper/PowerInfMapper.java          |    9 
 src/main/java/com/whyc/dto/Station/City.java               |   12 
 src/main/java/com/whyc/dto/Station/Country.java            |   13 
 pom.xml                                                    |    5 
 src/main/java/com/whyc/dto/Station/Provice.java            |   11 
 .idea/misc.xml                                             |    2 
 src/main/java/com/whyc/mapper/BaojigroupMapper.java        |    7 
 src/main/java/com/whyc/pojo/db_user/Permitgroup.java       |    8 
 src/main/resources/mapper/UserMapper.xml                   |   18 
 src/main/java/com/whyc/pojo/db_user/User.java              |    2 
 src/main/resources/mapper/BaojigroupPowerMapper.xml        |   56 ++
 src/main/resources/mapper/StationInfMapper.xml             |  133 +++++
 src/main/java/com/whyc/dto/Station/Station.java            |   12 
 src/main/java/com/whyc/util/ActionUtil.java                |  616 ++++++++++++++++++++++++
 src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java   |    8 
 src/main/resources/mapper/BaojigroupUsrMapper.xml          |   22 
 src/main/java/com/whyc/controller/ConditionController.java |   61 ++
 src/main/java/com/whyc/service/BaojigroupService.java      |  192 +++++++
 powerIntelligenceSystem.iml                                |    1 
 src/main/java/com/whyc/mapper/StationInfMapper.java        |   23 
 src/main/java/com/whyc/service/StationInfService.java      |  145 +++++
 src/main/java/com/whyc/pojo/db_user/PermitgroupData.java   |    6 
 src/main/java/com/whyc/pojo/db_user/Baojigroup.java        |   15 
 src/main/resources/mapper/PowerInfMapper.xml               |   10 
 src/main/resources/mapper/PermitGroupUserMapper.xml        |   34 +
 src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java   |   23 
 src/main/java/com/whyc/mapper/UserMapper.java              |    5 
 src/main/java/com/whyc/pojo/db_user/BaojigroupUsr.java     |    8 
 src/main/java/com/whyc/mapper/BaojigroupUsrMapper.java     |   15 
 29 files changed, 1,450 insertions(+), 22 deletions(-)

diff --git a/.idea/misc.xml b/.idea/misc.xml
index dc6b1f5..03a603a 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -7,5 +7,5 @@
       </list>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" project-jdk-name="17" project-jdk-type="JavaSDK" />
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8 (2)" project-jdk-type="JavaSDK" />
 </project>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 6b9d4d7..16e29d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -204,6 +204,11 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.15.0</version>
+        </dependency>
 
     </dependencies>
 
diff --git a/powerIntelligenceSystem.iml b/powerIntelligenceSystem.iml
index 9306a20..322e40a 100644
--- a/powerIntelligenceSystem.iml
+++ b/powerIntelligenceSystem.iml
@@ -169,5 +169,6 @@
     <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
+    <orderEntry type="library" name="Maven: commons-io:commons-io:2.15.0" level="project" />
   </component>
 </module>
\ No newline at end of file
diff --git a/src/main/java/com/whyc/controller/ConditionController.java b/src/main/java/com/whyc/controller/ConditionController.java
new file mode 100644
index 0000000..bf85ee0
--- /dev/null
+++ b/src/main/java/com/whyc/controller/ConditionController.java
@@ -0,0 +1,61 @@
+package com.whyc.controller;
+
+import com.whyc.dto.Response;
+import com.whyc.pojo.db_user.User;
+import com.whyc.service.BaojigroupService;
+import com.whyc.service.StationInfService;
+import com.whyc.util.ActionUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@Api(tags = "涓嬫媺鏉′欢绠$悊")
+@RequestMapping("condition")
+public class ConditionController {
+    @Autowired
+    private StationInfService stationInfService;
+
+    @Autowired
+    private BaojigroupService bjGroupService;
+
+    @ApiOperation("鑾峰彇鎵�鏈夌殑鐪佷唤(涓嬫媺)")
+    @GetMapping("getProviceByUid")
+    public Response getProviceByUid() {
+        User uinf= ActionUtil.getUser();
+        return stationInfService.getProviceByUid(uinf.getId());
+    }
+
+    @ApiOperation("鑾峰彇鐪佷笅鐨勫競(涓嬫媺)")
+    @GetMapping("getCityByUid")
+    public Response getCityByUid(@RequestParam(required = false) String stationName1) {
+        User uinf= ActionUtil.getUser();
+        return stationInfService.getCityByUid(uinf.getId(),stationName1);
+    }
+
+    @ApiOperation("鑾峰彇鐪佸競涓嬬殑鍖哄幙(涓嬫媺)")
+    @GetMapping("getCountryByUid")
+    public Response getCountryByUid(@RequestParam(required = false) String stationName1,@RequestParam(required = false) String stationName2) {
+        User uinf= ActionUtil.getUser();
+        return stationInfService.getCountryByUid(uinf.getId(),stationName1,stationName2);
+    }
+
+    @ApiOperation("鑾峰彇鐪佸競鍖哄幙涓嬬殑绔欑偣(涓嬫媺)")
+    @GetMapping("getStationByUid")
+    public Response getStationByUid(@RequestParam(required = false) String stationName1,@RequestParam(required = false) String stationName2,@RequestParam(required = false) String stationName3) {
+        User uinf= ActionUtil.getUser();
+        return stationInfService.getStationByUid(uinf.getId(),stationName1,stationName2,stationName3);
+    }
+
+
+    @ApiOperation(value = "褰撳墠鐢ㄦ埛鎵�鍦ㄥ寘鏈虹粍涓嬫墍鏈夌殑鐢ㄦ埛(涓嬫媺)")
+    @GetMapping("getBaojiUserByUid")
+    public Response getBaojiUserByUid(){
+        User uinf= ActionUtil.getUser();
+        return bjGroupService.getBaojiUserByUid(uinf.getId());
+    }
+
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/dto/Station/City.java b/src/main/java/com/whyc/dto/Station/City.java
new file mode 100644
index 0000000..74507c4
--- /dev/null
+++ b/src/main/java/com/whyc/dto/Station/City.java
@@ -0,0 +1,12 @@
+package com.whyc.dto.Station;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class City {
+    private String provice;
+    private String city;
+    private List<Country> countryList;
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/dto/Station/Country.java b/src/main/java/com/whyc/dto/Station/Country.java
new file mode 100644
index 0000000..ff10139
--- /dev/null
+++ b/src/main/java/com/whyc/dto/Station/Country.java
@@ -0,0 +1,13 @@
+package com.whyc.dto.Station;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class Country {
+    private String provice;
+    private String city;
+    private String country;
+    private List<Station> stationList;
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/dto/Station/Provice.java b/src/main/java/com/whyc/dto/Station/Provice.java
new file mode 100644
index 0000000..0d47a8b
--- /dev/null
+++ b/src/main/java/com/whyc/dto/Station/Provice.java
@@ -0,0 +1,11 @@
+package com.whyc.dto.Station;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class Provice {
+    private String provice;
+    private List<City> cityList;
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/dto/Station/Station.java b/src/main/java/com/whyc/dto/Station/Station.java
new file mode 100644
index 0000000..e268ac4
--- /dev/null
+++ b/src/main/java/com/whyc/dto/Station/Station.java
@@ -0,0 +1,12 @@
+package com.whyc.dto.Station;
+
+import lombok.Data;
+
+@Data
+public class Station {
+    private String provice;
+    private String city;
+    private String country;
+    private String stationName;
+    private Integer stationId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/BaojigroupMapper.java b/src/main/java/com/whyc/mapper/BaojigroupMapper.java
new file mode 100644
index 0000000..5e96e6c
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/BaojigroupMapper.java
@@ -0,0 +1,7 @@
+package com.whyc.mapper;
+
+
+import com.whyc.pojo.db_user.Baojigroup;
+
+public interface BaojigroupMapper extends CustomMapper<Baojigroup>{
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java b/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java
new file mode 100644
index 0000000..0b49fbf
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java
@@ -0,0 +1,23 @@
+package com.whyc.mapper;
+
+
+import com.whyc.pojo.db_station.PowerInf;
+import com.whyc.pojo.db_user.BaojigroupPower;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface BaojigroupPowerMapper extends CustomMapper<BaojigroupPower>{
+    void deleteStationAndLockList(@Param("list") List<BaojigroupPower> list);
+    //鏌ヨ鍖呮満缁勫搴旂殑鏈烘埧鍜岄攣鐨勪俊鎭�
+    List<BaojigroupPower> getALlLockByBjId(@Param("id") Integer id);
+    //鍦板浘椤堕儴鐨勭鐞嗙殑绔欑偣鍜岃澶�(閿�)
+    List<BaojigroupPower> getHomeStationAndLock(@Param("uid") Integer uid);
+    //鏌ヨ鐢ㄦ埛绠$悊鐨勯攣id闆嗗悎
+    List<Integer> getLockIdByUid(@Param("uid") int uid);
+
+    //鏍规嵁dto涓璼tationid鍜屽寘鏈虹粍id鏌ヨ鍑虹鐞嗙殑lockid
+    List<Integer> getLocIdByStationidAndBjId(@Param("stationId") Integer stationId, @Param("baojiId") Integer baojiId);
+
+    List<PowerInf> getPowerList(@Param("id") int id);
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/BaojigroupUsrMapper.java b/src/main/java/com/whyc/mapper/BaojigroupUsrMapper.java
new file mode 100644
index 0000000..6c8442e
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/BaojigroupUsrMapper.java
@@ -0,0 +1,15 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_user.BaojigroupUsr;
+import com.whyc.pojo.db_user.User;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface BaojigroupUsrMapper extends CustomMapper<BaojigroupUsr>{
+    void deleteUserList(@Param("list") List<BaojigroupUsr> list);
+    //鏌ヨ鍖呮満缁勫搴旂殑鐢ㄦ埛淇℃伅
+    List<BaojigroupUsr> getALlUsrByBjId(@Param("id") Integer id);
+
+    List<User> getUserList(@Param("id") Integer id);
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/PowerInfMapper.java b/src/main/java/com/whyc/mapper/PowerInfMapper.java
new file mode 100644
index 0000000..26f025c
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/PowerInfMapper.java
@@ -0,0 +1,9 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.db_station.PowerInf;
+
+import java.util.List;
+
+public interface PowerInfMapper extends CustomMapper<PowerInf>{
+    List<PowerInf> getPowerList();
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/StationInfMapper.java b/src/main/java/com/whyc/mapper/StationInfMapper.java
new file mode 100644
index 0000000..dd2bcbc
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/StationInfMapper.java
@@ -0,0 +1,23 @@
+package com.whyc.mapper;
+
+import com.whyc.dto.Station.Provice;
+import com.whyc.pojo.db_station.StationInf;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface StationInfMapper extends CustomMapper<StationInf>{
+    //鑾峰彇褰撳墠鏈�澶х殑鏈烘埧id
+    Integer getMaxStationNum();
+    //鑾峰彇宸︿晶鍒楄〃
+    List<Provice> getLeftStation(@Param("uid") Integer uid);
+    //鑾峰彇鎵�鏈夌殑鐪佷唤
+    List<String> getProviceByUid(@Param("uid") Integer uid);
+    //鑾峰彇鐪佷笅鐨勫競
+    List<String> getCityByUid(@Param("uid") Integer uid,@Param("provice") String provice);
+    //鑾峰彇鐪佸競涓嬬殑鍖哄幙
+    List<String> getCountryByUid(@Param("uid") Integer uid,@Param("provice") String provice, @Param("city") String city);
+    //鑾峰彇鐪佸競鍖哄幙涓嬬殑绔欑偣
+    List<String> getStationByUid(@Param("uid") Integer uid,@Param("provice") String provice,@Param("city") String city,@Param("country") String country);
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/UserMapper.java b/src/main/java/com/whyc/mapper/UserMapper.java
index 44c3833..49727c6 100644
--- a/src/main/java/com/whyc/mapper/UserMapper.java
+++ b/src/main/java/com/whyc/mapper/UserMapper.java
@@ -3,8 +3,13 @@
 import com.whyc.pojo.db_user.User;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 public interface UserMapper extends CustomMapper<User> {
 
     int addJudge(@Param("name") String name,@Param("phoneNumber") String phoneNumber);
 
+    //褰撳墠鐢ㄦ埛鎵�鍦ㄥ寘鏈虹粍涓嬫墍鏈夌殑鐢ㄦ埛(涓嬫媺)
+    List<User> getBaojiUserByUid(@Param("baojiIdList") List<Integer> baojiIdList);
+
 }
diff --git a/src/main/java/com/whyc/pojo/db_user/UserBaojigroup.java b/src/main/java/com/whyc/pojo/db_user/Baojigroup.java
similarity index 69%
rename from src/main/java/com/whyc/pojo/db_user/UserBaojigroup.java
rename to src/main/java/com/whyc/pojo/db_user/Baojigroup.java
index 5e7e023..fe0762c 100644
--- a/src/main/java/com/whyc/pojo/db_user/UserBaojigroup.java
+++ b/src/main/java/com/whyc/pojo/db_user/Baojigroup.java
@@ -1,6 +1,7 @@
 package com.whyc.pojo.db_user;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
@@ -10,6 +11,7 @@
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * <p>
@@ -22,19 +24,26 @@
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@TableName(schema = "db_user",value = "tb_user_baojigroup")
+@TableName(schema = "db_user",value = "tb_baojigroup")
 @ApiModel(value="UserBaojigroup瀵硅薄", description="")
-public class UserBaojigroup implements Serializable {
+public class Baojigroup implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     @TableId(value = "baoji_group_id", type = IdType.AUTO)
-    private Long baojiGroupId;
+    private Integer baojiGroupId;
 
     private String baojiGroupName;
 
     @ApiModelProperty(value = "鐝粍鏍囪瘑(0:涓嶆槸鐝粍锛�1:鏄彮缁�)")
     private Integer teamFlag;
 
+    @TableField(exist = false)
+    private List<BaojigroupUsr> usrList;
+
+    @TableField(exist = false)
+    private  List<BaojigroupPower> powerList;
+
+
 
 }
diff --git a/src/main/java/com/whyc/pojo/db_user/UserBaojigroupBattgroup.java b/src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java
similarity index 75%
rename from src/main/java/com/whyc/pojo/db_user/UserBaojigroupBattgroup.java
rename to src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java
index b43455d..b0f41ab 100644
--- a/src/main/java/com/whyc/pojo/db_user/UserBaojigroupBattgroup.java
+++ b/src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java
@@ -21,14 +21,14 @@
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@TableName(schema = "db_user",value = "tb_user_baojigroup_battgroup")
-@ApiModel(value="UserBaojigroupBattgroup瀵硅薄", description="")
-public class UserBaojigroupBattgroup implements Serializable {
+@TableName(schema = "db_user",value = "tb_baojigroup_power")
+@ApiModel(value="BaojigroupBattgroup瀵硅薄", description="")
+public class BaojigroupPower implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     @TableId(value = "num", type = IdType.AUTO)
-    private Long num;
+    private Integer num;
 
     private Integer baojiGroupId;
 
diff --git a/src/main/java/com/whyc/pojo/db_user/UserBaojigroupUsr.java b/src/main/java/com/whyc/pojo/db_user/BaojigroupUsr.java
similarity index 76%
rename from src/main/java/com/whyc/pojo/db_user/UserBaojigroupUsr.java
rename to src/main/java/com/whyc/pojo/db_user/BaojigroupUsr.java
index 913ada3..b0cd2a3 100644
--- a/src/main/java/com/whyc/pojo/db_user/UserBaojigroupUsr.java
+++ b/src/main/java/com/whyc/pojo/db_user/BaojigroupUsr.java
@@ -21,14 +21,14 @@
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@TableName(schema = "db_user",value = "tb_user_baojigroup_usr")
-@ApiModel(value="UserBaojigroupUsr瀵硅薄", description="")
-public class UserBaojigroupUsr implements Serializable {
+@TableName(schema = "db_user",value = "tb_baojigroup_usr")
+@ApiModel(value="BaojigroupUsr瀵硅薄", description="")
+public class BaojigroupUsr implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     @TableId(value = "num", type = IdType.AUTO)
-    private Long num;
+    private Integer num;
 
     private Integer baojiGroupId;
 
diff --git a/src/main/java/com/whyc/pojo/db_user/UserPermitgroup.java b/src/main/java/com/whyc/pojo/db_user/Permitgroup.java
similarity index 79%
rename from src/main/java/com/whyc/pojo/db_user/UserPermitgroup.java
rename to src/main/java/com/whyc/pojo/db_user/Permitgroup.java
index 38608f3..c9610de 100644
--- a/src/main/java/com/whyc/pojo/db_user/UserPermitgroup.java
+++ b/src/main/java/com/whyc/pojo/db_user/Permitgroup.java
@@ -21,14 +21,14 @@
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@TableName(schema = "db_user",value = "tb_user_permitgroup")
-@ApiModel(value="UserPermitgroup瀵硅薄", description="")
-public class UserPermitgroup implements Serializable {
+@TableName(schema = "db_user",value = "tb_permitgroup")
+@ApiModel(value="Permitgroup瀵硅薄", description="")
+public class Permitgroup implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
     @TableId(value = "num", type = IdType.AUTO)
-    private Long num;
+    private Integer num;
 
     private Integer permitGroupId;
 
diff --git a/src/main/java/com/whyc/pojo/db_user/UserPermitgroupData.java b/src/main/java/com/whyc/pojo/db_user/PermitgroupData.java
similarity index 78%
rename from src/main/java/com/whyc/pojo/db_user/UserPermitgroupData.java
rename to src/main/java/com/whyc/pojo/db_user/PermitgroupData.java
index 7bb1bb6..d628a2e 100644
--- a/src/main/java/com/whyc/pojo/db_user/UserPermitgroupData.java
+++ b/src/main/java/com/whyc/pojo/db_user/PermitgroupData.java
@@ -21,9 +21,9 @@
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@TableName(schema = "db_user",value = "tb_user_permitgroup_data")
-@ApiModel(value="UserPermitgroupData瀵硅薄", description="")
-public class UserPermitgroupData implements Serializable {
+@TableName(schema = "db_user",value = "tb_permitgroup_data")
+@ApiModel(value="PermitgroupData瀵硅薄", description="")
+public class PermitgroupData implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
diff --git a/src/main/java/com/whyc/pojo/db_user/User.java b/src/main/java/com/whyc/pojo/db_user/User.java
index 15ccbba..c46d498 100644
--- a/src/main/java/com/whyc/pojo/db_user/User.java
+++ b/src/main/java/com/whyc/pojo/db_user/User.java
@@ -26,8 +26,6 @@
 
     private String phoneNumber;
 
-    private Integer roleId;
-
     private Date createTime;
 
     public User() {
diff --git a/src/main/java/com/whyc/service/BaojigroupService.java b/src/main/java/com/whyc/service/BaojigroupService.java
new file mode 100644
index 0000000..3fd206b
--- /dev/null
+++ b/src/main/java/com/whyc/service/BaojigroupService.java
@@ -0,0 +1,192 @@
+package com.whyc.service;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.whyc.dto.Response;
+import com.whyc.mapper.*;
+import com.whyc.pojo.db_station.PowerInf;
+import com.whyc.pojo.db_user.Baojigroup;
+import com.whyc.pojo.db_user.BaojigroupPower;
+import com.whyc.pojo.db_user.BaojigroupUsr;
+import com.whyc.pojo.db_user.User;
+import com.whyc.util.ActionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class BaojigroupService {
+    @Autowired(required = false)
+    private BaojigroupMapper mapper;
+
+    @Autowired(required = false)
+    private BaojigroupPowerMapper bjPowermapper;
+
+    @Autowired(required = false)
+    private BaojigroupUsrMapper bjUsrmapper;
+
+    @Autowired(required = false)
+    private UserMapper UserMapper;
+
+    @Autowired(required = false)
+    private PowerInfMapper powerInfMapper;
+
+
+    //灏嗗唴缃敤鎴峰姞鍏ュ埌鍖呮満缁勪笅
+    public void insertNeiZhi(Integer baojiId){
+        List<BaojigroupUsr> list=new ArrayList<>();
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.lt("uid",99);
+        List<User> uList=UserMapper.selectList(wrapper);
+        for (User uinf:uList) {
+            BaojigroupUsr baojiusr=new BaojigroupUsr();
+            baojiusr.setUid(uinf.getId());
+            baojiusr.setBaojiGroupId(baojiId);
+            list.add(baojiusr);
+        }
+        bjUsrmapper.insertBatchSomeColumn(list);
+    }
+    //娣诲姞鍖呮満缁�
+    @Transactional
+    public Response addBaoji(String baojiName) {
+        //楠岃瘉鍖呮満缁勫悕鏄惁閲嶅
+        //灏嗗唴缃敤鎴峰姞鍏ュ埌鍖呮満缁勪笅
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("baoji_name",baojiName);
+        wrapper.last("limit 1");
+        Baojigroup baoji=mapper.selectOne(wrapper);
+        if(baoji!=null){
+            return new Response().set(0,false,"鍖呮満缁勫凡瀛樺湪");
+        }else{
+            baoji=new Baojigroup();
+            baoji.setBaojiGroupName(baojiName);
+            int bl=mapper.insert(baoji);
+            if(bl>0){
+                //灏嗗唴缃敤鎴峰姞鍏ュ埌鍖呮満缁勪笅
+                QueryWrapper wrapper1=new QueryWrapper();
+                wrapper1.eq("baoji_name",baojiName);
+                wrapper1.last("limit 1");
+                baoji=mapper.selectOne(wrapper1);
+                insertNeiZhi(baoji.getBaojiGroupId());
+            }
+            return new Response().set(1,bl>0,"娣诲姞鍖呮満缁勬垚鍔�");
+        }
+
+    }
+    //缂栬緫鍖呮満缁�
+    public Response updateBaoji(Integer id, String baojiName) {
+        UpdateWrapper wrapper=new UpdateWrapper();
+        wrapper.eq("id",id);
+        wrapper.set("baoji_name",baojiName);
+        int bl=mapper.update((Baojigroup) ActionUtil.objeNull,wrapper);
+        return new Response().set(1,bl>0,"缂栬緫鍖呮満缁勬垚鍔�");
+    }
+    //鍒犻櫎鍖呮満缁�
+    @Transactional
+    public Response delBaoji(Integer id) {
+        //鍏堝垹闄ゅ寘鏈虹粍瀵瑰簲浜轰笅鐨勮褰�
+        UpdateWrapper wrapper1=new UpdateWrapper();
+        wrapper1.eq("baoji_id",id);
+        bjUsrmapper.delete(wrapper1);
+        //鍐嶅垹闄ゅ寘鏈虹粍瀵瑰簲涓嬬殑鏈烘埧鍜岄攣
+        UpdateWrapper wrapper2=new UpdateWrapper();
+        wrapper2.eq("baoji_id",id);
+        bjPowermapper.delete(wrapper2);
+        //鏈�鍚庡垹闄ゅ寘鏈虹粍
+        UpdateWrapper wrapper=new UpdateWrapper();
+        wrapper.eq("id",id);
+        int bl=mapper.delete(wrapper);
+        return new Response().set(1,bl>0,"鍒犻櫎鍖呮満缁勬垚鍔�");
+    }
+    //鏌ヨ鍖呮満缁勫強鍖呮満缁勫搴旂殑鐢ㄦ埛鍜屽搴旀満鎴垮拰閿�
+    public Response getAllBaojiInf() {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.orderByAsc("id");
+        List<Baojigroup> baojiList=mapper.selectList(wrapper);
+        for (Baojigroup bj:baojiList) {
+            //鏌ヨ鍖呮満缁勫搴旂殑鐢ㄦ埛淇℃伅
+            List<BaojigroupUsr> usrList=bjUsrmapper.getALlUsrByBjId(bj.getBaojiGroupId());
+            bj.setUsrList(usrList);
+            //鏌ヨ鍖呮満缁勫搴旂殑鏈烘埧鍜岄攣鐨勪俊鎭�
+            List<BaojigroupPower> powerList=bjPowermapper.getALlLockByBjId(bj.getBaojiGroupId());
+            bj.setPowerList(powerList);
+        }
+        return new Response().setII(1,baojiList!=null,baojiList,"鏌ヨ鍖呮満缁勫強鍖呮満缁勫搴旂殑鐢ㄦ埛鍜屽搴旀満鎴垮拰閿�");
+    }
+    //鍖呮満缁勬坊鍔犳満鎴垮拰閿亅绉婚櫎鏈烘埧鍜岄攣
+    @Transactional
+    public void updateStationAndLockList(List<BaojigroupPower> BaojigroupPowerList, int operationFlag) {
+        if(operationFlag==1){
+            bjPowermapper.insertBatchSomeColumn(BaojigroupPowerList);
+        }else{
+            bjPowermapper.deleteStationAndLockList(BaojigroupPowerList);
+        }
+    }
+    //鍖呮満缁勬坊鍔犵敤鎴穦绉婚櫎鐢ㄦ埛
+    @Transactional
+    public void updateUserList(List<BaojigroupUsr> baoJiGroupUserList, int operationFlag) {
+        if(operationFlag==1){
+            bjUsrmapper.insertBatchSomeColumn(baoJiGroupUserList);
+        }else{
+            bjUsrmapper.deleteUserList(baoJiGroupUserList);
+        }
+    }
+   // 鍖呮満缁勫垪琛�
+    public Response<List<Baojigroup>> getBaoJiGroup() {
+        List<Baojigroup> list=mapper.selectList((Wrapper<Baojigroup>) ActionUtil.objeNull);
+        return new Response().setII(1,list!=null,list,"鍖呮満缁勫垪琛�");
+    }
+    //鍖呮満缁勫凡娣诲姞鐢ㄦ埛鍜屾湭娣诲姞鐢ㄦ埛鍒楄〃
+    public Map<String, List<User>> getUserList(int id) {
+        Map<String, List<User>> resultMap = new LinkedHashMap<>();
+        //鏌ヨ鍖呮満缁勫凡娣诲姞鐨勭敤鎴蜂俊鎭�
+        List<User> relatedUserList = bjUsrmapper.getUserList(id);
+        //鏌ヨ鍖呮満缁勬湭娣诲姞鐨勭敤鎴蜂俊鎭�
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.select("uid", "uname");
+        wrapper.gt("uid",100);
+        List<User> allUserList = UserMapper.selectList(wrapper);
+        List<User> notRelatedUserList = allUserList.stream().filter(User -> !relatedUserList.contains(User)).collect(Collectors.toList());
+
+        resultMap.put("usersAdded",relatedUserList);
+        resultMap.put("usersNotAdded",notRelatedUserList);
+
+        return resultMap;
+    }
+    //宸叉坊鍔犳満鎴块攣鍜屾湭娣诲姞鏈烘埧閿�
+    public Map<String, List<PowerInf>> getStationList(int id) {
+        Map<String,List<PowerInf>> resultMap = new LinkedHashMap<>();
+        //鏌ヨ宸叉坊鍔犵殑鏈烘埧绔欑偣鍒楄〃
+        List<PowerInf> lockList = bjPowermapper.getPowerList(id);
+        List<PowerInf> allLockList = powerInfMapper.getPowerList();
+        List<PowerInf> notRelatedLockList = allLockList.stream().filter(PowerInf -> !lockList.contains(PowerInf)).collect(Collectors.toList());
+
+        resultMap.put("stationsAdded",lockList);
+        resultMap.put("stationsNotAdded",notRelatedLockList);
+
+        return resultMap;
+    }
+    //褰撳墠鐢ㄦ埛鎵�鍦ㄥ寘鏈虹粍涓嬫墍鏈夌殑鐢ㄦ埛(涓嬫媺)
+    public Response getBaojiUserByUid(Integer uid) {
+        //鏌ヨ褰撳墠浜烘墍鍦ㄥ寘鏈虹粍
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.select("baoji_id");
+        if(uid>100){
+            wrapper.eq("uid",uid);
+        }
+        List<BaojigroupUsr> usrList=bjUsrmapper.selectList(wrapper);
+        if(usrList.size()==0){
+            return new Response().setII(1,null,null,"褰撳墠鐢ㄦ埛鏈姞鍏ュ寘鏈虹粍");
+        }
+        List<Integer> baojiIdList=usrList.stream().map(BaojigroupUsr::getBaojiGroupId).collect(Collectors.toList());
+        List<User> list=UserMapper.getBaojiUserByUid(baojiIdList);
+        return new Response().setII(1,list!=null,list,"褰撳墠鐢ㄦ埛鎵�鍦ㄥ寘鏈虹粍涓嬫墍鏈夌殑鐢ㄦ埛(涓嬫媺)");
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/StationInfService.java b/src/main/java/com/whyc/service/StationInfService.java
new file mode 100644
index 0000000..9725c68
--- /dev/null
+++ b/src/main/java/com/whyc/service/StationInfService.java
@@ -0,0 +1,145 @@
+package com.whyc.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.whyc.dto.Response;
+import com.whyc.dto.Station.Provice;
+import com.whyc.mapper.BaojigroupMapper;
+import com.whyc.mapper.StationInfMapper;
+import com.whyc.pojo.db_station.StationInf;
+import com.whyc.pojo.db_user.Baojigroup;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class StationInfService {
+    @Autowired(required = false)
+    private StationInfMapper mapper;
+
+    @Autowired(required = false)
+    private BaojigroupMapper groupMapper;
+
+    //鑾峰彇宸︿晶鍒楄〃
+    public Response getLeftStation(int uid) {
+        List<Provice> list=mapper.getLeftStation(uid);
+        return new Response().setII(1,list.size()>0,list,"鑾峰彇宸︿晶鍒楄〃");
+    }
+    //鑾峰彇鎵�鏈夌殑鐪佷唤
+    public Response getProviceByUid(int uid) {
+        List<String> list=mapper.getProviceByUid(uid);
+        return new Response().setII(1,list.size()>0,list,"鑾峰彇鎵�鏈夌殑鐪佷唤");
+    }
+    //鑾峰彇鐪佷笅鐨勫競
+    public Response getCityByUid(int uid, String stationName1) {
+        List<String> list=mapper.getCityByUid(uid,stationName1);
+        return new Response().setII(1,list.size()>0,list,"鑾峰彇鐪佷笅鐨勫競");
+    }
+    //鑾峰彇鐪佸競涓嬬殑鍖哄幙
+    public Response getCountryByUid(int uid, String stationName1, String stationName2) {
+        List<String> list=mapper.getCountryByUid(uid,stationName1,stationName2);
+        return new Response().setII(1,list.size()>0,list,"鑾峰彇鐪佸競涓嬬殑鍖哄幙");
+    }
+    //鑾峰彇鐪佸競鍖哄幙涓嬬殑绔欑偣
+    public Response getStationByUid(int uid, String stationName1, String stationName2, String stationName3) {
+        List<String> list=mapper.getStationByUid(uid,stationName1,stationName2,stationName3);
+        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,"鏌ヨ鏈烘埧");
+    }*/
+    //鏍规嵁stationid鍜屽寘鏈虹粍id鏌ヨ鏈烘埧鍚嶅拰鍖呮満缁勫悕
+    public Response getNamebyId(Integer stationId, Integer baojiId) {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("station_id",stationId);
+        wrapper.last("limit 1");
+        StationInf sinf=mapper.selectOne(wrapper);
+        QueryWrapper wrapper1=new QueryWrapper();
+        wrapper1.eq("id",baojiId);
+        wrapper1.last("limit 1");
+        Baojigroup baoji=groupMapper.selectOne(wrapper1);
+        return new Response().setIII(1,true,sinf,baoji,"鏍规嵁stationid鍜屽寘鏈虹粍id鏌ヨ鏈烘埧鍚嶅拰鍖呮満缁勫悕");
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/util/ActionUtil.java b/src/main/java/com/whyc/util/ActionUtil.java
new file mode 100644
index 0000000..449b6cf
--- /dev/null
+++ b/src/main/java/com/whyc/util/ActionUtil.java
@@ -0,0 +1,616 @@
+package com.whyc.util;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonSyntaxException;
+import com.whyc.pojo.db_user.User;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+import sun.misc.BASE64Decoder;
+import sun.misc.BASE64Encoder;
+import org.apache.commons.io.FilenameUtils;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.*;
+import java.lang.reflect.Type;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class ActionUtil {
+
+	public static String time_yyyyMMddHHmmss = "yyyy-MM-dd HH:mm:ss";
+	public static String time_yyyyMMdd = "yyyy-MM-dd";
+	public static String time_yyyyMMdd_HH_mm_ss = "yyyy-MM-dd_HH_mm_ss";
+	public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	public static SimpleDateFormat sdfwithOutday = new SimpleDateFormat("yyyy_MM");
+	public static SimpleDateFormat sdfwithday = new SimpleDateFormat("yyyy-MM-dd");
+	public static SimpleDateFormat sdfwithtime = new SimpleDateFormat("HH:mm:ss");
+	public static SimpleDateFormat sdfwithtime_yyyyMMdd_HH_mm_ss = new SimpleDateFormat(time_yyyyMMdd_HH_mm_ss);
+	public static Object objeNull = null;
+
+	/*
+	 * 鑾峰彇HttpServletRequest
+	 */
+	public static HttpServletRequest getRequest() {
+		ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+		HttpServletRequest request = requestAttributes.getRequest();
+		return request;
+	}
+
+	/*
+	 * 鑾峰彇HttpServletResponse
+	 */
+	public static HttpServletResponse getResponse(){
+		ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+		HttpServletResponse response = requestAttributes.getResponse();
+		return response;
+	}
+	
+	/*
+	 * 鑾峰彇HttpSession
+	 */
+	public static HttpSession getSession(){
+		return getRequest().getSession();
+	} 
+	
+	/**
+	 * 
+	 * @return	杩斿洖application
+	 */
+	public static ServletContext getApplication(){
+		return getSession().getServletContext();
+	}
+	//鑾峰彇application涓簰鏂ヤ笂浼犵殑鏍囧織浣峟lag
+	public static int getFlag(){
+		ServletContext app=getApplication();
+		int flag=(Integer) app.getAttribute("flag");
+		return flag;
+	}
+	////缁檃pplication涓簰鏂ヤ笂浼犵殑鏍囧織浣峟lag璁剧疆鍊�
+	public static void setFlag(int flag){
+		ServletContext app=getApplication();
+		app.setAttribute("flag", flag);
+	}
+	/*
+	 * 鑾峰彇灏嗗璞¤浆鎹㈡垚json鏍煎紡
+	 */
+	public static String tojson(Object obj){
+		Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create();
+		return gson.toJson(obj);
+	}
+	
+	public static String chageDateToString(Date time,String type){
+		String msg = "";
+		SimpleDateFormat sdf = new SimpleDateFormat(type);
+		msg = sdf.format(time);
+		return msg;
+	}
+	
+	
+	/**
+	 * 
+	 * @param datetype	闇�瑕佽В鏋愮殑鏃ユ湡鐨勬牸寮忓锛�"yyyy-MM-dd HH:mm:ss"
+	 * @return	寰楀埌瀵瑰簲鐨刧son瀵硅薄
+	 */
+	public static Gson getGson(String datetype){
+		return new  GsonBuilder().setDateFormat(datetype).create();
+	}
+	
+	/**
+	 * 鑾峰彇榛樿鐨刧son瀵硅薄
+	 * @return
+	 */
+	public static Gson getGson(){
+		return new Gson();
+	}
+	
+	
+	public static <T> T getObject(String jsonstring,Type listtype){
+		Gson gson=new Gson();
+		T t=null;
+		try {
+			t=gson.fromJson(jsonstring, listtype);
+		} catch (JsonSyntaxException e) {
+			e.printStackTrace();
+		}
+		return t;
+	}
+ 	
+	/**
+	 * 
+	 * @return 鑾峰彇杈撳嚭娴�
+	 */
+	public static PrintWriter getOut(){
+		PrintWriter out =null;
+		try {
+			out=getResponse().getWriter();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return out;
+	}
+	
+	/**
+	 * 
+	 * @param time	java.util鍖呬腑鐨勬椂闂�
+	 * @return		java.sql鏃堕棿
+	 */
+	public static Date getSimpDate(Date time){
+		//System.out.println(time);
+		return new java.sql.Date(time.getTime());
+	}
+	
+	//浣跨敤MD5鍔犲瘑
+	public static Object EncryptionMD5(Object obj){
+		String md5=null;
+		if(obj!=null && obj.toString().length()>0){
+			md5= DigestUtils.md5Hex(obj.toString());
+		}
+		return md5;
+	}
+	
+	//浣跨敤Base64鍔犲瘑
+	public static Object EncryptionBase64(Object obj){
+		String base64=null;
+		if(obj!=null && obj.toString().length()>0){
+			base64=new BASE64Encoder().encode(obj.toString().getBytes());
+			base64 = base64.replaceAll("[\\s*\t\n\r]", ""); 		//鏇挎崲鍔犲瘑鍚庝笉鎹㈣
+		}
+		return base64;
+	}
+	
+	//浣跨敤Base64瑙e瘑
+	public static Object DecryptionBase64(Object obj){
+		String base64=null;
+		if(obj!=null && obj.toString().length()>0){
+			try {
+				base64 = new String(new BASE64Decoder().decodeBuffer(obj.toString()));
+			} catch (IOException e) {				
+				e.printStackTrace();
+			}
+		}
+		return base64;
+	}
+	
+	//鑾峰彇鎸囧畾骞存湀鐨勫ぉ鏁�
+    public static int getDaysByYearMonth(int year, int month) {  
+        
+        Calendar a = Calendar.getInstance();  
+        a.set(Calendar.YEAR, year);  
+        a.set(Calendar.MONTH, month - 1);  
+        a.set(Calendar.DATE, 1);  
+        a.roll(Calendar.DATE, -1);  
+        int maxDate = a.get(Calendar.DATE);  
+        return maxDate;  
+    }
+
+    /**
+     * 
+     * @return 鑾峰彇褰撳墠session 涓殑鐢ㄦ埛瀵硅薄
+     */
+    public static User getUser(){
+    	HttpSession session =getSession();
+    	Object obj=session.getAttribute("user");
+		User userInf = new User();
+    	if(obj==null){
+			userInf.setName("unlogged_user");
+			userInf.setId(99);
+    	}else{
+			userInf=(User) session.getAttribute("user");
+    	}
+    	return userInf;
+    }
+    
+    //鑾峰彇鏌愬勾鏌愭湀鐨勮捣濮嬪拰缁撴潫鏃堕棿
+    //闇�瑕佹敞鎰忕殑鏄細鏈堜唤鏄粠0寮�濮嬬殑锛屾瘮濡傝濡傛灉杈撳叆5鐨勮瘽锛屽疄闄呬笂鏄剧ず鐨勬槸4鏈堜唤鐨勬渶鍚庝竴澶╋紝鍗冧竾涓嶈鎼為敊浜嗗摝  
+    public static String getLastDayOfMonth(int year, int month) {     
+        Calendar cal = Calendar.getInstance();     
+        cal.set(Calendar.YEAR, year);     
+        cal.set(Calendar.MONTH, month);     
+        cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DATE));  
+       return  new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime())+"23:59:59";  
+    } 
+    
+    public static String getFirstDayOfMonth(int year, int month) {     
+        Calendar cal = Calendar.getInstance();     
+        cal.set(Calendar.YEAR, year);     
+        cal.set(Calendar.MONTH, month);  
+        cal.set(Calendar.DAY_OF_MONTH,cal.getMinimum(Calendar.DATE));  
+       return   new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime())+"00:00:00";  
+    }  
+    //鑾峰彇褰撳墠鏃堕棿鐨勫勾浠�
+    public static int getNowYear(){
+    	Calendar ca = Calendar.getInstance();//寰楀埌涓�涓狢alendar鐨勫疄渚� 
+		ca.setTime(new Date()); //璁剧疆鏃堕棿涓哄綋鍓嶆椂闂� 
+		int year = ca.get(Calendar.YEAR);
+		//System.out.println(month);
+		return year;
+    }
+    //鑾峰彇褰撳墠鏃堕棿鐨勬湀浠�
+    public static int getNowMonth(){
+    	Calendar ca = Calendar.getInstance();//寰楀埌涓�涓狢alendar鐨勫疄渚� 
+		ca.setTime(new Date()); //璁剧疆鏃堕棿涓哄綋鍓嶆椂闂� 
+		int month = ca.get(Calendar.MONTH) + 1;
+		//System.out.println(month);
+		return month;
+    }
+    //鑾峰彇褰撳墠鏃堕棿鐨勬棩鏈�
+    public static int getNowday(){
+    	Calendar ca = Calendar.getInstance();//寰楀埌涓�涓狢alendar鐨勫疄渚� 
+		ca.setTime(new Date()); //璁剧疆鏃堕棿涓哄綋鍓嶆椂闂� 
+		int day = ca.get(Calendar.DAY_OF_MONTH);
+		//System.out.println(month);
+		return day;
+    }
+   //褰撳墠鏃堕棿鍔犱笂x灏忔椂
+    public static String getDateAdd(int minute){
+    Date date = new Date();
+    Calendar c = Calendar.getInstance();
+    c.setTime(date);
+    c.add(Calendar.MINUTE, minute);
+    return new   SimpleDateFormat( "yyyy-MM-dd HH:mm:ss").format(c.getTime());
+    }
+
+	/**
+	 * 杈撳叆楠岃瘉:璺緞閬嶅巻,闃叉鎭舵剰绗﹀彿褰卞搷鏂囦欢浣撶郴
+	 * 杩囨护鎺夌壒娈婂瓧绗� 鈥�/\" : | * ? < >鈥�
+	 */
+	public static String filterFileName(String fileName){
+		Pattern pattern = Pattern.compile("[\\s\\\\/:\\*\\?\\\"<>\\|]");
+		Matcher matcher = pattern.matcher(fileName);
+		fileName = matcher.replaceAll("");
+		return FilenameUtils.getName(fileName);
+	}
+
+
+	//鑾峰彇鏃堕棿鐨勫勾浠�
+    public static int getDateYear(Date date){
+    	Calendar ca = Calendar.getInstance();//寰楀埌涓�涓狢alendar鐨勫疄渚� 
+		ca.setTime(date); //璁剧疆鏃堕棿涓哄綋鍓嶆椂闂� 
+		int year = ca.get(Calendar.YEAR);
+		//System.out.println(month);
+		return year;
+    }
+    //鑾峰彇鏃堕棿鐨勬湀浠�
+    public static int getDateMonth(Date date){
+    	Calendar ca = Calendar.getInstance();//寰楀埌涓�涓狢alendar鐨勫疄渚� 
+		ca.setTime(date); //璁剧疆鏃堕棿涓哄綋鍓嶆椂闂� 
+		int month = ca.get(Calendar.MONTH) + 1;
+		//System.out.println(month);
+		return month;
+    }
+    //鑾峰彇鏃堕棿鐨勬棩鏈�
+    public static int getDateday(Date date){
+    	Calendar ca = Calendar.getInstance();//寰楀埌涓�涓狢alendar鐨勫疄渚� 
+		ca.setTime(date); //璁剧疆鏃堕棿涓哄綋鍓嶆椂闂� 
+		int day = ca.get(Calendar.DAY_OF_MONTH);
+		//System.out.println(month);
+		return day;
+    }
+    //褰撳墠鏃堕棿鍔犱笂x灏忔椂
+    public static Date getDateAdd(Date date,int minute){
+    Calendar c = Calendar.getInstance();
+    c.setTime(date);
+    c.add(Calendar.MINUTE, minute);
+    return c.getTime();
+    }
+    //缁欏畾鏃堕棿鍒ゆ柇涓庡綋鍓嶆椂闂寸浉姣旀槸鍚︿负鑰佺數姹�(numYear涓烘椂闂存湡闄愬嚑骞�)
+    public static int judgeBatt(Date inUseDate,Date date,int numYear){
+    	int judge=0;
+    	inUseDate.setYear(ActionUtil.getDateYear(inUseDate)+numYear-1900);
+    	//System.out.println("inUseDate: "+inUseDate);
+	    if(inUseDate.after(date)){
+	    	judge=1;
+	    }else{
+	    	judge=0;
+	    }
+		return judge;
+    }
+    //鑾峰彇鏌愬勾鏌愭湀鏌愭棩鍐呯殑鏃堕棿<date涓烘墽琛屾椂闂寸殑鏃跺垎绉掕缃负鎻愰啋鏃堕棿娈电殑鏃跺垎绉�>
+    public static Date getWorkDay(Date date,Date noticeTime) {     
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(date); //璁剧疆鏃堕棿涓烘墽琛屾棩鏈�
+        int year = cal.get(Calendar.YEAR);//骞�
+		int month = cal.get(Calendar.MONTH);//鏈�
+		int day = cal.get(Calendar.DAY_OF_MONTH);//鏃�
+		cal.setTime(noticeTime);//璁剧疆鏃堕棿涓烘彁閱掓椂闂存
+		/*int hour=cal.get(Calendar.HOUR_OF_DAY);//鏃�
+		int minute=cal.get(Calendar.MINUTE);//鍒�
+		int second=cal.get(Calendar.SECOND);//绉�*/   
+		cal.set(Calendar.YEAR, year);     
+        cal.set(Calendar.MONTH, month);  
+        cal.set(Calendar.DAY_OF_MONTH,day); 
+        return  cal.getTime();
+       } 
+    //鑾峰彇鏌愬勾鏌愭湀鏌愭棩璧峰鏃堕棿/缁撴潫鏃堕棿
+    public static String getDayTime(int year, int month,int day,int type) {     
+        Calendar cal = Calendar.getInstance();     
+        cal.set(Calendar.YEAR, year);     
+        cal.set(Calendar.MONTH, month);
+        cal.set(Calendar.DAY_OF_MONTH,day);  
+        if(type==1){
+        	return   new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime())+"00:00:00";  
+			 
+        } else if(type==2){
+        	return   new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime())+"09:00:00";  
+        }else if(type==3){
+        	return   new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime())+"17:00:00";  
+        }else if(type==4){
+        	return   new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime())+"23:59:59";  
+        }
+       return   new   SimpleDateFormat( "yyyy-MM-dd ").format(cal.getTime());  
+    } 
+
+    //璁$畻鐢垫睜浣跨敤浜嗗灏戜釜鏈�
+    public static int battInuseMonth(Date inUseDate){
+    	int useDay=0;
+    	Date nowd=new Date();//褰撳墠鏃堕棿
+    	int inuseY=ActionUtil.getDateYear(inUseDate);
+    	int inuseM=ActionUtil.getDateMonth(inUseDate);
+    	int nowY=ActionUtil.getDateYear(nowd);
+    	int nowM=ActionUtil.getDateMonth(nowd);
+    	if(inuseY==nowY){
+    		useDay=nowM-inuseM;
+    	}else{
+    		useDay=(nowY-inuseY)*12+nowM-inuseM;
+    	}
+		return useDay;
+    	
+    }
+    //璁$畻鏃ユ湡涔嬮棿鐩稿樊鐨勫ぉ鏁� 
+    public static int daysBetween(Date smdate,Date bdate)    
+    {    
+        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
+        
+		try {
+			smdate=sdf.parse(sdf.format(smdate));  
+			bdate=sdf.parse(sdf.format(bdate));
+		} catch (ParseException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	  
+        Calendar cal = Calendar.getInstance();    
+        cal.setTime(smdate);    
+        long time1 = cal.getTimeInMillis();                 
+        cal.setTime(bdate);    
+        long time2 = cal.getTimeInMillis();         
+        long between_days=(time2-time1)/(1000*3600*24);  
+            
+       return Math.abs(Integer.parseInt(String.valueOf(between_days)));           
+    }
+    //璁$畻鏃ユ湡涔嬮棿鐩稿樊鐨勫皬鏃� 
+    public static int HoursBetween(Date smdate,Date bdate)    
+    {    
+        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
+        try {
+			smdate=sdf.parse(sdf.format(smdate));  
+			bdate=sdf.parse(sdf.format(bdate));
+		} catch (ParseException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}  
+        Calendar cal = Calendar.getInstance();    
+        cal.setTime(smdate);    
+        long time1 = cal.getTimeInMillis();                 
+        cal.setTime(bdate);    
+        long time2 = cal.getTimeInMillis();         
+        long between_hours=(time2-time1)/(1000*3600);  
+        //System.out.println("between_hours:"+between_hours);
+        return (int) Math.abs(between_hours);           
+    } 
+    
+    //姣旇緝涓や釜鏃堕棿鐨勫ぇ灏�
+    public static int compareDate(Date d1,Date d2){
+        if (d1.getTime() > d2.getTime()) {
+            return 1;
+        } else if (d1.getTime() < d2.getTime()) {
+            return -1;
+        } else {//鐩哥瓑
+            return 0;
+        }
+        }
+    /**
+     * @Description: 鏍规嵁鍥剧墖鍦板潃杞崲涓篵ase64缂栫爜瀛楃涓�
+     * @Author: 
+     * @CreateTime: 
+     * @return
+     */
+    public static String getImageStr(String imgFile) {
+        InputStream inputStream = null;
+        byte[] data = null;
+        try {
+            inputStream = new FileInputStream(imgFile);
+            data = new byte[inputStream.available()];
+            inputStream.read(data);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }finally {
+			if(inputStream!=null){
+				try {
+					inputStream.close();
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+        // 鍔犲瘑
+        BASE64Encoder encoder = new BASE64Encoder();
+        return encoder.encode(data);
+    }
+    
+    
+    /**
+     * @Description: 灏哹ase64缂栫爜瀛楃涓茶浆鎹负鍥剧墖
+     * @Author: 
+     * @CreateTime: 
+     * @param imgStr base64缂栫爜瀛楃涓�
+     * @param path 鍥剧墖璺緞-鍏蜂綋鍒版枃浠�
+     * @return
+    */
+    public static boolean generateImage(String imgStr, String path) {
+    	boolean bl=false;
+		OutputStream out=null;
+		if (imgStr == null) {
+    		bl=false;
+		}
+    	BASE64Decoder decoder = new BASE64Decoder();
+    	try {
+    		// 瑙e瘑
+    		byte[] b = decoder.decodeBuffer(imgStr);
+    		// 澶勭悊鏁版嵁
+    		for (int i = 0; i < b.length; ++i) {
+    			if (b[i] < 0) {
+    				b[i] += 256;
+    			}
+    		}
+    		out = new FileOutputStream(path);
+    		out.write(b);
+    		out.flush();
+    		bl=true;
+    	} catch (Exception e) {
+    		bl=false;
+    	}finally {
+			if(out!=null){
+				try {
+					out.close();
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+    	return bl;
+    }
+    
+    /**
+     * 灏嗚緭鍏ユ祦涓殑鏁版嵁璇诲埌瀛楄妭鏁扮粍涓�
+     * @param is
+     * @return
+     */
+    public static byte[] IStoByteArr(InputStream is){
+    	byte[] b = null;
+		try {
+			b = new byte[is.available()];
+			is.read(b);
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally{
+			if(is != null){
+				try {
+					is.close();
+				} catch (IOException e) {
+					e.printStackTrace();
+				}				
+			}
+		}
+    	
+    	return b;
+    }
+
+    /**
+	 * 鍒涘缓鎸囧畾鐨勬枃浠舵枃浠讹紝鑻ヤ笉瀛樺湪鍒欏厛鍒涘缓鎸囧畾鐨勬枃浠跺す鍐嶅垱寤烘寚瀹氱殑鏂囦欢
+	 * @param filePath
+	 */
+	public static void createFilefolderIFNotExist(String filePath){
+		File f = new File(filePath);
+    	if(!f.exists()){
+    		if(!f.getParentFile().exists()){
+    			f.getParentFile().mkdirs();
+    		}
+    	} 
+	}
+	/**
+	 * 绉掕浆鎹㈠皬鏃�-鍒�-绉抋nalytics/util/DateUtil.java
+	 *
+	 * @param seconds 绉掍负鍗曚綅 姣斿..600绉�
+	 * @return 姣斿...2灏忔椂3鍒嗛挓52绉�
+	 */
+	public static String secToTime(int seconds) {
+		int hour = seconds / 3600;
+		int minute = (seconds - hour * 3600) / 60;
+		int second = (seconds - hour * 3600 - minute * 60);
+
+		StringBuffer sb = new StringBuffer();
+		if (hour > 0) {
+			if(hour<10){
+				sb.append("0"+hour + ":");
+			}else{
+				sb.append(hour + ":");
+			}
+		}else{
+			sb.append("00"+ ":");
+		}
+		if (minute > 0) {
+			if(minute<10){
+				sb.append("0"+minute + ":");
+			}else{
+				sb.append(minute + ":");
+			}
+		}else{
+			sb.append("00" + ":");
+		}
+		if (second > 0) {
+			if(second<10){
+				sb.append("0"+second);
+			}else{
+				sb.append(second);
+			}
+		}else{
+			sb.append("00");
+		}
+		return sb.toString();
+	}
+
+	/**
+	 * 浣跨敤timestamp+鐩愭柟寮�,杩涜绛惧悕楠岃瘉
+	 * 褰撳墠鏃堕棿鎴充负13浣嶆暟
+	 */
+	public static boolean checkSignMD5(String time,String randomStr,String sign){
+		String usefulNum = randomStr;
+		//鍔犵洂鏂瑰紡,鏍规嵁鏈熬鐨勫�艰繘琛屼笉鍚岀殑鍔犲瘑瑙勫垯
+		char lastChar = time.charAt(12);
+		int lastNum = Integer.parseInt(String.valueOf(lastChar));
+		switch (lastNum){
+			//鍦ㄧ涓�浣嶅姞瀛楃涓� rd@c3doed
+			case 0: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3dozero");break;
+			case 1: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doenoe");break;
+			case 2: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doktwo");break;
+			case 3: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3dolthree");break;
+			case 4: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doexfour");break;
+			case 5: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedefive");break;
+			case 6: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedhsix");break;
+			case 7: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedtseven");break;
+			case 8: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedbeight");break;
+			case 9: usefulNum += time.replace(String.valueOf(lastChar),"rd@c3doedrnine");break;
+		}
+		//MD5鍔犲瘑鍚�
+		String signNow = (String) EncryptionMD5(usefulNum);
+		StringBuilder sb = new StringBuilder();
+		for (int i = 0; i < 10; i++) {
+			sb.append(signNow.charAt(i * 2));
+		}
+		String signResult = sb.append(signNow).toString();
+		return sign.equals(signResult);
+	}
+
+	//鑾峰彇褰撳墠绯荤粺鐨勮瑷�鐜
+	public static String getLang() {
+		Locale locale = Locale.getDefault();//瀵筁ocale绫诲疄渚嬪寲瀹氫箟
+		String lang = locale.getLanguage();
+		//String lang = "zh";
+		String str = (String) ActionUtil.getSession().getAttribute("lang");
+		if (str != null) {
+			lang = str;
+		}
+		return lang;
+	}
+
+}	
diff --git a/src/main/resources/mapper/BaojigroupPowerMapper.xml b/src/main/resources/mapper/BaojigroupPowerMapper.xml
new file mode 100644
index 0000000..a39567b
--- /dev/null
+++ b/src/main/resources/mapper/BaojigroupPowerMapper.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.whyc.mapper.BaojigroupPowerMapper">
+
+    <delete id="deleteStationAndLockList">
+        <foreach collection="list" item="item" separator=";">
+            delete from db_user.tb_baojigroup_power where baoji_id = #{item.baojiId} and
+            station_id = #{item.stationId} and power_id=#{item.powerId}
+        </foreach>
+    </delete>
+    <select id="getALlLockByBjId" resultType="com.whyc.pojo.db_user.BaojigroupPower">
+        select tb_baojigroup_power.*,tb_power_inf.power_name,tb_station_inf.station_name
+               from db_user.tb_baojigroup_power,db_station.tb_station_inf,db_station.tb_power_inf
+        where
+              tb_baojigroup_power.station_id=tb_station_inf.station_id
+              and tb_baojigroup_power.power_id=tb_power_inf.power_id
+              and baoji_id=#{id}
+        order by tb_baojigroup_power.baoji_id asc ,tb_baojigroup_power.station_id asc,tb_baojigroup_power.power_id asc
+    </select>
+    <select id="getHomeStationAndLock" resultType="com.whyc.pojo.db_user.BaojigroupPower">
+        select distinct tb_baojigroup_power.station_id,tb_baojigroup_power.power_id
+        from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr
+       <where>
+           tb_baojigroup_power.baoji_id=tb_baojigroup_usr.baoji_id
+           <if test="uid>100">
+               and tb_baojigroup_usr.uid=#{uid}
+           </if>
+       </where>
+    </select>
+    <select id="getLockIdByUid" resultType="java.lang.Integer">
+        select distinct tb_baojigroup_power.power_id
+        from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr
+        <where>
+            tb_baojigroup_power.baoji_id=tb_baojigroup_usr.baoji_id
+        <if test="uid>100">
+            and tb_baojigroup_usr.uid=#{uid}
+        </if>
+        </where>
+    </select>
+    <select id="getLocIdByStationidAndBjId" resultType="java.lang.Integer">
+        select distinct tb_baojigroup_power.power_id
+        from db_user.tb_baojigroup_power
+        <where>
+            tb_baojigroup_power.baoji_id=#{baojiId}
+          and tb_baojigroup_power.station_id=#{stationId}
+        </where>
+    </select>
+    <select id="getLockList" resultType="com.whyc.pojo.db_station.PowerInf">
+        select distinct l.power_id,l.power_name,l.station_id,s.station_name
+        from db_user.tb_baojigroup_power bl ,db_station.tb_power_inf l,db_station.tb_station_inf s
+        where bl.power_id = l.power_id and bl.station_id = s.station_id
+        and l.del_flag=0
+        and bl.baoji_id = #{id}
+        order by s.station_name
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/BaojigroupUsrMapper.xml b/src/main/resources/mapper/BaojigroupUsrMapper.xml
new file mode 100644
index 0000000..dbbc552
--- /dev/null
+++ b/src/main/resources/mapper/BaojigroupUsrMapper.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.whyc.mapper.BaojigroupUsrMapper">
+
+    <delete id="deleteUserList">
+        <foreach collection="list" item="item" separator=";" >
+            delete from plus_user.tb_baojigroup_usr where baoji_id = #{item.baojiId} and uid = #{item.uid}
+        </foreach>
+    </delete>
+    <select id="getALlUsrByBjId" resultType="com.whyc.pojo.plus_user.BaojigroupUsr">
+        select tb_baojigroup_usr.*,tb_user_inf.uname
+        from plus_user.tb_baojigroup_usr,plus_user.tb_user_inf
+        where tb_baojigroup_usr.uid=tb_user_inf.uid
+        and   baoji_id = #{id}
+    </select>
+    <select id="getUserList" resultType="com.whyc.pojo.plus_user.UserInf">
+        select u.uid,u.uname from plus_user.tb_baojigroup_usr bu,plus_user.tb_user_inf u
+        where bu.uid = u.uid
+          and bu.baoji_id = #{id}
+          and u.uid>100
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/PermitGroupUserMapper.xml b/src/main/resources/mapper/PermitGroupUserMapper.xml
new file mode 100644
index 0000000..b26c1f7
--- /dev/null
+++ b/src/main/resources/mapper/PermitGroupUserMapper.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.whyc.mapper.PermitGroupUserMapper" >
+
+
+    <select id="getPermitByUser" resultType="com.whyc.pojo.plus_user.PermitGroup">
+        select distinct tb_user_permitgroup.num,permit_group_name,tb_user_permitgroup.permit_group_id,permit_item_name,permit_item_value
+        from plus_user.tb_user_permitgroup,plus_user.tb_user_permitgroup_data
+        where tb_user_permitgroup.permit_group_id=tb_user_permitgroup_data.permit_group_id
+        and tb_user_permitgroup_data.uid=#{userId}
+        and tb_user_permitgroup.permit_item_value=1
+    </select>
+    <select id="getUserInf" resultType="com.whyc.pojo.plus_user.UserInf">
+        select u.* from plus_user.tb_user_permitgroup_data d,plus_user.tb_user_inf u
+        where u.uid = d.uid
+        and d.permit_group_id = #{permitGroupId}
+    </select>
+    <select id="getItemList" resultType="java.lang.String">
+        select  tb_user_permitgroup.permit_item_name
+        from plus_user.tb_user_permitgroup,plus_user.tb_user_permitgroup_data
+        <where>
+         tb_user_permitgroup.permit_group_id=tb_user_permitgroup_data.permit_group_id
+        <if test="uid>100">
+            and tb_user_permitgroup_data.uid=#{uid}
+        </if>
+        and tb_user_permitgroup.permit_item_value=1
+        </where>
+    </select>
+    <select id="getAllPermitList" resultType="com.whyc.pojo.plus_user.PermitGroup">
+        select  distinct  tb_user_permitgroup.num,permit_group_name,tb_user_permitgroup.permit_group_id,permit_item_name,permit_item_value
+        from plus_user.tb_user_permitgroup,plus_user.tb_user_permitgroup_data
+        where tb_user_permitgroup.permit_group_id=tb_user_permitgroup_data.permit_group_id
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/PowerInfMapper.xml b/src/main/resources/mapper/PowerInfMapper.xml
new file mode 100644
index 0000000..779fe5a
--- /dev/null
+++ b/src/main/resources/mapper/PowerInfMapper.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.whyc.mapper.PowerInfMapper">
+    <select id="getPowerList" resultType="com.whyc.pojo.db_station.PowerInf">
+        select tb_power_inf.*,tb_station_inf.station_name
+        from db_station.tb_power_inf,db_station.tb_station_inf
+        where tb_power_inf.station_id=tb_station_inf.station_id
+        order by tb_power_inf.num asc
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/StationInfMapper.xml b/src/main/resources/mapper/StationInfMapper.xml
new file mode 100644
index 0000000..3b95326
--- /dev/null
+++ b/src/main/resources/mapper/StationInfMapper.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.whyc.mapper.StationInfMapper">
+
+    <select id="getMaxStationNum" resultType="java.lang.Integer">
+        select ifnull(max(station_num),0) from  db_station.tb_station_inf where station_id>0;
+    </select>
+    <resultMap id="name1List" type="provice">
+        <result property="provice" column="provice" ></result>
+        <collection property="cityList" javaType="java.util.ArrayList" ofType="com.whyc.dto.Station.City" column="{provice=provice}" select="selectCity">
+        </collection>
+    </resultMap>
+    <select id="getLeftStation" resultMap="name1List">
+          select distinct provice from db_station.tb_station_inf
+          where station_id in(
+              select distinct station_id from db_user.tb_user_baojigroup_power,db_user.tb_baojigroup_usr
+              <where>
+                  tb_user_baojigroup_power.baoji_id=tb_baojigroup_usr.baoji_id
+                  <if test="uid>100">
+                      and tb_baojigroup_usr.uid=#{uid}
+                  </if>
+              </where>
+              )
+    </select>
+
+    <resultMap id="name2List" type="city">
+        <result property="provice" column="provice"></result>
+        <result property="city" column="city" ></result>
+        <collection property="countryList" javaType="java.util.ArrayList" ofType="com.whyc.dto.Station.Country" column="{provice=provice,city=city}" select="selectCountry">
+        </collection>
+    </resultMap>
+    <select id="selectCity" resultMap="name2List">
+        SELECT distinct #{provice} as provice,city from  db_station.tb_station_inf
+        where provice=#{provice}
+    </select>
+
+    <resultMap id="name3List" type="country">
+        <result property="provice" column="provice"></result>
+        <result property="city" column="city" ></result>
+        <result property="country" column="country" ></result>
+        <collection property="stationList" javaType="java.util.ArrayList" ofType="com.whyc.dto.Station.Station" column="{provice=provice,city=city,country=country}" select="selectStation">
+        </collection>
+    </resultMap>
+    <select id="selectCountry" resultMap="name3List">
+        SELECT distinct #{provice} as provice, #{city} as city,country from  db_station.tb_station_inf
+        where provice=#{provice} and city=#{city}
+    </select>
+
+    <resultMap id="name4List" type="station">
+        <result property="provice" column="provice"></result>
+        <result property="city" column="city" ></result>
+        <result property="country" column="country" ></result>
+        <result property="stationName" column="station_name" ></result>
+        <result property="stationId" column="station_id" ></result>
+    </resultMap>
+    <select id="selectStation" resultMap="name4List">
+        SELECT distinct #{provice} as provice, #{city} as city, #{country} as country,station_name,station_id from  db_station.tb_station_inf
+        where provice=#{provice} and city=#{city} and country=#{country}
+    </select>
+    
+    <select id="getProviceByUid" resultType="java.lang.String">
+        select distinct provice from db_station.tb_station_inf
+        where tb_station_inf.station_id in(
+            select distinct station_id from db_user.tb_user_baojigroup_power,db_user.tb_baojigroup_usr
+            <where>
+                tb_user_baojigroup_power.baoji_id=tb_baojigroup_usr.baoji_id
+                <if test="uid>100">
+                    and tb_baojigroup_usr.uid=#{uid}
+                </if>
+            </where>
+        )
+    </select>
+    <select id="getCityByUid" resultType="java.lang.String">
+        select distinct city from db_station.tb_station_inf
+        <where>
+            <if test="provice!=null">
+                and provice=#{provice}
+            </if>
+              and tb_station_inf.station_id in(
+                        select distinct station_id from db_user.tb_user_baojigroup_power,db_user.tb_baojigroup_usr
+                        <where>
+                            tb_user_baojigroup_power.baoji_id=tb_baojigroup_usr.baoji_id
+                            <if test="uid>100">
+                                and tb_baojigroup_usr.uid=#{uid}
+                            </if>
+                        </where>
+                        )
+        </where>
+    </select>
+    <select id="getCountryByUid" resultType="java.lang.String">
+        select distinct country from db_station.tb_station_inf
+        <where>
+            <if test="provice!=null">
+                and provice=#{provice}
+            </if>
+            <if test="city!=null">
+                and city=#{city}
+            </if>
+            and tb_station_inf.station_id in(
+            select distinct station_id from db_user.tb_user_baojigroup_power,db_user.tb_baojigroup_usr
+            <where>
+                tb_user_baojigroup_power.baoji_id=tb_baojigroup_usr.baoji_id
+                <if test="uid>100">
+                    and tb_baojigroup_usr.uid=#{uid}
+                </if>
+            </where>
+            )
+        </where>
+    </select>
+    <select id="getStationByUid" resultType="java.lang.String">
+        select distinct station_name from db_station.tb_station_inf
+        <where>
+            <if test="provice!=null">
+                and provice=#{provice}
+            </if>
+            <if test="city!=null">
+                and city=#{city}
+            </if>
+            <if test="country!=null">
+                and country=#{country}
+            </if>
+            and tb_station_inf.station_id in(
+            select distinct station_id from db_user.tb_user_baojigroup_power,db_user.tb_baojigroup_usr
+            <where>
+                tb_user_baojigroup_power.baoji_id=tb_baojigroup_usr.baoji_id
+                <if test="uid>100">
+                    and tb_baojigroup_usr.uid=#{uid}
+                </if>
+            </where>
+            )
+        </where>
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index d430bc3..6269157 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -3,7 +3,23 @@
 <mapper namespace="com.whyc.mapper.UserMapper" >
 
     <select id="addJudge" resultType="int">
-        select count(id) as nums from db_battery_gwm.tb_user where name=#{name} or phone_number=#{phoneNumber} limit 1
+        select count(id) as nums from db_user.tb_user where name=#{name} or phone_number=#{phoneNumber} limit 1
+    </select>
+    <select id="getBaojiUserByUid" resultType="com.whyc.pojo.db_user.User">
+        SELECT id,uname FROM  db_user.tb_user
+        <where>
+            id>100 and
+            id in(
+            select distinct uid from  db_user.tb_baojigroup_usr
+            <where>
+                baoji_id in(
+                <foreach collection="baojiIdList" item="baojiId" open="(" separator="," close=")">
+                    #{baojiId}
+                </foreach>
+                )
+            </where>
+            )
+        </where>
     </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1