package org.jeecg.module.custom.ocr.config;

import lombok.Data;
import org.jeecg.module.custom.ocr.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;


@Component
@Data
public class ApiConfig {

    private static Logger logger = LoggerFactory.getLogger(ApiConfig.class);

    /**
     * 无量云 接口域名
     */
    @Value("${interfaceDomain}")
    private String interfaceDomain;

    /**
     * 无量云 秘钥
     */
    @Value("${accessKey}")
    private String accessKey;

    /**
     * 无量云 编码
     */
    @Value("${accessCode}")
    private String accessCode;


    /**
     * 请求超时时间 默认请求5秒
     */
    private Integer connectTimeout = 5000;

    /**
     * 接收超时时间 默认请求1分钟
     */
    private Integer readTimeout = 60000;

    private String localImagePath;

    /**
     * 默认图片
     */
    private String defaultPictureImg;

    /**
     * 拉取图片信息
     */
    private String pictureSourceUrl = "/pangu/jingwei/ocr/query/pb/task/pageList";

    /**
     * 拉取全量任务信息
     */
    private String pictureSourceAllUrl = "/pangu/jingwei/ocr/query/pb/task/all/pageList";

    /**
     * 回传任务信息
     */
    private String sendResultUrl = "/pangu/jingwei/thirdclient/command/pb/approval/result";

    /**
     * 拉取项目信息
     */
    private String projectSourceUrl = "/pangu/jingwei/ocr/query/pb/project/pageList";

    /**
     * 拉取租户信息
     */
    private String tenantSourceUrl = "/pangu/jingwei/ocr/query/pb/tenant/info";

    /**
     * 表单配置
     */
    private String formConfigUrl = "";

    /**
     * 检查配置文件是否 正确注入
     * @return
     */
    public boolean checkConfig(){
        if(!StringUtils.isEmpty(interfaceDomain) && !StringUtils.isEmpty(accessKey) && !StringUtils.isEmpty(accessCode)){
            return true;
        }
        logger.error("获取api配置包含为空信息,域名：{}，秘钥：{}，秘钥编码：{}",this.interfaceDomain,this.accessKey,this.accessCode);
        return false;
    }

}
