package com.yunzhupaas.base.service;

import com.yunzhupaas.base.Pagination;
import com.yunzhupaas.base.entity.BaseLangEntity;
import com.yunzhupaas.base.model.language.BaseLangForm;
import com.yunzhupaas.base.model.language.BaseLangListVO;
import com.yunzhupaas.base.model.language.BaseLangPage;

import java.util.List;
import java.util.Locale;

/**
 * @author 云筑产品开发平台组
 * @version v5.0.0
 * @copyright 深圳市乐程软件有限公司
 * @date 2024/4/28 16:05:49
 */
public interface BaseLangService extends SuperService<BaseLangEntity> {
    /**
     * 标记翻译列表（使用时）
     *
     * @param pagination
     * @return
     */
    BaseLangListVO getList(Pagination pagination);

    /**
     * 标记翻译列表（管理页面）
     *
     * @param pagination
     * @return
     */
    BaseLangListVO list(BaseLangPage pagination);

    void create(BaseLangForm form);

    void update(BaseLangForm form);

    BaseLangForm getInfo(String groupId);

    void delete(String groupId);

    /**
     * 存在则更新，不存在则新增
     *
     * @param list
     */
    void importSaveOrUpdate(List<BaseLangEntity> list);

    /**
     * 获取语种json
     *
     * @param locale
     * @return
     */
    String getLanguageJson(Locale locale);

    List<BaseLangEntity> getServerLang(Locale locale);
}

