|
|
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xunmei.common.core.utils.StringUtils;
|
|
|
import com.xunmei.common.core.web.domain.AjaxResult;
|
|
|
import com.xunmei.common.core.web.page.TableDataInfo;
|
|
|
+import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
import com.xunmei.system.api.RemoteFileService;
|
|
|
import com.xunmei.system.api.domain.SysFile;
|
|
|
import com.xunmei.system.api.domain.SysVersion;
|
|
|
@@ -20,7 +21,9 @@ import com.github.zafarkhaja.semver.Version;
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.*;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
@Service
|
|
|
@@ -61,6 +64,7 @@ public class SysVersionServiceImpl extends ServiceImpl<SysVersionMapper, SysVers
|
|
|
return AjaxResult.error(msg);
|
|
|
}
|
|
|
|
|
|
+ sysVersion.setCreateBy(SecurityUtils.getUserId().toString());
|
|
|
sysVersion.setCreateTime(new Date());
|
|
|
this.save(sysVersion);
|
|
|
if (sysVersion.getIsUse()){
|
|
|
@@ -79,6 +83,7 @@ public class SysVersionServiceImpl extends ServiceImpl<SysVersionMapper, SysVers
|
|
|
}
|
|
|
|
|
|
if (sysVersion.getId() != null){
|
|
|
+ sysVersion.setUpdateBy(SecurityUtils.getUserId().toString());
|
|
|
sysVersion.setUpdateTime(new Date());
|
|
|
this.updateById(sysVersion);
|
|
|
if (sysVersion.getIsUse()){
|
|
|
@@ -99,12 +104,32 @@ public class SysVersionServiceImpl extends ServiceImpl<SysVersionMapper, SysVers
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void downloadFile(HttpServletResponse response, Long id){
|
|
|
+ public SysVersion getByPackageName(String packageName) {
|
|
|
+ QueryWrapper<SysVersion> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.eq("package_name",packageName);
|
|
|
+ SysVersion version = getOne(wrapper);
|
|
|
+ return version;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<String> getAllPackageName() {
|
|
|
+ List<SysVersion> list = super.list();
|
|
|
+ ArrayList<String> packageNameList = new ArrayList<>();
|
|
|
+ for (SysVersion version : list) {
|
|
|
+ packageNameList.add(version.getPackageName());
|
|
|
+ }
|
|
|
+ return packageNameList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void downloadFile(HttpServletResponse response, String packageName){
|
|
|
InputStream inputStream = null;
|
|
|
BufferedInputStream bufferedInputStream = null;
|
|
|
BufferedOutputStream bufferedOutputStream = null;
|
|
|
try {
|
|
|
- SysVersion version = getById(id);
|
|
|
+ QueryWrapper<SysVersion> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.eq("package_name",packageName);
|
|
|
+ SysVersion version = getOne(wrapper);
|
|
|
if (null != version){
|
|
|
SysFile sysFile = new SysFile();
|
|
|
sysFile.setRealName(version.getPackageName());
|
|
|
@@ -114,9 +139,10 @@ public class SysVersionServiceImpl extends ServiceImpl<SysVersionMapper, SysVers
|
|
|
Response.Body body = result.body();
|
|
|
inputStream = body.asInputStream();
|
|
|
bufferedInputStream = new BufferedInputStream(inputStream);
|
|
|
- response.setHeader("Content-Type","application/octet-stream");
|
|
|
- response.setHeader("Content-Disposition", result.headers().get("Content-Disposition").toString().replace("[", "").replace("]", ""));
|
|
|
bufferedOutputStream = new BufferedOutputStream(response.getOutputStream());
|
|
|
+ response.setHeader("Content-Type","application/octet-stream;charset=UTF-8");
|
|
|
+ response.addHeader("Content-Length",""+body.length());
|
|
|
+ response.setHeader("Content-Disposition", result.headers().get("Content-Disposition").toString().replace("[", "").replace("]", ""));
|
|
|
int length = 0;
|
|
|
byte[] temp = new byte[1024 * 10];
|
|
|
while ((length = bufferedInputStream.read(temp)) != -1) {
|
|
|
@@ -171,7 +197,7 @@ public class SysVersionServiceImpl extends ServiceImpl<SysVersionMapper, SysVers
|
|
|
dto.setForce(version.getIsForce());
|
|
|
dto.setNewVersion(version.getVersion());
|
|
|
dto.setNote(version.getNote());
|
|
|
- dto.setDownloadUrl("/system/version/download/"+version.getId());
|
|
|
+ dto.setDownloadUrl("/system/version/download/"+version.getPackageName());
|
|
|
return dto;
|
|
|
}
|
|
|
}
|