package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.*; import com.whyc.pojo.db_batt.PowerInf; import com.whyc.pojo.db_power_alarm.PowerAlarm; import com.whyc.pojo.db_real_batt.RtData; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; @Service public class PowerInfService { @Autowired(required = false) private PowerInfMapper mapper; @Autowired(required = false) private RtDataMapper rtDataMapper; @Autowired(required = false) private PowerRealRt1Mapper realRt1Mapper; @Autowired(required = false) private PowerRealRt2Mapper realRt2Mapper; @Autowired(required = false) private PowerRealRt3Mapper realRt3Mapper; @Autowired(required = false) private PowerAlarmMapper pAlarmMapper; //根据id获取电源信息 public Map getInfById(int powerId) { Map map=new HashMap<>(); QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("power_id",powerId); wrapper.last("limit 1"); PowerInf pinf=mapper.selectOne(wrapper); Integer devType=pinf.getDevType(); map.put("devType",devType); if(devType!=3){//第三种不包含单体实时 List list=getBattRt(pinf.getBinfId()); map.put("battRt",list); } Object obj=getRealRt(powerId,devType); map.put("realRt"+devType,obj); List powerAlarmList=pAlarmMapper.getResPowerAlm(powerId); map.put("powerAlarm",powerAlarmList); return map; } //获取电电源信息 private Object getRealRt(int powerId,int devType) { QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("power_id",powerId); wrapper.last("limit 1"); Object obj=null; if(devType==1){ obj=realRt1Mapper.selectOne(wrapper); } if(devType==2){ obj=realRt2Mapper.selectOne(wrapper); } if(devType==3){ obj=realRt3Mapper.selectOne(wrapper); } return obj; } //获取电源电池组信息 private List getBattRt(int binfId) { QueryWrapper wrapper=new QueryWrapper(); wrapper.eq("binf_id",binfId); List list=rtDataMapper.selectList(wrapper); return list; } public Response add(PowerInf powerInf) { mapper.insert(powerInf); return new Response().setII(1,"新增完成"); } public Response delete(int powerId) { mapper.deleteById(powerId); return new Response().setII(1,"删除完成"); } public Response update(PowerInf powerInf) { mapper.updateById(powerInf); return new Response().setII(1,"修改完成"); } public Response getPage(int pageNum, int pageSize) { PageHelper helper = new PageHelper(); helper.startPage(pageNum,pageSize); List powerInfs = mapper.selectList(null); PageInfo pageInfo = new PageInfo<>(powerInfs); return new Response().set(1,pageInfo); } public Response getById(int powerId) { PowerInf powerInf = mapper.selectById(powerId); return new Response().set(1,powerInf); } }