package com.hzs.common.service;

import java.util.Collection;
import java.util.Map;

/**
 * 翻译公用操作
 */
public interface ITransactionCommonService {

    /**
     * 查询枚举翻译（查询缓存）
     *
     * @param enumArr 需要翻译的枚举.values()
     * @return
     */
    Map<String, String> exportEnumTransaction(Enum[]... enumArr);

    /**
     * 查询枚举翻译（查询缓存）
     *
     * @param toTag   目标语言
     * @param enumArr 需要翻译的枚举.values()
     * @return
     */
    Map<String, String> exportEnumTransactionToTag(String toTag, Enum[]... enumArr);

    /**
     * 查询枚举翻译（查询数据库）
     *
     * @param enumsPrefix 翻译前缀值
     * @return
     */
    Map<Integer, String> exportEnumTransactionByDB(String... enumsPrefix);

    /**
     * 查询枚举翻译（查询数据库） -- 主要用于dubbo服务调用时，国际化处理
     *
     * @param toTag       目标语言
     * @param enumsPrefix 翻译前缀值
     * @return
     */
    Map<Integer, String> enumTransactionByDBToTag(String toTag, String... enumsPrefix);

    /**
     * 根据pkId列表
     *
     * @param pkIdList 翻译ID列表
     * @return
     */
    Map<Integer, String> enumTransactionByDBFromPkId(Collection<Integer> pkIdList);

}
