whycxzp
2022-11-09 c8a6686d7c98c6a83b71d5e7c0b54aa0dd2107fa
更新socket
5个文件已修改
124 ■■■■■ 已修改文件
src/main/java/com/whyc/mapper/BattRtdataMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/pojo/Dev60870InverterInfo.java 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattRtdataService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/Dev60870InverterSocket.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BattRtdataMapper.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/BattRtdataMapper.java
@@ -22,4 +22,7 @@
    //第三方接口 查询单体实时
    List<BattRtdata> getRealtime(@Param("stationIds") List stationIds);
    List<BattRtdata> getByDevId(@Param("devId") int devId);
}
src/main/java/com/whyc/pojo/Dev60870InverterInfo.java
@@ -62,6 +62,23 @@
    private Float        inverterCOutputFreq;
    @TableField("inverterCOutputBackCurr")
    private Float        inverterCOutputBackCurr;
    @TableField("battTestTimeLong1")
    private Integer battTestTimeLong1;
    @TableField("battTestTimeLong2")
    private Integer battTestTimeLong2;
    @TableField("battTestCap1")
    private Float battTestCap1;
    @TableField("battTestCap2")
    private Float battTestCap2;
    @TableField("roomTemp1")
    private Float roomTemp1;
    @TableField("roomTemp2")
    private Float roomTemp2;
    @TableField("roomHumid1")
    private Float roomHumid1;
    @TableField("roomHumid2")
    private Float roomHumid2;
    public Integer getNum() {
        return num;
@@ -286,4 +303,68 @@
    public void setInverterCOutputBackCurr(Float inverterCOutputBackCurr) {
        this.inverterCOutputBackCurr = inverterCOutputBackCurr;
    }
    public Integer getBattTestTimeLong1() {
        return battTestTimeLong1;
    }
    public void setBattTestTimeLong1(Integer battTestTimeLong1) {
        this.battTestTimeLong1 = battTestTimeLong1;
    }
    public Integer getBattTestTimeLong2() {
        return battTestTimeLong2;
    }
    public void setBattTestTimeLong2(Integer battTestTimeLong2) {
        this.battTestTimeLong2 = battTestTimeLong2;
    }
    public Float getBattTestCap1() {
        return battTestCap1;
    }
    public void setBattTestCap1(Float battTestCap1) {
        this.battTestCap1 = battTestCap1;
    }
    public Float getBattTestCap2() {
        return battTestCap2;
    }
    public void setBattTestCap2(Float battTestCap2) {
        this.battTestCap2 = battTestCap2;
    }
    public Float getRoomTemp1() {
        return roomTemp1;
    }
    public void setRoomTemp1(Float roomTemp1) {
        this.roomTemp1 = roomTemp1;
    }
    public Float getRoomTemp2() {
        return roomTemp2;
    }
    public void setRoomTemp2(Float roomTemp2) {
        this.roomTemp2 = roomTemp2;
    }
    public Float getRoomHumid1() {
        return roomHumid1;
    }
    public void setRoomHumid1(Float roomHumid1) {
        this.roomHumid1 = roomHumid1;
    }
    public Float getRoomHumid2() {
        return roomHumid2;
    }
    public void setRoomHumid2(Float roomHumid2) {
        this.roomHumid2 = roomHumid2;
    }
}
src/main/java/com/whyc/service/BattRtdataService.java
@@ -10,7 +10,10 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class BattRtdataService {
@@ -43,4 +46,13 @@
        PageInfo pageInfo=new PageInfo(list);
        return new Response().setII(1,list.size()>0?true:false,pageInfo,"");
    }
    public Map<Integer, List<BattRtdata>> getByDevId(int devId) {
        List<BattRtdata> dataList = mapper.getByDevId(devId);
        if(dataList!=null && dataList.size()>0) {
            return dataList.stream().collect(Collectors.groupingBy(BattRtdata::getBattGroupId));
        }else{
            return new HashMap<>();
        }
    }
}
src/main/java/com/whyc/webSocket/Dev60870InverterSocket.java
@@ -2,14 +2,8 @@
import com.whyc.dto.Response;
import com.whyc.mapper.Fbs9100StateMapper;
import com.whyc.pojo.Dev60870InverterInfo;
import com.whyc.pojo.Dev60870InverterState;
import com.whyc.pojo.Dev61851State;
import com.whyc.pojo.Fbs9100State;
import com.whyc.service.Dev60870InverterInfoService;
import com.whyc.service.Dev60870InverterStateService;
import com.whyc.service.Dev61851StateService;
import com.whyc.service.Fbs9100StateService;
import com.whyc.pojo.*;
import com.whyc.service.*;
import com.whyc.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -18,6 +12,7 @@
import javax.websocket.server.ServerEndpoint;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Component
@@ -36,6 +31,7 @@
    private static Dev60870InverterInfoService infoService;
    private static Dev60870InverterStateService stateService;
    private static Fbs9100StateService fbs9100StateService;
    private static BattRtdataService battRtdataService;
    private Session session;
@@ -52,6 +48,11 @@
    @Autowired
    public void setFbs9100StateService(Fbs9100StateService fbs9100StateService) {
        Dev60870InverterSocket.fbs9100StateService = fbs9100StateService;
    }
    @Autowired
    public void setBattRtdataService(BattRtdataService battRtdataService) {
        Dev60870InverterSocket.battRtdataService = battRtdataService;
    }
    @OnOpen
@@ -71,11 +72,15 @@
                    try {
                        Dev60870InverterInfo info = infoService.getByDevId(devId);
                        Dev60870InverterState state = stateService.getByDevId(devId);
                        Map<String,Object> map = new HashMap<>();
                        Fbs9100State fbs9100State = (Fbs9100State) fbs9100StateService.serchContactorState(devId).getData2();
                        Map<Integer, List<BattRtdata>> battRtDataMap = battRtdataService.getByDevId(devId);
                        map.put("fbs9100State",fbs9100State);
                        map.put("battRtDataMap",battRtDataMap);
                        if (session.isOpen()) {
                            //推送信息
                            synchronized (session) {
                                session.getBasicRemote().sendObject(new Response().setIII(1,info,state,fbs9100State, DateUtil.YYYY_MM_DD_HH_MM_SS.format(new Date())));
                                session.getBasicRemote().sendObject(new Response().setIII(1,info,state,map, DateUtil.YYYY_MM_DD_HH_MM_SS.format(new Date())));
                            }
                            threadFlagMap.put(thread.getId(),false);
                        }
src/main/resources/mapper/BattRtdataMapper.xml
@@ -39,8 +39,11 @@
    </foreach>
  </select>
    <select id="getByDevId" resultType="com.whyc.pojo.BattRtdata">
      SELECT r.BattGroupId batt_group_id,r.mon_vol,r.mon_tmp,r.mon_res FROM db_ram_db.tb_batt_rtdata r,db_battinf.tb_battinf b where r.BattGroupId = b.BattGroupId and b.FBSDeviceId = #{devId}
    </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    delete from tb_batt_rtdata
    where num = #{num,jdbcType=BIGINT}
  </delete>