org.zodiac.boot.ctrl.PlatformReactiveController Maven / Gradle / Ivy
The newest version!
package org.zodiac.boot.ctrl;
import org.springframework.http.HttpHeaders;
import org.springframework.http.codec.multipart.FilePart;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.zodiac.boot.config.PlatformUploadFileInfo;
import org.zodiac.boot.file.LocalFile;
import org.zodiac.boot.file.PlatformReactiveFileUtil;
import org.zodiac.commons.util.web.ReactiveRequests;
import org.zodiac.security.auth.model.SecurityPlatformUser;
import org.zodiac.security.util.SecurityReactiveAuthUtil;
import java.util.List;
import javax.validation.Validator;
public abstract class PlatformReactiveController extends PlatformRemoteService {
protected PlatformReactiveController(Validator validator, PlatformUploadFileInfo platformUploadFileInfo) {
super(validator, platformUploadFileInfo);
}
/**
* 获取request。
*
* @return 请求对象
*/
@Override
protected ServerHttpRequest getRequest() {
return ReactiveRequests.getCurrentHttpRequest();
}
/**
* 获取当前用户。
*
* @return 用户
*/
@Override
protected SecurityPlatformUser getUser() {
return SecurityReactiveAuthUtil.getUser();
}
/** ============================ FILE ================================================= */
/**
* 获取LocalFile封装类。
*
* @param file 上传的文件
* @return 文件
*/
public LocalFile getFile(FilePart file) {
return PlatformReactiveFileUtil.getFile(getPlatformUploadFileInfo(), file);
}
/**
* 获取LocalFile封装类。
*
* @param file 上传的文件
* @param dir 目录
* @return 文件
*/
public LocalFile getFile(FilePart file, String dir) {
return PlatformReactiveFileUtil.getFile(getPlatformUploadFileInfo(), dir, file);
}
/**
* 获取LocalFile封装类。
*
* @param file 上传的文件
* @param dir 目录
* @param path 路径
* @param virtualPath 虚拟路径
* @return 文件
*/
public LocalFile getFile(FilePart file, String dir, String path, String virtualPath) {
return PlatformReactiveFileUtil.getFile(getPlatformUploadFileInfo(), dir, file, path, virtualPath);
}
/**
* 获取LocalFile封装类。
*
* @param files 上传的文件列表
* @return 文件列表
*/
public List getFiles(List files) {
return PlatformReactiveFileUtil.getFiles(getPlatformUploadFileInfo(), files);
}
/**
* 获取LocalFile封装类。
*
* @param files 上传的文件列表
* @param dir 目录
* @return 文件列表
*/
public List getFiles(List files, String dir) {
return PlatformReactiveFileUtil.getFiles(getPlatformUploadFileInfo(), dir, files);
}
/**
* 获取LocalFile封装类。
*
* @param files 上传的文件列表
* @param dir 目录
* @param path 路径
* @param virtualPath 虚拟路径
* @return 文件列表
*/
public List getFiles(List files, String dir, String path, String virtualPath) {
return PlatformReactiveFileUtil.getFiles(getPlatformUploadFileInfo(), dir, files, path, virtualPath);
}
@Override
protected String getHeaderUserAgent() {
ServerHttpRequest request = getRequest();
String header = request.getHeaders().getFirst(HttpHeaders.USER_AGENT);
return header;
}
@Override
protected String getHeaderRange() {
ServerHttpRequest request = getRequest();
String header = request.getHeaders().getFirst(HttpHeaders.RANGE);
return header;
}
}