package com.estate.expert.admin.controller.admin; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.service.UserFileService; import com.estate.expert.common.domain.Session; import com.estate.expert.common.log.IgnoreRequestLog; import com.estate.expert.common.rpc.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; @Api(tags = "管理后台/文件管理") @CrossOrigin @Slf4j @RestController @RequestMapping("/public/file") @Validated public class UserFileController { @Resource UserFileService userFileService; @ApiOperation(value = "上传文件") @PostMapping("/upload") public Result uploadFile( @ApiIgnore Session session, @RequestParam("file") MultipartFile file){ var resp = userFileService.upload((User) session.getUser(), file); return Result.success(resp); } @ApiOperation(value = "上传多个文件") @PostMapping("/uploadMultiple") @IgnoreRequestLog public Result uploadMultipleFiles( @ApiIgnore Session session, @RequestParam("files") @NotNull @NotEmpty MultipartFile[] files){ List responses = new ArrayList<>(); for (MultipartFile file : files) { var resp = userFileService.upload((User) session.getUser(), file); responses.add(resp); } return Result.success(responses); } }