DgFileController.java 3.15 KB
package com.pashanhoo.file.controller;

import cn.hutool.core.util.StrUtil;
import com.pashanhoo.common.Result;
import com.pashanhoo.file.entity.vo.AddDgFileRequest;
import com.pashanhoo.file.entity.vo.DgCatalogWithFileVO;
import com.pashanhoo.file.entity.vo.UpdateDgFileRequest;
import com.pashanhoo.file.service.DgFileService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 档案文件信息 前端控制器
 * </p>
 *
 * @author
 * @since 2021-11-05
 */
@RestController
@RequestMapping("/system/dgFile/")
@Api(tags = "档案文件信息接口")
public class DgFileController {
    @Autowired
    private DgFileService dgfileService;

    @PostMapping("insertDgFile")
    @ApiOperation("新增档案文件信息")
    public Result insertDgFile(@RequestBody List<AddDgFileRequest> request) {
        if (dgfileService.insertDgFile(request)) {
            return Result.ok();
        }
        return Result.error("新增失败");
    }

    @DeleteMapping("deleteDgFileByIds")
    @ApiOperation(value = "批量删除档案文件信息和附件")
    public Result deleteDgFileByIds(@ApiParam("档案文件信息ID列表") @RequestBody List<String> bsmFileList) {
        try {
            if (dgfileService.deleteFile(bsmFileList)) {
                return Result.ok("删除成功");
            }
        } catch (Exception e) {
            return Result.exception(e.getMessage());
        }
        return Result.error("删除失败");
    }

    @PutMapping("updateDgFile")
    @ApiOperation("修改档案文件信息")
    public Result updateDgFile(@RequestBody UpdateDgFileRequest request) {
        if (dgfileService.updateDgFile(request)) {
            return Result.ok("修改成功");
        }
        return Result.error("修改失败");
    }

    @GetMapping("getDgFileDetailById")
    @ApiOperation(value = "获取附件列表")
    public Result<List<DgCatalogWithFileVO>> getDgFileDetailById(@ApiParam("档案标识码") @RequestParam String bsmArchive) {
        return Result.ok(dgfileService.getFileList(bsmArchive));
    }

    @PutMapping("updateFileSort")
    @ApiOperation("附件排序")
    public Result updateFileSort(@RequestBody List<UpdateDgFileRequest> requests) {
        if (dgfileService.updateFileSort(requests)) {
            return Result.ok("修改成功");
        }
        return Result.error("修改失败");
    }

    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    @ApiOperation("上传材料附件")
    public Result upload(@RequestPart("file") MultipartFile file, AddDgFileRequest fileRequest) {
        if (StrUtil.isEmpty(fileRequest.getBsmArchive()) || StrUtil.isEmpty(fileRequest.getBsmCatalog())) {
            return Result.error("请先新增档案基本信息和目录");
        }
        try {
            return Result.ok(dgfileService.upload(file, fileRequest));
        } catch (Exception e) {
            return Result.exception(e.getMessage());
        }
    }
}