package com.mosty.base.utils;

import com.mosty.common.base.entity.log.SpringUtils;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;

/**
 * 获取i18n资源文件
 * 
 * @author Ruoyi
 */
public class MessageUtils
{
    /**
     * 根据消息键和参数 获取消息 委托给spring messageSource
     *
     * @param code 消息键
     * @param args 参数
     * @return 获取国际化翻译值
     */
    public static String message(String code, Object... args)
    {
        MessageSource messageSource = SpringUtils.getBean(MessageSource.class);
        return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());
    }

    /**
     * 获取查询失败消息
     * @return 查询失败消息（“查询失败！”）
     */
    public static String getQueryFailMsg(){
        return MessageUtils.message("query.fail");
    }

    /**
     * 获取查询服务异常消息
     * @return 获取查询服务异常消息（“查询失败！服务异常”）
     */
    public static String getQueryServerErrorMsg(){
        return MessageUtils.message("query.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取保存失败消息
     * @return 保存失败消息（“保存失败！”）
     */
    public static String getSaveFailMsg(){
        return MessageUtils.message("save.fail");
    }

    /**
     * 获取保存服务异常消息
     * @return 获取保存服务异常消息（“保存失败！服务异常”）
     */
    public static String getSaveServerErrorMsg(){
        return MessageUtils.message("save.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取复制失败消息
     * @return 复制失败消息（“复制失败！”）
     */
    public static String getCopyFailMsg(){
        return MessageUtils.message("copy.fail");
    }

    /**
     * 获取复制服务异常消息
     * @return 获取复制服务异常消息（“复制失败！服务异常”）
     */
    public static String getCopyServerErrorMsg(){
        return MessageUtils.message("copy.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取修改数据查询为空消息
     * @return 获取修改数据查询为空消息（“修改失败！数据不存在或已被注销”）
     */
    public static String getEditDataNotFoundMsg(){
        return MessageUtils.getEditFailMsg() + MessageUtils.message("data.bcz");
    }

    /**
     * 获取修改失败消息
     * @return 修改失败消息（“修改失败！”）
     */
    public static String getEditFailMsg(){
        return MessageUtils.message("edit.fail");
    }

    /**
     * 获取修改服务异常消息
     * @return 获取修改服务异常消息（“修改失败！服务异常”）
     */
    public static String getEditServerErrorMsg(){
        return MessageUtils.message("edit.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取注销失败消息
     * @return 注销失败消息（“注销失败！”）
     */
    public static String getCancelFailMsg(){
        return MessageUtils.message("cancel.fail");
    }

    /**
     * 获取注销服务异常消息
     * @return 获取注销服务异常消息（“注销失败！服务异常”）
     */
    public static String getCancelServerErrorMsg(){
        return MessageUtils.message("cancel.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取注销服务异常消息（由于主键ID为空）
     * @return 获取注销服务异常消息（“注销失败！【主键ID】不能为空”）
     */
    public static String getCancelBecauseIdBnwk(){
        return MessageUtils.message("cancel.fail") + MessageUtils.message("id.bnwk");
    }

    /**
     * 获取审核失败消息
     * @return 审核失败消息（“审核失败！”）
     */
    public static String getAuditsFailMsg(){
        return MessageUtils.message("audits.fail");
    }

    /**
     * 获取审核服务异常消息
     * @return 获取审核服务异常消息（“审核失败！服务异常”）
     */
    public static String getAuditsServerErrorMsg(){
        return MessageUtils.message("audits.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取审核数据查询为空消息
     * @return 获取修改数据查询为空消息（“审核失败！数据不存在或已被注销”）
     */
    public static String getAuditsDataNotFoundMsg(){
        return MessageUtils.getAuditsFailMsg() + MessageUtils.message("data.bcz");
    }

    /**
     * 获取送审失败消息
     * @return 注销失败消息（“送审失败！”）
     */
    public static String getSubExamineFailMsg(){
        return MessageUtils.message("sub.examine.fail");
    }

    /**
     * 获取送审服务异常消息
     * @return 获取审核服务异常消息（“送审失败！服务异常”）
     */
    public static String getSubExamineServerErrorMsg(){
        return MessageUtils.message("sub.examine.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取送审数据查询为空消息
     * @return 获取修改数据查询为空消息（“送审失败！数据不存在或已被注销”）
     */
    public static String getSubExamineDataNotFoundMsg(){
        return MessageUtils.getSubExamineFailMsg() + MessageUtils.message("data.bcz");
    }

    /**
     * 获取审核失败消息
     * @return 注销失败消息（“审核失败！”）
     */
    public static String getToExamineFailMsg(){
        return MessageUtils.message("to.examine.fail");
    }

    /**
     * 获取审核服务异常消息
     * @return 获取审核服务异常消息（“审核失败！服务异常”）
     */
    public static String getToExamineServerErrorMsg(){
        return MessageUtils.message("to.examine.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取审核数据查询为空消息
     * @return 获取修改数据查询为空消息（“审核失败！数据不存在或已被注销”）
     */
    public static String getToExamineDataNotFoundMsg(){
        return MessageUtils.getToExamineFailMsg() + MessageUtils.message("data.bcz");
    }

    /**
     * 获取导出失败消息
     * @return 注销失败消息（“导出失败！”）
     */
    public static String getExportFailMsg(){
        return MessageUtils.message("export.fail");
    }

    /**
     * 获取导出服务异常消息
     * @return 获取导出服务异常消息（“导出失败！服务异常”）
     */
    public static String getExportServerErrorMsg(){
        return MessageUtils.message("export.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取导出数据查询为空消息
     * @return 获取修改数据查询为空消息（“导出失败！数据不存在或已被注销”）
     */
    public static String getExportDataNotFoundMsg(){
        return MessageUtils.getExportFailMsg() + MessageUtils.message("data.bcz");
    }

    /**
     * 获取导入失败消息
     * @return 注销失败消息（“导入失败！”）
     */
    public static String getImportFailMsg(){
        return MessageUtils.message("import.fail");
    }

    /**
     * 获取导入服务异常消息
     * @return 获取导出服务异常消息（“导入失败！服务异常”）
     */
    public static String getImportServerErrorMsg(){
        return MessageUtils.message("import.fail") + MessageUtils.message("server.error");
    }

    /**
     * 获取导入数据查询为空消息
     * @return 获取修改数据查询为空消息（“导入失败！数据不存在或已被注销”）
     */
    public static String getImportDataNotFoundMsg(){
        return MessageUtils.getImportFailMsg() + MessageUtils.message("data.bcz");
    }

}
