lxw
2023-06-21 65bedd623765cb52757fe842b888771767b349df
src/main/java/com/whyc/controller/SoftwareController.java
@@ -1,17 +1,21 @@
package com.whyc.controller;
import com.google.gson.reflect.TypeToken;
import com.whyc.dto.Response;
import com.whyc.pojo.Software;
import com.whyc.service.SoftwareService;
import com.whyc.util.ActionUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;
@Api(tags = "软件管理-新版")
@@ -22,26 +26,60 @@
    @Autowired
    private SoftwareService service;
    @ApiModelProperty("excel解析")
    @ApiOperation("excel解析")
    @PostMapping("excelParse")
    public Response excelParse(@RequestParam MultipartFile multipartFile) throws IOException, InvalidFormatException {
    public Response excelParse(@RequestParam MultipartFile multipartFile) throws IOException, InvalidFormatException, ParseException {
        Response<Object> response = new Response<>();
        String name=multipartFile.getOriginalFilename();
        assert name != null;
        if(!name.substring(name.length()-4).equals(".xls") && !name.substring(name.length()-5).equals(".xlsx")){
            response.set(1,false,"文件解析错误:上传格式非excel格式");
        }else{
            List<Software> list = service.excelParse(multipartFile.getInputStream());
            response.setII(1,true,list,"文件解析成功");
            response =  service.excelParse(multipartFile.getInputStream());
        }
        return response;
    }
    @ApiOperation(value = "查询软件列表的信息")
    @GetMapping("getAllSoftware")
    public Response getAllSoftware(@RequestParam(required = false) String fileName,@RequestParam int pageCurr,@RequestParam int pageSize ){
        return service.getAllSoftware(fileName,pageCurr,pageSize);
    @ApiOperation("软件上传")
    @PostMapping("upload")
    public Response upload(@RequestParam MultipartFile file1,@RequestParam MultipartFile file2,@RequestParam String fontUpdateTime,@RequestParam String softwareStr) throws IOException {
        List<Software> softwareList = ActionUtil.getGson().fromJson(softwareStr,new TypeToken<List<Software>>(){}.getType());
        return service.upload(file1,file2,fontUpdateTime,softwareList);
    }
    @ApiOperation("更新软件版本对应的适用机型")
    @PutMapping("applyModel")
    public Response updateApplyModel(@RequestParam MultipartFile multipartFile,@RequestParam String softwareStr) throws IOException {
        List<Software> softwareList = ActionUtil.getGson().fromJson(softwareStr,new TypeToken<List<Software>>(){}.getType());
        return service.updateApplyModel(multipartFile,softwareList);
    }
    @ApiOperation(value = "查询软件列表的信息")
    @GetMapping("getAllSoftware")
    public Response getAllSoftware(@RequestParam(required = false) String fileName,
                                   @RequestParam(required = false) String applyMaterialCode,
                                   @RequestParam(required = false) String applyModel,
                                   @RequestParam(required = false) String owner,
                                   @RequestParam(required = false) String boardNumber,
                                   @RequestParam int pageCurr,@RequestParam int pageSize ){
        return service.getAllSoftware(fileName,applyMaterialCode,applyModel,owner,boardNumber,pageCurr,pageSize);
    }
    @ApiOperation(value = "根据subcode查询软件列表")
    @GetMapping("getSoftBySubCode")
    public Response getSoftBySubCode(@RequestParam String subCode ){
        return service.getSoftBySubCode(subCode);
    }
    @ApiOperation(value = "根据软件id实现软件下载")
    @GetMapping("downLoadSoftware")
    public void downLoadSoftware(HttpServletRequest req, HttpServletResponse resp, @RequestParam int id){
        service.downLoadSoftware(req,resp,id);
    }
    @ApiOperation(value = "根据软件id修改软件锁定状态")
    @GetMapping("updateSoftwareLock")
    public Response updateSoftwareLock(@RequestParam String fileUrl,@RequestParam int lockFlag,@RequestParam String localReason){
        return service.updateSoftwareLock(fileUrl,lockFlag,localReason);
    }
}