lxw
2023-12-14 ccfb7dd5574724024bc2c48d3ca36f9c8b6896d4
src/main/java/com/whyc/service/DevUpdateStateService.java
@@ -1,5 +1,6 @@
package com.whyc.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.whyc.mapper.DevUpdateStateMapper;
import com.whyc.pojo.DevUpdateState;
@@ -18,13 +19,13 @@
public class DevUpdateStateService {
    @Autowired(required = false)
    private DevUpdateStateMapper mapper;
    //检测是否存在重新上传的人脸
    public boolean updateDfu(MultipartFile file,int devId){
    //检测是否存在文件
    public boolean copyDfu(MultipartFile file,int devId){
        boolean bl=false;
        String fileDirName = FileDirPath.getFileDirName();
        String root=fileDirName+ File.separator+"FDFiles"+File.separator+devId+File.separator+"update";
        String fileFileName = file.getOriginalFilename();
        String filePath = root + fileFileName;
        String filePath = root +File.separator+ fileFileName;
        createFilefolderIFNotExist(filePath);
        try {
            file.transferTo(new File(filePath));
@@ -36,19 +37,19 @@
    }
    //远程升级
    public Response updateDfu(MultipartFile file, DevUpdateState dfu) {
    public Response updateDfu(MultipartFile file,int devId) {
        if(file==null){
            return new Response().set(1,false,"文件失败,文件不存在");
        }
        String fileFileName = file.getOriginalFilename();
        boolean bl=updateDfu(file,dfu.getDevId());
        boolean bl=copyDfu(file,devId);
        if(bl){
            UpdateWrapper wrapper=new UpdateWrapper();
            wrapper.set("dfu_file",fileFileName);
            wrapper.set("dfu_en",1);
            wrapper.set("dfu_wr_stat",dfu.getDfuWrStat());
            wrapper.set("dfu_data_blocknum",dfu.getDfuDataBlocknum());
            wrapper.eq("dev_id",dfu.getDevId());
            wrapper.set("dfu_wr_stat",1);
            wrapper.set("dfu_data_blocknum",1);
            wrapper.eq("dev_id",devId);
            mapper.update(null,wrapper);
            return new Response().set(1,bl,"升级文件上传成功");
        }else {
@@ -64,4 +65,13 @@
        mapper.update(null,wrapper);
        return new Response().set(1,true);
    }
    //dfu远程升级的websocket实时推送设备升级
    public Response getDfuStatus(int devId) {
        QueryWrapper queryWrapper=new QueryWrapper();
        queryWrapper.eq("dev_id",devId);
        queryWrapper.last("limit 1");
        DevUpdateState dfu=mapper.selectOne(queryWrapper);
        return new Response().setII(1,dfu!=null,dfu,"下载成功返回数据");
    }
}