package com.persagy.dmp.file.client;

import cn.hutool.extra.spring.SpringUtil;
import com.persagy.dmp.common.model.response.CommonResult;
import com.persagy.dmp.common.utils.ResultHelper;
import com.persagy.dmp.file.model.FileMd5;

/**
 * 文件管理Client门面
 * @author Charlie Yu
 * @date 2021-05-15
 */
public class FileMd5ClientFacade {

    private static FileMd5Client client = SpringUtil.getBean(FileMd5Client.class);

    /**
     * 新增
     * @param fileMd5
     * @return
     */
    public static FileMd5 insert(FileMd5 fileMd5) {
        CommonResult<FileMd5> result = client.insert(fileMd5);
        return ResultHelper.getContent(result);
    }

    /**
     * 修改
     * @param fileMd5
     * @return
     */
    public static FileMd5 update(FileMd5 fileMd5) {
        CommonResult<FileMd5> result = client.update(fileMd5);
        return ResultHelper.getContent(result);
    }

    /**
     * 删除
     * @param fileId
     */
    public static void delete(String fileId) {
        CommonResult<String> result = client.delete(fileId);
        ResultHelper.getContent(result);
    }

    /**
     * 查询
     * @param fileId
     * @return
     */
    public static FileMd5 load(String fileId) {
        CommonResult<FileMd5> result = client.load(fileId);
        return ResultHelper.getContent(result);
    }
    /**
     * 查询
     * @param fileMd5
     * @return
     */
    public static FileMd5 loadByMd5(String fileMd5) {
        CommonResult<FileMd5> result = client.loadByMd5(fileMd5);
        return ResultHelper.getContent(result);
    }
    /**
     * 查询
     * @param fileMd5
     * @return
     */
    public static CommonResult<FileMd5> loadByMd5Prototype(String fileMd5) {
        return client.loadByMd5(fileMd5);
    }
    /**
     * 查询
     * @param fileMd5:文件MD5信息
     * @return
     */
    public static FileMd5 ensureFilePath(FileMd5 fileMd5) {
        CommonResult<FileMd5> result = client.ensureFilePath(fileMd5);
        return ResultHelper.getContent(result);
    }
}
