潘志宝
2024-09-30 303715d81f0c1cd8b32cd659b7734c01565369a6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.iailab.module.model.mpk.controller.admin;
 
import com.iailab.framework.common.page.PageData;
import com.iailab.framework.common.pojo.CommonResult;
import com.iailab.module.model.mpk.dto.ProjectPackageHistoryDTO;
import com.iailab.module.model.mpk.dto.ProjectPackageHistoryModelDTO;
import com.iailab.module.model.mpk.service.ProjectPackageHistoryModelService;
import com.iailab.module.model.mpk.service.ProjectPackageHistoryService;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
 
 
/**
 * 项目打包历史记录表
 *
 * @author Dzd 
 * @since 1.0.0 2024-08-22
 */
@RestController
@RequestMapping("/model/mpk/projectPackageHistory")
public class ProjectPackageHistoryController {
    @Autowired
    private ProjectPackageHistoryService projectPackageHistoryService;
    @Autowired
    private ProjectPackageHistoryModelService projectPackageHistoryModelService;
 
    @GetMapping("page")
    public CommonResult<PageData<ProjectPackageHistoryDTO>> page(@RequestParam Map<String, Object> params){
        PageData<ProjectPackageHistoryDTO> page = projectPackageHistoryService.page(params);
 
        return CommonResult.success(page);
    }
 
    @GetMapping("download")
    public void generat(String filePath, String fileName, HttpServletResponse response) throws IOException {
        byte[] data = projectPackageHistoryService.download(filePath);
 
        response.reset();
        response.setHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName,"utf-8") + "\"");
        response.addHeader("Content-Length", "" + data.length);
        response.setContentType("application/octet-stream; charset=UTF-8");
 
        IOUtils.write(data, response.getOutputStream());
    }
 
    @GetMapping("getPackageModel")
    public CommonResult<PageData<ProjectPackageHistoryModelDTO>> getPackageModel(@RequestParam Map<String, Object> params){
        PageData<ProjectPackageHistoryModelDTO> page = projectPackageHistoryModelService.page(params);
 
        return CommonResult.success(page);
    }
 
}