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