| | |
| | | package com.sandu.ximon.admin.service; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.sandu.common.execption.BusinessException; |
| | | import com.sandu.common.service.impl.BaseServiceImpl; |
| | | import com.sandu.common.util.SpringContextHolder; |
| | | import com.sandu.ximon.admin.dto.RemoteFileDto; |
| | | import com.sandu.ximon.admin.dto.RemoteUpdateTypeDto; |
| | | import com.sandu.ximon.admin.manager.iot.frame.A5Frame; |
| | |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.enums.RemoteUpdateTypeEnum; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService; |
| | | import com.sandu.ximon.admin.manager.iot.rrpc.util.FileProcessingUtils; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils; |
| | | import com.sandu.ximon.admin.utils.StringUtil; |
| | | import com.sandu.ximon.dao.bo.RemoteUpdateFileBo; |
| | | import com.sandu.ximon.dao.domain.Admin; |
| | | import com.sandu.ximon.dao.domain.Client; |
| | | import com.sandu.ximon.dao.domain.RemoteUpdateFile; |
| | | import com.sandu.ximon.dao.mapper.RemoteUpdateFileMapper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @Service |
| | | public class RemoteUpdateService extends BaseServiceImpl<RemoteUpdateFileMapper, RemoteUpdateFile> { |
| | | private RemoteUpdateFileMapper remoteUpdateFileMapper; |
| | | |
| | | /** |
| | | * 添加文件更新内容 |
| | | * |
| | |
| | | RemoteUpdateFile remoteUpdateFile = new RemoteUpdateFile(); |
| | | remoteUpdateFile.setAliAddress(aliAddress); |
| | | remoteUpdateFile.setFileType(fileType); |
| | | remoteUpdateFile.setUploadUserId(SecurityUtils.getUserId()); |
| | | remoteUpdateFile.setUploadUserType(SecurityUtils.getClientId() == null ? 0 : 1); |
| | | remoteUpdateFile.setSoftwareVersion(new BigDecimal(softwareVersion).setScale(2, BigDecimal.ROUND_DOWN)); |
| | | remoteUpdateFile.setHardwareVersion(new BigDecimal(hardwareVersion).setScale(2, BigDecimal.ROUND_DOWN)); |
| | | remoteUpdateFile.setFilename(filename); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 修改固件升级文件名称 |
| | | * |
| | | * @param remoteFileId |
| | | * @param remoteFileName |
| | | * @return |
| | | */ |
| | | public String updateRemoteFileName(String remoteFileId, String remoteFileName) { |
| | | if (remoteFileId == null || StringUtil.strIsNullOrEmpty(remoteFileName)) { |
| | | throw new BusinessException("参数错误!"); |
| | | } |
| | | RemoteUpdateFile remoteUpdateFile = getById(remoteFileId); |
| | | if (remoteUpdateFile == null) { |
| | | throw new BusinessException("固件升级文件不存在!"); |
| | | } |
| | | remoteUpdateFile.setFilename(remoteFileName); |
| | | boolean update = updateById(remoteUpdateFile); |
| | | if (!update) { |
| | | throw new BusinessException("修改固件升级文件名失败!"); |
| | | } |
| | | return "修改固件升级文件名成功!"; |
| | | } |
| | | |
| | | /** |
| | | * 固件升级文件 |
| | | * |
| | | * @return |
| | | */ |
| | | public List<RemoteUpdateFile> getRemoteFileList() { |
| | | return list(); |
| | | public List<RemoteUpdateFileBo> getRemoteFileList() { |
| | | List<RemoteUpdateFile> list = list(); |
| | | List<Admin> adminList = SpringContextHolder.getBean(AdminService.class).list(); |
| | | List<Client> clientList = SpringContextHolder.getBean(ClientService.class).list(); |
| | | |
| | | List<RemoteUpdateFileBo> remoteUpdateFileBoList = new ArrayList<>(); |
| | | RemoteUpdateFileBo remoteUpdateFileBo; |
| | | for (RemoteUpdateFile bean : list) { |
| | | remoteUpdateFileBo = new RemoteUpdateFileBo(); |
| | | BeanUtil.copyProperties(bean, remoteUpdateFileBo); |
| | | if (bean.getUploadUserType() == 0) { |
| | | for (Admin admin : adminList) { |
| | | if (bean.getUploadUserId().equals(admin.getId())) { |
| | | remoteUpdateFileBo.setUploadName(admin.getNickName()); |
| | | } |
| | | } |
| | | |
| | | } else if (bean.getUploadUserType() == 1) { |
| | | for (Client client : clientList) { |
| | | if (bean.getUploadUserId().equals(client.getId())) { |
| | | remoteUpdateFileBo.setUploadName(client.getClientName()); |
| | | } |
| | | } |
| | | } else { |
| | | remoteUpdateFileBo.setUploadName("未知用户!"); |
| | | } |
| | | remoteUpdateFileBoList.add(remoteUpdateFileBo); |
| | | } |
| | | |
| | | return remoteUpdateFileBoList; |
| | | } |
| | | |
| | | |