using Hotline.Share.Enums.Order;
using Hotline.Users;
using IdentityModel;
using Org.BouncyCastle.Bcpg.OpenPgp;

namespace Hotline.Settings
{
    public class SettingConstants
    {
        /// <summary>
        /// 是否启用IVR
        /// </summary>
        public const string IVRConfig = "IVRConfig";

        /// <summary>
        /// 是否小休审批
        /// </summary>
        public const string IsRestApproval = "IsRestApproval";

        /// <summary>
        /// 小休需要审批的时间段
        /// </summary>
        public const string IsRestAuditTime = "IsRestAuditTime";

        /// <summary>
        /// 首页登录图
        /// </summary>
        public const string LoginImage = "LoginImage";

        /// <summary>
        /// 修改密码logo图片
        /// </summary>
        public const string ChangePwdImage = "ChangePwdImage";

        /// <summary>
        /// 角标图片
        /// </summary>
        public const string FaviconImage = "FaviconImage";

        /// <summary>
        /// 菜单logo图片
        /// </summary>
        public const string MenuLogoImage = "MenuLogoImage";

        /// <summary>
        /// 菜单logo图片mini
        /// </summary>
        public const string MenuLogoImageMini = "MenuLogoImageMini";
        /// <summary>
        /// 系统名称
        /// </summary>
        public const string SysName = "SysName";

        /// <summary>
        /// 是否通话后挂起
        /// </summary>
        public const string IsAutoTalkingDeal = "IsAutoTalkingDeal";

        /// <summary>
        /// 通话后挂起时间
        /// </summary>
        public const string TalkingDealTime = "TalkingDealTime";

        /// <summary>
        /// 中心节假日工作时间
        /// </summary>
        public const string CallCenterWorkTime = "CallCenterWorkTime";

        /// <summary>
        /// 工作日工作时间
        /// </summary>
        public const string WorkTime = "WorkTime";

        /// <summary>
        /// 部门工作日工作时间（报表用）
        /// </summary>
        public const string WorkTimeOrg = "WorkTimeOrg";

        /// <summary>
        /// 工单延期申请次数
        /// </summary>
        public const string DelayNum = "DelayNum";

        /// <summary>
        /// 工单延期申请时限
        /// </summary>
        public const string ApplyDelayTime = "ApplyDelayTime";

        /// <summary>
        /// 甄别申请截至时限
        /// </summary>
        public const string ScreenApplyEndTime = "ScreenApplyEndTime";


        /// <summary>
        /// 甄别申请次数限制
        /// </summary>
        public const string ScreenApplyNum = "ScreenApplyNum";

        /// <summary>
        /// 工单重复性事件次数
        /// </summary>
        public const string RepeatableEventNum = "RepeatableEventNum";

        /// <summary>
        /// 即将超期工单检测值
        /// </summary>
        public const string OrderAboutToExpire = "OrderAboutToExpire";

        /// <summary>
        /// 是否需要分机号
        /// </summary>
        public const string IsNeedTelNo = "IsNeedTelNo";

        /// <summary>
        /// 分机是否需要验证
        /// </summary>
        public const string IsTelNeedVerify = "IsTelNeedVerify";

        /// <summary>
        /// 退回中心时限
        /// </summary>
        public const string BackCenterTimeSetting = "BackCenterTimeSetting";

        /// <summary>
        /// 智能语音导航
        /// </summary>
        public const string AIIVRTime = "AIIVRTime";

        /// <summary>
        /// 是否启用智能语音导航
        /// </summary>
        public const string IsAIIVR = "IsAIIVR";

        /// <summary>
        /// 队列数
        /// </summary>
        public const string QueueNum = "QueueNum";

        /// <summary>
        /// 是否启用自定义事件
        /// </summary>
        public const string IsCustomEvent = "IsCustomEvent";

        /// <summary>
        /// 未接秒挂时间
        /// </summary>
        public const string NoConnectByeTimes = "NoConnectByeTimes";
        /// <summary>
        /// 呼入有效时间
        /// </summary>
        public const string EffectiveTimes = "EffectiveTimes";
        /// <summary>
        /// 接通秒挂时间
        /// </summary>
        public const string ConnectByeTimes = "ConnectByeTimes";
        /// <summary>
        /// 及时应答时间
        /// </summary>
        public const string RingTimes = "RingTims";
        /// <summary>
        /// 大屏数据展示推送间隔时间
        /// </summary>
        public const string BsDataShowChangedTimes = "BsDataShowChangedTimes";
        /// <summary>
        /// 大屏坐席监控推送间隔时间
        /// </summary>
        public const string BsDataStateChangedTimes = "BsDataStateChangedTimes";

        /// <summary>
        /// 二级部门退回
        /// </summary>
        public const string TwoOrgSendBack = "TwoOrgSendBack";

        /// <summary>
        /// 一级部门退回
        /// </summary>
        public const string OneOrgSendBack = "OneOrgSendBack";

        /// <summary>
        /// 特提是否需求审批
        /// </summary>
        public const string SpecialAduit = "SpecialAduit";

        /// <summary>
        /// 坐席班长
        /// </summary>
        public const string SeatsMonitor = "SeatsMonitor";

        /// <summary>
        /// 经办人角色
        /// </summary>
        public const string RoleJingBanRen = "RoleJingBanRen";

        /// <summary>
        /// 领导角色
        /// </summary>
        public const string RoleLingDao = "RoleLingDao";

        /// <summary>
        /// 中心领导
        /// </summary>
        public const string RoleCenterLeader = "RoleCenterLeader";

        /// <summary>
        /// 是否开启登录短信
        /// </summary>
        public const string IsLoginMessageCode = "IsLoginMessageCode";

        /// <summary>
        /// 登录白名单
        /// </summary>
        public const string LoginCodeWhiteList = "LoginCodeWhiteList";

        /// <summary>
        /// 录音地址配置
        /// </summary>
        public const string TapeAddress = "TapeAddress";

        /// <summary>
        /// 录音下载地址配置
        /// </summary>
        public const string DownTapeAddress = "DownTapeAddress";

        /// <summary>
        /// 默认派单员
        /// </summary>
        public const string DefaultDispatchClerk = "DefaultDispatchClerk";

        /// <summary>
        /// 高频来电统计-来电次数
        /// </summary>
        public const string HighFrequencyCallStatistics = "HighFrequencyCallStatistics";

        /// <summary>
        /// 是否市州互转
        /// </summary>
        public const string TranspondCity = "TranspondCity";

        /// <summary>
        /// 特提坐席权限
        /// </summary>
        public const string SpecialSeats = "SpecialSeats";

        /// <summary>
        /// 特提派单组权限
        /// </summary>
        public const string SpecialSendOrder = "SpecialSendOrder";

        /// <summary>
        /// 平均派单
        /// </summary>
        public const string AverageSendOrder = "AverageSendOrder";

        /// <summary>
        /// 是否开启司法行政监督管理
        /// </summary>
        public const string IsOpenJudicialManagement = "IsOpenJudicialManagement";

        /// <summary>
        /// 行政执法类-推诿工单
        /// </summary>
        public const string EnforcementPassTheBuckNum = "EnforcementPassTheBuckNum";

        /// <summary>
        /// 行政执法大屏工单数据推送间隔
        /// </summary>
        public const string EnforcementDataOrderChangedTimes = "EnforcementDataOrderChangedTimes";

        /// <summary>
        /// 外呼分机组号
        /// </summary>
        public const string CallOutQueueId = "CallOutQueueId";

        /// <summary>
        /// 门户网站主题颜色
        /// </summary>
        public const string WebSystemSettingsTheme = "WebSystemSettingsTheme";

        /// <summary>
        /// 工单特提至坐席是否指派给选择对象
        /// </summary>
        public const string IsRecallToSeatDesignated = "IsRecallToSeatDesignated";

        /// <summary>
        /// 不参与会签的部门
        /// </summary>
        public const string NoSignOrgCode = "NoSignOrgCode";

        /// <summary>
        /// 市州互转是否接收办理结果
        /// </summary>
        public const string CityDataUndertakAdvice = "CityDataUndertakAdvice";
        #region 智能外呼

        #region 智能回访

        /// <summary>
        /// 智能回访场景ID
        /// </summary>
        public const string VisitSceneUid = "VisitSceneUid";

        /// <summary>
        /// 智能回访规则ID
        /// </summary>
        public const string VisitRuleUid = "VisitRuleUid";

        /// <summary>
        /// 来电名称
        /// </summary>
        public const string VisitFromNameKey = "VisitFromNameKey";

        /// <summary>
        /// 来电性别
        /// </summary>
        public const string VisitFromGenderKey = "VisitFromGenderKey";

        /// <summary>
        /// 来电时间
        /// </summary>
        public const string VisitCreationTimeKey = "VisitCreationTimeKey";

        /// <summary>
        /// 工单标题
        /// </summary>
        public const string VisitOrderTitleKey = "VisitOrderTitleKey";

        /// <summary>
        /// 是否来电工单
        /// </summary>
        public const string VisitIsCallOrder = "VisitIsCallOrder";

        /// <summary>
        /// 是否联系
        /// </summary>
        public const string QuestionIdZero = "QuestionIdZero";
        /// <summary>
        /// 是否解决
        /// </summary>
        public const string QuestionIdOne = "QuestionIdOne";

        /// <summary>
        /// 办件结果满意度
        /// </summary>
        public const string QuestionIdTwo = "QuestionIdTwo";

        /// <summary>
        /// 坐席是否满意
        /// </summary>
        public const string QuestionIdThree = "QuestionIdThree";

        /// <summary>
        /// 办件结果不满意原因
        /// </summary>
        public const string VisitContentIdOne = "VisitContentIdOne";

        /// <summary>
        /// 坐席不满意原因
        /// </summary>
        public const string VisitContentIdTwo = "VisitContentIdTwo";
        #endregion


        #region 批量外呼
        /// <summary>
        /// 批量外呼场景ID
        /// </summary>
        public const string CallOutSceneUid = "CallOutSceneUid";

        /// <summary>
        /// 批量外呼规则ID
        /// </summary>
        public const string CallOutRuleUid = "CallOutRuleUid";

        /// <summary>
        /// 批量外呼播放内容
        /// </summary>
        public const string CallOutContentKey = "CallOutContentKey";

        #endregion
        #endregion

        /// <summary>
        /// 录音文件前缀地址
        /// </summary>
        public const string ViteRecordPrefix = "ViteRecordPrefix";

        /// <summary>
        /// 派单员角色
        /// </summary>
        public const string RolePaiDan = "RolePaiDan";

        /// <summary>
        /// 坐席角色
        /// </summary>
        public const string RoleZuoXi = "RoleZuoXi";
        /// <summary>
        /// 呼入分机组号
        /// </summary>
        public const string CallInQueueId = "CallInQueueId";

        /// <summary>
        /// 更新工单派单员信息
        /// </summary>
        public const string CanUpdateOrderSender = "CanUpdateOrderSender";

        /// <summary>
        /// 是否开启重复工单
        /// </summary>
        public const string IsOpenRepeatedWorkOrders = "IsOpenRepeatedWorkOrders";

        /// <summary>
        /// 班长代办
        /// </summary>
        public const string ChargeDAffaires = "ChargeDAffaires";

        /// <summary>
        /// 超时接通量
        /// </summary>
        public const string CallInOverConnRingTime = "CallInOverConnRingTime";

        /// <summary>
        /// 坐席超时挂断时间	
        /// </summary>
        public const string SeatChaoTime = "SeatChaoTime";

        /// <summary>
        /// 智能语音URL头
        /// </summary>
        public const string AiVisitVoiceBaseUrl = "AiVisitVoiceBaseUrl";

        /// <summary>
        /// 是否开启应急管理局推送业务
        /// </summary>
        public const string IsOpenContingencyManagement = "IsOpenContingencyManagement";

        /// <summary>
        /// 系统版本地区
        /// </summary>
        public const string VersionsAreaCode = "VersionsAreaCode";

        /// <summary>
        /// 系统管理员角色
        /// </summary>
        public const string SystemAdministrator = "SystemAdministrator";

        /// <summary>
        /// 呼叫中心socket地址
        /// </summary>
        public const string CallCenterSocketUrl = "CallCenterSocketUrl";

        /// <summary>
        /// 地图中心点坐标
        /// </summary>
        public const string LocationCenter = "LocationCenter";

        /// <summary>
        /// 备案号
        /// </summary>
        public const string RecordNumber = "RecordNumber";

        /// <summary>
        /// 城市名简写
        /// </summary>
        public const string CityAbbr = "CityAbbr";

        /// <summary>
        /// 运营商名称
        /// </summary>
        public const string Operate = "Operate";

        /// <summary>
        /// 技术支持
        /// </summary>
        public const string TechSupport = "TechSupport";

        /// <summary>
        /// 城市Code
        /// </summary>
        public const string CityCode = "CityCode";

        /// <summary>
        /// 城市名称
        /// </summary>
        public const string CityName = "CityName";

        /// <summary>
        /// 录音播放地址前缀
        /// </summary>
        public const string RecordPrefix = "RecordPrefix";

        /// <summary>
        /// 录音地址下载前缀
        /// </summary>
        public const string RecordDownLoadPrefix = "RecordDownLoadPrefix";

        /// <summary>
        /// 接受短信的角色ID
        /// </summary>
        public const string AcceptSmsRoleIds = "AcceptSmsRoleIds";

        /// <summary>
        /// 企业专席配置	
        /// </summary>
        public const string EnterpriseSeats = "EnterpriseSeats";

        /// <summary>
        /// 监听分机号
        /// </summary>
        public const string ListenTels = "ListenTels";

        /// <summary>
        /// 是否发送超期短信
        /// </summary>
        public const string IsSendOverTimeSms = "IsSendOverTimeSms";

        /// <summary>
        /// 可分配回访角色
        /// </summary>
        public const string OrderVisitRole = "OrderVisitRole";

        #region 自动延期
        /// <summary>
        /// 是否开启自动延期
        /// </summary>
        public const string EnabledAutomaticDelay = "EnabledAutomaticDelay";

        /// <summary>
        /// 自动延期短信发送部门角色
        /// </summary>
        public const string AutomaticDelayDepartmentRoles = "AutomaticDelayDepartmentRoles";

        /// <summary>
        /// 自动延期短信发送中心角色
        /// </summary>
        public const string AutomaticDelayCenterRoles = "AutomaticDelayCenterRoles";

        #endregion

        /// <summary>
        /// 定量查询返回数据条数上限
        /// </summary>
        public const string FixedQueryCount = "FixedQueryCount";

        /// <summary>
        /// 旧数据通知公告知识库附件地址	
        /// </summary>
        public const string OldFilesUrls = "OldFilesUrls";

        /// <summary>
        /// 市州基本信息配置
        /// </summary>
        public const string CityBaseConfiguration = "CityBaseConfiguration";

        /// <summary>
        /// 中心直办件默认回访人Id
        /// 根据禅道 自贡需求 Id_361, 第一条, 3小条需求;
        /// </summary>
        public const string DefaultVisitEmployeeId = "DefaultVisitEmployeeId";

        /// <summary>
        /// 老系统首页地址
        /// </summary>
        public const string OldHotlineUrl = "OldHotlineUrl";

        /// <summary>
        /// 老系统获取待办信息
        /// </summary>
        public const string OldHotlineOrderState = "OldHotlineOrderState";

        /// <summary>
        /// 是否重置中心会签类型
        /// </summary>
        public const string IsResetCenterCountersignType = "IsResetCenterCountersignType";

        /// <summary>
        /// 上传文件格式显示
        /// </summary>
        public const string FileExt = "FileExt";

        /// <summary>
        /// 自动发布中心直办归档工单
        /// </summary>
        public const string AutomaticPublishOrder = "AutomaticPublishOrder";

        /// <summary>
        /// 是否开启自动填写办理意见至汇总节点
        /// </summary>
        public const string IsAutoFillSummaryOpinion = "IsAutoFillSummaryOpinion";

        /// <summary>
        /// 国家政务平台办理结果字数限制
        /// </summary>
        public const string NationalPlatformWordLimit = "NationalPlatformWordLimit";

        /// <summary>
        /// 办理意见字数限制
        /// </summary>
        public const string HandleOpinionWordLimit = "HandleOpinionWordLimit";

        /// <summary>
        /// 电话呼入弹单方式(兴唐)
        /// </summary>
        public const string CallInOpenType = "CallInOpenType";

        /// <summary>
        /// 取消发布功能总开关
        /// </summary>
        public const string CancelPublishOrderEnabled = "CancelPublishOrderEnabled";

        /// <summary>
        /// 高效办成一件事
        /// </summary>
        public const string EfficientlyAccomplish = "EfficientlyAccomplish";

        /// <summary>
        /// 热线中心名称
        /// </summary>
        public const string CenterOrgName = "CenterOrgName";

        /// <summary>
        /// 保存回访详情时发送延迟消息同步通话记录
        /// 如果回访通话记录有多条, 需要关联通话时长最长的那条
        /// </summary>
        public const string VisitCallDelaySecond = "VisitCallDelaySecond";

        /// <summary>
        /// 发送回访短信后等候市民回复短信的时间
        /// 如果超过这个时间就更新回访为默认满意
        /// </summary>
        public const string DefaultVisitSmsDelaySecond = "DefaultVisitSmsDelaySecond";

        /// <summary>
        /// 通话记录同步时不推送省上的时间(默认:2024/11/19 18:08)
        /// </summary>
        public const string CallSyncUnPushDateTime = "CallSyncUnPushDateTime";

        /// <summary>
        /// 即将超期列表调用方法的版本(有优化办法和老版本)
        /// </summary>
        public const string GetAboutToExpireVersion = "GetAboutToExpireVersion";

        /// <summary>
        /// 工单开始办理如果获取的通话记录是呼出并且录音文件是空就不推送通话记录
        /// </summary>
        public const string OrderStartHandlerPushCallIsNull = "OrderStartHandlerPushCallIsNull";

        /// <summary>
        /// 部门满意度明细不显示工单
        /// </summary>
        public const string OrgVisitDetailHiddenOrderNo = "OrgVisitDetailHiddenOrderNo";

        /// <summary>
        /// 交办单是否保密
        /// </summary>
        public const string IsTheAssignmentFormConfidential = "IsTheAssignmentFormConfidential";

        /// <summary>
        /// 微信小程序OpenId
        /// </summary>
        public const string WxOpenAppId = "WxOpenAppId";

        /// <summary>
        /// 微信小程序ApiHost
        /// </summary>
        public const string WxApiHost = "WxApiHost";

        /// <summary>
        /// 微信小程序Secret
        /// </summary>
        public const string WxOpenAppSecret = "WxOpenAppSecret";

        /// <summary>
        /// 文件服务器地址
        /// </summary>
        public const string FileServerUrl = "FileServerUrl";

        /// <summary>
        /// 文件下载接口
        /// </summary>
        public const string FileDownloadApi = "FileDownloadApi";

        /// <summary>
        /// 小程序Banner集合
        /// </summary>
        public const string AppBanner = "小程序Banner";

        /// <summary>
        /// 天阙服务AppKey|AppSecret
        /// </summary>
        public const string TianQueAppKeySecret = "TianQueAppKeySecret";

        /// <summary>
        /// 天阙推送受理信息接口Url
        /// </summary>
        public const string TianQuanPostAcceptInfoApi = "TianQuanPostAcceptInfoApi";

        /// <summary>
        /// 天阙接口请求方式
        /// </summary>
        public const string TianQueRequestMode = "TianQueRequestMode";

        /// <summary>
        /// 网格员回复等待时间(单位:小时)
        /// 超过该时间自动退回工单
        /// </summary>
        public const string OvertimeBack = "OvertimeBack";

        /// <summary>
        /// 办结是否发送查询短信
        /// </summary>
        public const string IsOpenSendEndSms = "IsOpenSendEndSms";

        /// <summary>
        /// 回访是否发送查询短信（投诉、举报查询短信）
        /// </summary>
        public const string IsOpenSendVisitSms = "IsOpenSendVisitSms";

        /// <summary>
        /// 企业话机
        /// </summary>
        public const string EnterpriseTel = "EnterpriseTel";

        /// <summary>
        /// 启用随手拍功能
        /// </summary>
        public const string Snapshot = "Snapshot";

        /// <summary>
        /// 是否开启分词
        /// </summary>
        public const string IsOpenWordSegmentation = "IsOpenWordSegmentation";

        /// <summary>
        /// 是否查询老数据
        /// </summary>
        public const string IsGetOld = "IsGetOld";

        /// <summary>
        /// 兴唐恒信 - 分机状态变更接收
        /// </summary>
        public const string XthxVerificationStatusAdd = "XthxVerificationStatusAdd";

        /// <summary>
        /// 是否启用小休计时
        /// </summary>
        public const string IsTelRest = "IsTelRest";

        /// <summary>
        /// 小休计时秒数
        /// </summary>
        public const string TelRestNum = "TelRestNum";

        /// <summary>
        /// 是否不推送呼出的无文件的通话记录
        /// </summary>
        public const string IsNoPushCallNativeOutNoFile = "IsNoPushCallNativeOutNoFile";

        /// <summary>
        /// 是否开启特殊号码功能
        /// </summary>
        public const string IsOpenSpecialPhone = "IsOpenSpecialPhone";

        /// <summary>
        /// 回访不满意是否发送甄别短信
        /// </summary>
        public const string IsSendDissatisfiedScreenSms = "IsSendDissatisfiedScreenSms";

        /// <summary>
        /// 泸州好差评系统对接功能
        /// </summary>
        public const string LuZhouHaoChaPing = "lzhcp";

        /// <summary>
        /// 工单保存特殊身份验证
        /// </summary>
        public const string SpecialIdentityVerification = "SpecialIdentityVerification";

        /// <summary>
        /// 甄别统计查询节点
        /// </summary>
        public const string ScreenStatisticalNodes = "ScreenStatisticalNodes";

        /// <summary>
        /// 延期统计查询节点
        /// </summary>
        public const string DelayStatisticalNodes = "DelayStatisticalNodes";

        /// <summary>
        /// 小休审批人角色
        /// </summary>
        public const string RestAuditRole = "RestAuditRole";

        /// <summary>
        /// 签入是否处理是否有小休
        /// </summary>
        public const string SignInCheckRest = "SignInCheckRest";

        /// <summary>
        /// 高频预警许排除的工单标题
        /// </summary>
        public const string HighMatterWarningFilterTitle = "HighMatterWarningFilterTitle";

        /// <summary>
        /// 是否开启工单预警
        /// </summary>
        public const string IsEarly = "IsEarly";

        /// <summary>
        /// ip白名单
        /// </summary>
        public const string WhiteIp = "WhiteIp";

        /// <summary>
        /// 临时保存天数
        /// </summary>
        public const string TempOpinionDays = "TempOpinionDays";

        /// <summary>
        /// 话务管理未接允许关联工单
        /// </summary>
        public const string IsCallBindOrder = "IsCallBindOrder";

        /// <summary>
        /// 是否开启白名单查询
        /// </summary>
        public const string IsOpenWhiteList = "IsOpenWhiteList";

        /// <summary>
        /// 小程序同一个用户上报工单间隔时间(单位:分)
        /// </summary>
        public const string SnapshotIntervalMinutes = "SnapshotIntervalMinutes";
    }
}
