/* * Copyright (c) 2018-2025, ztt All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the pig4cloud.com developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: ztt */ package com.chinaztt.mes.quality.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import com.chinaztt.mes.quality.entity.ApplyPartFile; import com.chinaztt.mes.quality.service.ApplyPartFileService; import com.chinaztt.ztt.common.security.annotation.Inner; import org.springframework.security.access.prepost.PreAuthorize; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; /** * 检测关联文件 * * @author shz * @date 2023-03-28 14:29:21 */ @RestController @AllArgsConstructor @RequestMapping("/qualityapplypartfile" ) @Api(value = "qualityapplypartfile", tags = "检测关联文件管理") public class ApplyPartFileController { private final ApplyPartFileService applyPartFileService; /** * 分页查询 * @param page 分页对象 * @param applyPartFile 检测关联文件 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page" ) public R getQualityApplyPartFilePage(Page page, ApplyPartFile applyPartFile) { return R.ok(applyPartFileService.page(page, Wrappers.query(applyPartFile))); } /** * 通过id查询检测关联文件 * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(applyPartFileService.getById(id)); } /** * 新增检测关联文件 * @param applyPartFile 检测关联文件 * @return R */ @ApiOperation(value = "新增检测关联文件", notes = "新增检测关联文件") @SysLog("新增检测关联文件" ) @PostMapping public R save(@RequestBody ApplyPartFile applyPartFile) { return R.ok(applyPartFileService.save(applyPartFile)); } /** * 修改检测关联文件 * @param applyPartFile 检测关联文件 * @return R */ @ApiOperation(value = "修改检测关联文件", notes = "修改检测关联文件") @SysLog("修改检测关联文件" ) @PutMapping public R updateById(@RequestBody ApplyPartFile applyPartFile) { return R.ok(applyPartFileService.updateById(applyPartFile)); } /** * 通过id删除检测关联文件 * @param id id * @return R */ @ApiOperation(value = "通过id删除检测关联文件", notes = "通过id删除检测关联文件") @SysLog("通过id删除检测关联文件" ) @DeleteMapping("/{id}" ) public R removeById(@PathVariable Long id) { return R.ok(applyPartFileService.removeById(id)); } /** * 上传文件 * * @param file * @return */ @ApiOperation(value = "上传文件", notes = "上传文件") @PostMapping("/upload") public R upload(@RequestParam("applyPartId") Long applyPartId, @RequestParam("file") MultipartFile file) { return applyPartFileService.uploadFile(file, applyPartId); } /** * 获取文件 * * @param bucket 桶名称 * @param fileName 文件空间/名称 * @param response * @return */ @Inner(false) @ApiOperation(value = "获取文件", notes = "获取文件") @GetMapping("/{bucket}/{fileName}") public void file(@PathVariable String bucket, @PathVariable String fileName, HttpServletResponse response) { applyPartFileService.getFile(bucket, fileName, response); } @ApiOperation(value = "根据检测零件id获取文件", notes = "根据检测零件id获取文件") @GetMapping("/getListByApplyPartId/{applyPartId}") public R getListByApplyPartId(@PathVariable Long applyPartId) { return R.ok(applyPartFileService.getListByApplyPartId(applyPartId)); } }