package com.yn.bftl.thirdparty.modules.configuration.service;

import com.yn.bftl.common.modules.configuration.entity.ThirdPartyPaySet;

/**
 * @Author：Vance
 * @Description：第三方配置service
 * @Date：2023/6/26 14:11
 */
public interface ThirdPartyPaySetService {

    /**
     * 获取登录企业对应的上传第三方配置
     * 1.如果登录的账号是B端销售则取企业对应的配置，如果登录的账号有供销关系则取关系的甲方企业配置
     * 2.如果未获取到配置，或者配置所有值为空，则取平台的配置
     * 3.如果未获取到平台配置，或者配置所有值为空，则返回null，最终使用配置文件中的配置
     *
     * @return
     */
    ThirdPartyPaySet getUploadThirdPartyPaySet();

    /**
     * 第三方配置-通过企业获取
     * <p>1.此方法用于获取不同供应商配置的第三方配置</p>
     * <p>2.只有供应商本身或者供应商下属的经销商才可获得到配置</p>
     * <p>3.例如：晚安家居和北方晚安是两家不同的供应商，所以这里获取的配置也是不同的</p>
     * <p>4.例如：长沙经销商和衡阳经销商都是晚安家居下属的两家经销商，故这两家获取的配置都是晚安家居的配置</p>
     *
     * @return ThirdPartyPaySet
     * @author huabiao
     * @create 2023/8/10  14:59
     */
    ThirdPartyPaySet getThirdPartyPaySetByCompany();
}
