| | |
| | | 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; |
| | |
| | | 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)); |
| | |
| | | |
| | | } |
| | | //远程升级 |
| | | 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 { |
| | |
| | | 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,"下载成功返回数据"); |
| | | } |
| | | } |