Procházet zdrojové kódy

系统运维:版本升级修改

xujie před 1 rokem
rodič
revize
37c8df7eca

+ 1 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/utils/file/MimeTypeUtils.java

@@ -78,6 +78,7 @@ public class MimeTypeUtils
         add("avi");
         add("rmvb");
         add("pdf");
+        add("apk");
     }};
 
     public static String getExtension(String prefix)

+ 9 - 7
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysVersionController.java

@@ -32,16 +32,12 @@ public class SysVersionController extends BaseController {
     @RequiresPermissions("system:version:add")
     @PostMapping("/add")
     public AjaxResult add(@RequestBody SysVersion version) {
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        version.setCreateBy(loginUser.getName());
         return  versionService.insertVersion(version);
     }
 
     @RequiresPermissions("system:version:edit")
     @PostMapping("/edit")
     public AjaxResult edit(@RequestBody SysVersion version) {
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        version.setUpdateBy(loginUser.getName());
         return  versionService.updateVersion(version);
     }
 
@@ -52,10 +48,16 @@ public class SysVersionController extends BaseController {
         return  success(versionService.getDetailById(id));
     }
 
+    @GetMapping("/getAllPackageName")
+    public AjaxResult getAllPackageName() {
+
+        return  success(versionService.getAllPackageName());
+    }
+
     //@RequiresPermissions("system:version:download")
-    @GetMapping("/download/{id}")
-    public void download(HttpServletResponse response ,@PathVariable Long id) {
-        versionService.downloadFile(response,id);
+    @GetMapping("/download/{packageName}")
+    public void download(HttpServletResponse response ,@PathVariable String packageName) {
+        versionService.downloadFile(response,packageName);
     }
 
     @PostMapping("/checkUpdate")

+ 31 - 5
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysVersionServiceImpl.java

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