zhangherong
2025-06-25 23855599412c4d61b38d78f0f3abd3430a48b5b1
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSysFilesController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,213 @@
package org.jeecg.modules.eam.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.FileUploadResult;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.eam.entity.EamSysFiles;
import org.jeecg.modules.eam.request.EamSysFilesRequest;
import org.jeecg.modules.eam.service.IEamSysFilesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
 * @Description: è®¾å¤‡é™„件管理
 * @Author: jeecg-boot
 * @Date: 2025-03-17
 * @Version: V1.0
 */
@Slf4j
@Api(tags = "设备附件管理")
@RestController
@RequestMapping("/eam/sysFiles")
public class EamSysFilesController extends JeecgController<EamSysFiles, IEamSysFilesService> {
    @Autowired
    private IEamSysFilesService eamSysFilesService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param eamSysFiles
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @ApiOperation(value = "设备附件管理-分页列表查询", notes = "设备附件管理-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(EamSysFiles eamSysFiles,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EamSysFiles> queryWrapper = QueryGenerator.initQueryWrapper(eamSysFiles, req.getParameterMap());
        queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0);
        Page<EamSysFiles> page = new Page<EamSysFiles>(pageNo, pageSize);
        IPage<EamSysFiles> pageList = eamSysFilesService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     * æ·»åŠ 
     *
     * @param request
     * @return
     */
    @ApiOperation(value = "设备附件管理-添加", notes = "设备附件管理-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody EamSysFilesRequest request) {
        boolean b = eamSysFilesService.saveEamSysFiles(request);
        if(!b) {
            return Result.OK("操作失败!");
        }
        return Result.OK("添加成功!");
    }
    /**
     * ç¼–辑
     *
     * @param eamSysFiles
     * @return
     */
    @ApiOperation(value = "设备附件管理-编辑", notes = "设备附件管理-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
    public Result<?> edit(@RequestBody EamSysFiles eamSysFiles) {
        eamSysFilesService.updateById(eamSysFiles);
        return Result.OK("编辑成功!");
    }
    /**
     * é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "设备附件管理-通过id删除", notes = "设备附件管理-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
        EamSysFiles entity = eamSysFilesService.getById(id);
        if(entity != null) {
            entity.setDelFlag(CommonConstant.DEL_FLAG_1);
            eamSysFilesService.updateById(entity);
        }
        return Result.OK("删除成功!");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @ApiOperation(value = "设备附件管理-批量删除", notes = "设备附件管理-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        List<String> list = Arrays.asList(ids.split(","));
        list.forEach(id -> {
            EamSysFiles entity = eamSysFilesService.getById(id);
            if(entity != null) {
                entity.setDelFlag(CommonConstant.DEL_FLAG_1);
                eamSysFilesService.updateById(entity);
            }
        });
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "设备附件管理-通过id查询", notes = "设备附件管理-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        EamSysFiles eamSysFiles = eamSysFilesService.getById(id);
        return Result.OK(eamSysFiles);
    }
    /**
     * å•个文件上传
     * @param request
     * @param response
     * @return
     */
    @ApiOperation(value = "设备附件管理-单个文件上传", notes = "设备附件管理-单个文件上传")
    @PostMapping("/upload")
    public Result<?> uploadFile(HttpServletRequest request, HttpServletResponse response) {
        // è½¬æ¢æˆå¤šéƒ¨åˆ†request
        MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
        MultipartFile files = multiRequest.getFile("file");
        try {
            FileUploadResult sysUpload = eamSysFilesService.uploadFile(files);
            if(sysUpload == null) {
                return Result.error("操作失败: ä¸Šä¼ ç»“果为空!");
            }
            EamSysFiles sysFiles = new EamSysFiles();
            sysFiles.setFileEncodeName(sysUpload.getFileEncodeName());
            sysFiles.setFileName(sysUpload.getFileName());
            sysFiles.setFileSize(sysUpload.getFileSize());
            sysFiles.setFilePath(sysUpload.getFilePath());
            sysFiles.setFileSuffix(sysUpload.getFileSuffix());
            sysFiles.setDelFlag(CommonConstant.DEL_FLAG_0);
            eamSysFilesService.save(sysFiles);
            return Result.ok(sysUpload);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            return Result.error("操作失败:" + e.getMessage());
        }
    }
    /**
     * æ‰¹é‡ä¸Šä¼ æŽ¥å£
     * @param request
     * @param response
     * @return
     */
    @ApiOperation(value = "设备附件管理-多个文件上传", notes = "设备附件管理-多个文件上传")
    @PostMapping("/batch_upload")
    public Result<?> batchUploadFile(HttpServletRequest request, HttpServletResponse response) {
        // è½¬æ¢æˆå¤šéƒ¨åˆ†request
        MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
        Map<String, MultipartFile> fileMap = multiRequest.getFileMap();
        List<FileUploadResult> resultList = new ArrayList<>();
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
            FileUploadResult sysUpload = eamSysFilesService.uploadFile(entity.getValue());
            if(sysUpload == null) {
                continue;
            }
            EamSysFiles sysFiles = new EamSysFiles();
            sysFiles.setFileEncodeName(sysUpload.getFileEncodeName());
            sysFiles.setFileName(sysUpload.getFileName());
            sysFiles.setFileSize(sysUpload.getFileSize());
            sysFiles.setFilePath(sysUpload.getFilePath());
            sysFiles.setFileSuffix(sysUpload.getFileSuffix());
            sysFiles.setDelFlag(CommonConstant.DEL_FLAG_0);
            eamSysFilesService.save(sysFiles);
            resultList.add(sysUpload);
        }
        return Result.ok(resultList);
    }
    @GetMapping("/downloadFile")
    public void downloadFile(@RequestParam("id") String id, HttpServletResponse response) {
        eamSysFilesService.downloadFile(response, eamSysFilesService.getById(id));
    }
}