diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/MntnUploadController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/MntnUploadController.java index c3a1734..0e66b45 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/MntnUploadController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/MntnUploadController.java @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.validation.constraints.NotNull; @@ -40,4 +41,17 @@ public class MntnUploadController extends BaseController { service.delete(id); return ResponseReult.success("OK"); } + + @PostMapping("uploadLog") + @ApiOperation("上传日志") + public ResponseReult uploadLog(@RequestParam("file") MultipartFile file, + @RequestParam(value = "termId", required = true) Integer termId) throws Exception { + if (file == null) { + throw new ApiException("缺少上传的文件"); + } + service.uploadLog(termId, file); + ResponseReult result = new ResponseReult(); + result.setCode(0); + return result; + } } diff --git a/xymanager_admin/src/main/resources/application-test.yml b/xymanager_admin/src/main/resources/application-test.yml index 5911b72..823fbdd 100644 --- a/xymanager_admin/src/main/resources/application-test.yml +++ b/xymanager_admin/src/main/resources/application-test.yml @@ -91,8 +91,9 @@ swagger2: # urlPatterns: /system/*,/monitor/*,/tool/* #运维配置 maintain: + termlog: /home/xymp/termLogs/ apk: /home/xymp/apk/ - uri: http://61.169.135.146:40085/apk/ + uri: http://61.169.135.146:40085/ cma: server: 127.0.0.1 diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/config/SecurityConfig.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/config/SecurityConfig.java index 0681d2e..92f5598 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/config/SecurityConfig.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/config/SecurityConfig.java @@ -69,5 +69,6 @@ public class SecurityConfig { urlWhiteList.add("/xymanager/cmaUserLogin"); urlWhiteList.add("/xymanager/leadpulls/export"); urlWhiteList.add("/xymanager/weather/export"); + urlWhiteList.add("/xymanager/upload/uploadLog"); } } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CmdServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CmdServiceImpl.java index ce94efa..0fbc432 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CmdServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CmdServiceImpl.java @@ -16,6 +16,7 @@ import com.shxy.xymanager_service.service.TerminalService; import com.shxy.xymanager_service.service.UserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -31,6 +32,9 @@ import java.util.List; @Transactional(rollbackFor = Exception.class) public class CmdServiceImpl implements CmdService { + @Value("${maintain.uri}") + private String uri; + @Resource MntnCmdsMapper cmdsMapper; @Resource @@ -363,8 +367,6 @@ public class CmdServiceImpl implements CmdService { private void uploadlogs(CmdModel model) { if (CollectionUtils.isEmpty(model.getTermIds())) { throw new ApiException("termIds不能为空"); - } else if (StringUtils.isBlank(model.getUrl())) { - throw new ApiException("url不能为空"); } String name = "yw_cmd_upload_i1_zip_log"; @@ -376,7 +378,7 @@ public class CmdServiceImpl implements CmdService { cmdsMapper.deleteByExample(example); HashMap map = new HashMap<>(); - map.put("url", model.getUrl()); + map.put("url", uri + "api/xymanager/upload/uploadLog"); String json = JSONUtil.object2Json(map); MntnCmds cmd = new MntnCmds(); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnUploadServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnUploadServiceImpl.java index d7a8a3a..1f64582 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnUploadServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnUploadServiceImpl.java @@ -1,15 +1,24 @@ package com.shxy.xymanager_service.impl; import com.shxy.xymanager_common.entity.*; +import com.shxy.xymanager_common.util.DateUtil; +import com.shxy.xymanager_common.util.DigestUtils; import com.shxy.xymanager_dao.dao.MntnUploadsMapper; import com.shxy.xymanager_service.service.MntnUploadService; import com.shxy.xymanager_service.service.NewCacheService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; +import java.util.Date; import java.util.List; +import java.util.UUID; @Service @@ -17,6 +26,9 @@ import java.util.List; @Transactional(rollbackFor = Exception.class) public class MntnUploadServiceImpl implements MntnUploadService { + @Value("${maintain.termlog}") + private String termlog; + @Resource MntnUploadsMapper mapper; @Resource @@ -50,4 +62,25 @@ public class MntnUploadServiceImpl implements MntnUploadService { mapper.deleteByPrimaryKey(id); } + @Override + public void uploadLog(Integer termId, MultipartFile file) throws Exception { + String fileName = file.getOriginalFilename(); + String ext = StringUtils.getFilenameExtension(fileName); + String path = DateUtil.format(new Date(), "yyyyMMdd") + "_log_" + + UUID.randomUUID().toString().replace("-", "").substring(0, 13); + if (StringUtils.hasLength(ext)) { + path = path + "." + ext; + } + MntnUploads item = new MntnUploads(); + item.setTermId(termId); + item.setFileName(fileName); + item.setPath(path); + item.setFileSize((int) file.getSize()); + item.setCreateTime(new Date()); + + File dest = new File(termlog + path); + file.transferTo(dest); + mapper.insert(item); + } + } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/UpgradeServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/UpgradeServiceImpl.java index d0813c6..553e741 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/UpgradeServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/UpgradeServiceImpl.java @@ -9,7 +9,6 @@ import com.shxy.xymanager_common.util.DigestUtils; import com.shxy.xymanager_dao.dao.MntnUpgradesMapper; import com.shxy.xymanager_service.service.UpgradeService; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.io.FileUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -18,7 +17,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; -import java.nio.file.Files; import java.util.Date; import java.util.List; import java.util.UUID; @@ -47,7 +45,7 @@ public class UpgradeServiceImpl implements UpgradeService { example.setOrderByClause("id desc"); List list = mapper.selectByExample(example); for (MntnUpgrades item : list) { - item.setPath(uri + item.getPath()); + item.setPath(uri + "apk/" + item.getPath()); } return list; } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnUploadService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnUploadService.java index ab00dcf..a3572af 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnUploadService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnUploadService.java @@ -1,7 +1,9 @@ package com.shxy.xymanager_service.service; import com.shxy.xymanager_common.entity.MntnUploads; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; import java.util.List; public interface MntnUploadService { @@ -10,4 +12,5 @@ public interface MntnUploadService { void delete(Integer id) throws Exception; + void uploadLog(Integer termId, MultipartFile file) throws Exception; }