feat: 增加上传日志接口

dev
huangfeng 1 year ago
parent dfda2f208a
commit 85dc63d918

@ -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;
}
}

@ -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

@ -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");
}
}

@ -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<String, String> 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();

@ -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);
}
}

@ -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<MntnUpgrades> list = mapper.selectByExample(example);
for (MntnUpgrades item : list) {
item.setPath(uri + item.getPath());
item.setPath(uri + "apk/" + item.getPath());
}
return list;
}

@ -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;
}

Loading…
Cancel
Save