whyclxw
2025-05-15 476ccf8a7dcd23806dd49944659ec34575047c40
添加电源
8个文件已修改
189 ■■■■■ 已修改文件
src/main/java/com/whyc/dto/PowerDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/PowerInfMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/db_station/PowerInf.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BaojigroupService.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/PowerInfService.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BaojigroupPowerMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/PowerInfMapper.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/PowerDto.java
@@ -8,6 +8,7 @@
    private String city;
    private String country;
    private String stationName;
    private String powerName;
    private Integer pageNum;
    private Integer pageSize;
    private Integer uid;
src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java
@@ -13,8 +13,6 @@
    List<BaojigroupPower> getALlLockByBjId(@Param("id") Integer id);
    //地图顶部的管理的站点和设备(锁)
    List<BaojigroupPower> getHomeStationAndLock(@Param("uid") Integer uid);
    //查询用户管理的锁id集合
    List<Integer> getLockIdByUid(@Param("uid") int uid);
    //根据dto中stationid和包机组id查询出管理的lockid
    List<Integer> getLocIdByStationidAndBjId(@Param("stationId") Integer stationId, @Param("baojiId") Integer baojiId);
src/main/java/com/whyc/mapper/PowerInfMapper.java
@@ -1,9 +1,15 @@
package com.whyc.mapper;
import com.whyc.dto.PowerDto;
import com.whyc.pojo.db_station.PowerInf;
import com.whyc.pojo.db_station.StationInf;
import java.util.List;
public interface PowerInfMapper extends CustomMapper<PowerInf>{
    List<PowerInf> getPowerList();
    //获取对应的电源id
    int getMaxPowerId();
    //查询电源
    List<PowerInf> getPower(PowerDto dto);
}
src/main/java/com/whyc/pojo/db_station/PowerInf.java
@@ -1,6 +1,7 @@
package com.whyc.pojo.db_station;
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;
@@ -56,5 +57,11 @@
    @ApiModelProperty(value = "电源ip")
    private String powerIp;
    @TableField(exist = false)
    private StationInf sinf;
    @TableField(exist = false)
    private String stationName;
}
src/main/java/com/whyc/service/BaojigroupService.java
@@ -164,11 +164,11 @@
    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());
        List<PowerInf> powerList = bjPowermapper.getPowerList(id);
        List<PowerInf> allPowerList = powerInfMapper.getPowerList();
        List<PowerInf> notRelatedLockList = allPowerList.stream().filter(PowerInf -> !powerList.contains(PowerInf)).collect(Collectors.toList());
        resultMap.put("stationsAdded",lockList);
        resultMap.put("stationsAdded",powerList);
        resultMap.put("stationsNotAdded",notRelatedLockList);
        return resultMap;
@@ -194,4 +194,11 @@
        Integer flag =  bjUsrmapper.getGroupFlag(userId);
        return flag != null && flag == 1;
    }
    //先校验当前用户是否存在包机组
    public int checkUserBaojiGroup(Integer id) {
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("uid",id);
        List<BaojigroupUsr> list=bjUsrmapper.selectList(wrapper);
        return list == null?0:1 ;
    }
}
src/main/java/com/whyc/service/PowerInfService.java
@@ -10,9 +10,12 @@
import com.whyc.mapper.StationInfMapper;
import com.whyc.pojo.db_station.PowerInf;
import com.whyc.pojo.db_station.StationInf;
import com.whyc.pojo.db_user.User;
import com.whyc.util.ActionUtil;
import org.apache.commons.math3.analysis.function.Power;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -24,81 +27,91 @@
    @Autowired(required = false)
    private StationInfMapper sinfMapper;
    @Autowired(required = false)
    private BaojigroupService bjService;
    //添加电源
    @Transactional
   public Response addPower(PowerInf addpinf) {
       /* //判断添加锁的时候机房是不是新机房
        String fullName=addpinf.getProvice()+"_"+addpinf.getCity()+"_"+addpinf.getCountry()+"_"+addsinf.getStationName();
       //先校验当前用户是否存在包机组不存在则不让添加电源
       User user= ActionUtil.getUser();
       int flag=bjService.checkUserBaojiGroup(user.getId());
       if(flag==0){
           return new Response().set(1,false,"当前用户不存在包机组");
       }
        //机房信息
        StationInf addsinf= addpinf.getSinf();
        //判断添加锁的时候机房是不是新机房
        String fullName=addsinf.getProvice()+"_"+addsinf.getCity()+"_"+addsinf.getCountry()+"_"+addsinf.getStationName();
        //判断机房是否存在
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("full_name",fullName);
        wrapper.last("limit 1");
       PowerInf pinf=mapper.selectOne(wrapper);
        StationInf sinf=sinfMapper.selectOne(wrapper);
        int stationId=0;
        if(pinf!=null){
            return new Response().set(1,false,"机房已存在");
        int powerId=0;
        if(sinf!=null){
            stationId=sinf.getStationId();
        }else {
            //获取对应的机房id
            stationId=sinfMapper.getMaxStationId();
            if(stationId==0){//数据库中没有站点
                stationId=40000001;
            }else{
                stationId+=1;
            stationId = sinfMapper.getMaxStationId();
            if (stationId == 0) {//数据库中没有站点
                stationId = 40000001;
            } else {
                stationId += 1;
            }
            StationInf newSinf=new StationInf();
            newSinf.setStationId(stationId);
            newSinf.setStationName(fullName);
            newSinf.setProvice(addsinf.getProvice());
            newSinf.setCity(addsinf.getCity());
            newSinf.setCountry(addsinf.getCountry());
            newSinf.setStationName(addsinf.getStationName());
            mapper.insert(newSinf);*/
            return new Response().set(1,true,"添加电源");
            addsinf.setFullName(fullName);
            addsinf.setStationId(stationId);
            sinfMapper.insert(addsinf);
        }
            //再添加电源信息
            addpinf.setStationId(stationId);
            //获取对应的电源id
            powerId = mapper.getMaxPowerId();
            if (powerId == 0) {//数据库中没有站点
                powerId = 10001;
            } else {
                powerId += 1;
            }
            addpinf.setPowerId(powerId);
            mapper.insert(addpinf);
            return new Response().set(1, true, "添加电源");
    }
    //删除电源
    public Response delPower(Integer pid) {
       /* UpdateWrapper wrapper=new UpdateWrapper();
        wrapper.eq("station_id",stationId);
        mapper.delete(wrapper);*/
        UpdateWrapper wrapper=new UpdateWrapper();
        wrapper.eq("power_id",pid);
        mapper.delete(wrapper);
        return new Response().set(1,true);
    }
    //修改电源
    public Response updatePower(PowerInf pinf) {
        UpdateWrapper wrapper=new UpdateWrapper();
        /*wrapper.eq("station_id",sinf.getStationId());
        if(sinf.getProvice()!=null){
            wrapper.set("provice",sinf.getProvice());
        wrapper.eq("power_id",pinf.getPowerId());
        if(pinf.getPowerName()!=null){
            wrapper.set("power_name",pinf.getPowerName());
        }
        if(sinf.getCity()!=null){
            wrapper.set("city",sinf.getCity());
        if(pinf.getCompany()!=null){
            wrapper.set("company",pinf.getCompany());
        }
        if(sinf.getCountry()!=null){
            wrapper.set("country",sinf.getCountry());
        if(pinf.getModel()!=null){
            wrapper.set("model",pinf.getModel());
        }
        if(sinf.getStationName()!=null){
            wrapper.set("station_name",sinf.getStationName());
        if(pinf.getProtocol()!=null){
            wrapper.set("protocol",pinf.getProtocol());
        }
        String fullName=sinf.getProvice()+"_"+sinf.getCity()+"_"+sinf.getCountry()+"_"+sinf.getStationName();
        wrapper.set("full_name",fullName);
        mapper.update((StationInf) ActionUtil.objeNull,wrapper);*/
        if(pinf.getPowerIp()!=null){
            wrapper.set("power_ip",pinf.getPowerIp());
        }
        mapper.update((PowerInf) ActionUtil.objeNull,wrapper);
        return new Response().set(1,true);
    }
    //查询电源
    public Response getPower(PowerDto dto) {
        User user= ActionUtil.getUser();
        dto.setUid(user.getId());
        PageHelper.startPage(dto.getPageNum(),dto.getPageSize());
        QueryWrapper wrapper=new QueryWrapper();
        if(dto.getProvice()!=null){
            wrapper.eq("provice",dto.getProvice());
        }
        if(dto.getCity()!=null){
            wrapper.eq("city",dto.getCity());
        }
        if(dto.getCountry()!=null){
            wrapper.eq("country",dto.getCountry());
        }
        if(dto.getStationName()!=null){
            wrapper.eq("station_name",dto.getStationName());
        }
        List<StationInf> list=mapper.selectList(wrapper);
        List<PowerInf> list=mapper.getPower(dto);
        PageInfo pageInfo=new PageInfo(list);
        return new Response().setII(1,list!=null,pageInfo,"查询电源");
    }
src/main/resources/mapper/BaojigroupPowerMapper.xml
@@ -27,16 +27,6 @@
           </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
@@ -53,4 +43,12 @@
        and bl.baoji_id = #{id}
        order by s.station_name
    </select>
    <select id="getPowerList" 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>
src/main/resources/mapper/PowerInfMapper.xml
@@ -7,4 +7,35 @@
        where tb_power_inf.station_id=tb_station_inf.station_id
        order by tb_power_inf.num asc
    </select>
    <select id="getMaxPowerId" resultType="java.lang.Integer">
        select ifnull(max(power_id),0) from  db_station.tb_power_inf where power_id>0;
    </select>
    <select id="getPower" 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
        <if test="provice!=null">
            and tb_station_inf.provice=#{provice}
        </if>
        <if test="city!=null">
            and tb_station_inf.city=#{city}
        </if>
        <if test="country!=null">
            and tb_station_inf.country=#{country}
        </if>
        <if test="stationName!=null">
            and tb_station_inf.station_name like concat('%',#{stationName},'%')
        </if>
        <if test="powerName!=null">
            and tb_power_inf.power_name like concat('%',#{powerName},'%')
        </if>
        <if test="uid>100">
            and tb_power_inf.power_id in(
            select distinct power_id from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr
             where   tb_baojigroup_power.baoji_group_id=tb_baojigroup_usr.baoji_group_id
                    and tb_baojigroup_usr.uid=#{uid}
            )
        </if>
    </select>
</mapper>