All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy