lxw
2023-06-17 80196efc4037a6430f5eaba64b066d92e3cc3f85
文件升级改websocket
5个文件已修改
143 ■■■■ 已修改文件
src/main/java/com/whyc/controller/Fbs9100sDfuStateController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/mapper/Fbs9100sDfuStateMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/Fbs9100sDfuStateService.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/webSocket/Fbs9100sDfuStateSocket.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/Fbs9100sDfuStateMapper.xml 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/Fbs9100sDfuStateController.java
@@ -8,7 +8,6 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -25,19 +24,26 @@
    @ApiOperation("查询正在升级的设备")
    @GetMapping("searchAll")
    public Response searchAll(){
        return  service.searchAll();
    public Response searchAll() {
        return service.searchAll();
    }
    @ApiOperation("websocket查询正在升级的设备")
    @PostMapping("searchWebscoket")
    public Response searchWebscoket(@RequestBody List<Integer> devIds) {
        return service.searchWebscoket(devIds);
    }
    @ApiOperation("查询A059设备升级")
    @GetMapping("searchA059")
    public Response searchA059(@RequestParam int pageNum,@RequestParam int pageSize,@RequestParam(required = false) String stationName1,@RequestParam(required = false) String stationName2,@RequestParam(required = false) String stationName5){
    public Response searchA059(@RequestParam int pageNum, @RequestParam int pageSize, @RequestParam(required = false) String stationName1, @RequestParam(required = false) String stationName2, @RequestParam(required = false) String stationName5) {
        UserInf userInf = ActionUtil.getUser();
        return service.searchA059(pageNum,pageSize,stationName1,stationName2,stationName5,userInf.getUId().intValue());
        return service.searchA059(pageNum, pageSize, stationName1, stationName2, stationName5, userInf.getUId().intValue());
    }
    @ApiOperation("更新升级参数")
    @PostMapping("updateParam")
    public Response updateA059(@RequestBody Fbs9100sDfuState fbs9100sDfuState){
    public Response updateA059(@RequestBody Fbs9100sDfuState fbs9100sDfuState) {
        return service.updateA059(fbs9100sDfuState);
    }
src/main/java/com/whyc/mapper/Fbs9100sDfuStateMapper.java
@@ -2,7 +2,6 @@
import com.whyc.pojo.Fbs9100sDfuState;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -24,4 +23,7 @@
    List judgeStation(@Param("devIds") List<Integer> devIds);
    int updateDfuEn(@Param("id") long id);
    //websocket查询正在升级的设备
    List<Fbs9100sDfuState> searchWebscoket(@Param("devIds") List<Integer> devIds);
}
src/main/java/com/whyc/service/Fbs9100sDfuStateService.java
@@ -1,14 +1,12 @@
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.mapper.Fbs9100sDfuStateMapper;
import com.whyc.pojo.Fbs9100sDfuState;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@@ -17,30 +15,35 @@
public class Fbs9100sDfuStateService {
    @Resource
    private Fbs9100sDfuStateMapper mapper;
    //查询正在升级的设备
    public Response searchAll() {
        List list=mapper.searchAll();
        PageInfo pageInfo=new PageInfo(list);
        return new Response().set(1,pageInfo);
        List list = mapper.searchAll();
        PageInfo pageInfo = new PageInfo(list);
        return new Response().set(1, pageInfo);
    }
    public Response searchA059(int pageNum,int pageSize,String stationName1,String stationName2,String stationName5,int uId){
        PageHelper.startPage(pageNum,pageSize);
        List list = mapper.searchA059(stationName1,stationName2,stationName5,uId);
    //websocket查询正在升级的设备
    public Response searchWebscoket(List<Integer> devIds) {
        List<Fbs9100sDfuState> list = mapper.searchWebscoket(devIds);
        return new Response().set(1, list);
    }
    public Response searchA059(int pageNum, int pageSize, String stationName1, String stationName2, String stationName5, int uId) {
        PageHelper.startPage(pageNum, pageSize);
        List list = mapper.searchA059(stationName1, stationName2, stationName5, uId);
        PageInfo<Fbs9100sDfuState> pageInfo = new PageInfo<>(list);
        return new Response().set(1,pageInfo,"查询成功");
        return new Response().set(1, pageInfo, "查询成功");
    }
    public Response updateA059(Fbs9100sDfuState fbs9100sDfuState){
        //UpdateWrapper updateWrapper = new UpdateWrapper();
        //updateWrapper.eq("dev_id",fbs9100sDfuState.getDevId());
    public Response updateA059(Fbs9100sDfuState fbs9100sDfuState) {
        int flag = 0;
        if (fbs9100sDfuState.getDfuEn()==3){//升级失败
        if (fbs9100sDfuState.getDfuEn() == 3) {//升级失败
            flag = mapper.updateDfuEn(fbs9100sDfuState.getNum());
        }else {
        } else {
            flag = mapper.updateById(fbs9100sDfuState);
        }
        return new Response().set(1,flag>0?true:false);
        return new Response().set(1, flag > 0 ? true : false);
    }
    //添加
src/main/java/com/whyc/webSocket/Fbs9100sDfuStateSocket.java
@@ -1,13 +1,16 @@
package com.whyc.webSocket;
import com.google.gson.reflect.TypeToken;
import com.whyc.dto.Response;
import com.whyc.service.Fbs9100sDfuStateService;
import com.whyc.util.ActionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Component
@@ -35,6 +38,12 @@
    @OnOpen
    public void onOpen(Session session) {
        this.session = session;
    }
    @OnMessage
    public synchronized void onMessage(Session session, String message) {
        List<Integer> devIds = ActionUtil.getGson().fromJson(message, new TypeToken<List<Integer>>() {
        }.getType());
        thread = new Thread("Thread_fbs9100sDfuState") {
            @Override
            public void run() {
@@ -43,7 +52,7 @@
                    threadFlagMap.put(thread.getId(), true);
                    try {
                        Response res = service.searchAll();
                        Response res = service.searchWebscoket(devIds);
                        if (session.isOpen()) {
                            //推送信息
                            synchronized (session) {
@@ -70,11 +79,6 @@
        }
        //将线程存储,便于调用定位
        threadMap.put(session.getId(), this.thread);
    }
    @OnMessage
    public synchronized void onMessage(Session session, String message) {
    }
    @OnClose
src/main/resources/mapper/Fbs9100sDfuStateMapper.xml
@@ -1,20 +1,69 @@
<?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.Fbs9100sDfuStateMapper">
    <select id="searchAll" resultType="com.whyc.pojo.Fbs9100sDfuState">
        select distinct db_ram_db.tb_fbs9100s_dfu_state.num,db_ram_db.tb_fbs9100s_dfu_state.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationId,db_battinf.tb_battinf.fBSDeviceName
        ,sysVersion_new,softVersion_new,sysVersion_dev,softVersion_dev,dfu_file,dfu_en,dfu_wr_stat,dfu_data_blocknum,dfu_data_blocklen,dfu_file_len
        ,db_ram_db.tb_fbs9100_state.dev_version
        from  db_ram_db.tb_fbs9100s_dfu_state,db_battinf.tb_battinf,db_ram_db.tb_fbs9100_state
        where db_ram_db.tb_fbs9100s_dfu_state.dev_id=db_battinf.tb_battinf.fBSDeviceId
        and db_ram_db.tb_fbs9100s_dfu_state.dev_id=db_ram_db.tb_fbs9100_state.dev_id
        and dfu_en=1
    </select>
    <select id="searchAll" resultType="com.whyc.pojo.Fbs9100sDfuState">
        select distinct db_ram_db.tb_fbs9100s_dfu_state.num
                      , db_ram_db.tb_fbs9100s_dfu_state.dev_id
                      , db_battinf.tb_battinf.stationname
                      , db_battinf.tb_battinf.stationId
                      , db_battinf.tb_battinf.fBSDeviceName
                      , sysVersion_new
                      , softVersion_new
                      , sysVersion_dev
                      , softVersion_dev
                      , dfu_file
                      , dfu_en
                      , dfu_wr_stat
                      , dfu_data_blocknum
                      , dfu_data_blocklen
                      , dfu_file_len
                      , db_ram_db.tb_fbs9100_state.dev_version
        from db_ram_db.tb_fbs9100s_dfu_state,
             db_battinf.tb_battinf,
             db_ram_db.tb_fbs9100_state
        where db_ram_db.tb_fbs9100s_dfu_state.dev_id = db_battinf.tb_battinf.fBSDeviceId
          and db_ram_db.tb_fbs9100s_dfu_state.dev_id = db_ram_db.tb_fbs9100_state.dev_id
          and dfu_en = 1
    </select>
    <select id="searchWebscoket" resultType="com.whyc.pojo.Fbs9100sDfuState">
        select distinct db_ram_db.tb_fbs9100s_dfu_state.num
        , db_ram_db.tb_fbs9100s_dfu_state.dev_id
        , db_battinf.tb_battinf.stationname
        , db_battinf.tb_battinf.stationId
        , db_battinf.tb_battinf.fBSDeviceName
        , sysVersion_new
        , softVersion_new
        , sysVersion_dev
        , softVersion_dev
        , dfu_file
        , dfu_en
        , dfu_wr_stat
        , dfu_data_blocknum
        , dfu_data_blocklen
        , dfu_file_len
        , db_ram_db.tb_fbs9100_state.dev_version
        from db_ram_db.tb_fbs9100s_dfu_state,
        db_battinf.tb_battinf,
        db_ram_db.tb_fbs9100_state
        <where>
            db_ram_db.tb_fbs9100s_dfu_state.dev_id = db_battinf.tb_battinf.fBSDeviceId
            and db_ram_db.tb_fbs9100s_dfu_state.dev_id = db_ram_db.tb_fbs9100_state.dev_id
            and dfu_en = 1
            <if test="devIds.size>0">
                <foreach collection="devIds" item="devId" open="and db_ram_db.tb_fbs9100s_dfu_state.dev_id in("
                         close=")" separator=",">
                    #{devId}
                </foreach>
            </if>
        </where>
    </select>
    <select id="searchA059" resultType="com.whyc.pojo.Fbs9100sDfuState">
        select distinct db_ram_db.tb_fbs9100s_dfu_state.num,db_ram_db.tb_fbs9100s_dfu_state.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationId,db_battinf.tb_battinf.fBSDeviceName
        select distinct
        db_ram_db.tb_fbs9100s_dfu_state.num,db_ram_db.tb_fbs9100s_dfu_state.dev_id,db_battinf.tb_battinf.stationname,db_battinf.tb_battinf.stationId,db_battinf.tb_battinf.fBSDeviceName
        ,sysVersion_new,softVersion_new,sysVersion_dev,softVersion_dev,dfu_file,dfu_en,dfu_wr_stat,dfu_data_blocknum,dfu_data_blocklen,dfu_file_len,error_code
        from  db_ram_db.tb_fbs9100s_dfu_state,db_battinf.tb_battinf
        from db_ram_db.tb_fbs9100s_dfu_state,db_battinf.tb_battinf
        where db_ram_db.tb_fbs9100s_dfu_state.dev_id=db_battinf.tb_battinf.fBSDeviceId
        and db_ram_db.tb_fbs9100s_dfu_state.dev_id like '8059%'
        <if test="stationName1 != null and stationName1!='' and stationName1!='null'">
@@ -100,4 +149,5 @@
        </where>
    </select>
</mapper>