/**
 * 运行时字典编码常量
 *
 * 约定：
 * 1. 不要在业务页面硬编码 dictType。
 * 2. 新增字典编码前，先从“后端接口文档 / 后端字段契约 / 系统字典管理页”确认真实 dictType。
 * 3. 确认后再收敛到本文件，并补上中文注释说明“这个编码对应哪个业务字段”。
 */

/**
 * 对象方向字典编码
 *
 * 对应业务字段：产品、项目及后续其他对象中的 directionCode / direction
 * 来源口径：
 * 1. 方向类业务语义已经纠正为“对象通用方向”
 * 2. 后端字典编码已准备切到更准确的 rdms_object_direction
 *
 * 说明：
 * 前端页面统一使用本常量，不再继续使用带 product 痕迹的旧命名。
 */
export const RDMS_OBJECT_DIRECTION_DICT_CODE = 'rdms_object_direction';

/**
 * 对象方向历史字典编码
 *
 * 用途：
 * 仅用于前后端切换期间兼容旧数据，不允许新页面直接使用。
 */
export const RDMS_OBJECT_DIRECTION_LEGACY_DICT_CODE = 'rdms_product_direction';

/**
 * 用户所属公司字典编码
 *
 * 对应业务字段：用户相关接口和页面中的 company
 * 来源口径：当前系统"用户管理"页面按系统字典 system_user_company 做下拉和文案回显
 */
export const SYSTEM_USER_COMPANY_DICT_CODE = 'system_user_company';

/**
 * 需求来源类型字典编码
 *
 * 对应业务字段：需求相关接口和页面中的 sourceType
 * 来源口径：产品需求文档中定义，标签包括工单流转、手动新增
 */
export const RDMS_REQ_SOURCE_TYPE_DICT_CODE = 'rdms_req_source_type';

/**
 * 优先级字典编码
 *
 * 对应业务字段：
 * - 需求（产品需求 / 项目需求）的 priority（旧口径：Integer，数字大=高，0=低 / 3=紧急）
 * - 任务 / 执行的 priority（新口径：String "0"~"3"，数字越小优先级越高，"1"=默认 P1）
 *
 * 来源口径：后端统一字典 rdms_req_priority，4 档标签 P0/P1/P2/P3。
 * 数值取值口径不同是已知遗留——前端用本字典的 label / colorType 渲染即可，不要硬编码 P0~P3。
 */
export const RDMS_REQ_PRIORITY_DICT_CODE = 'rdms_req_priority';

/**
 * 需求分类字典编码
 *
 * 对应业务字段：需求相关接口和页面中的 category
 * 来源口径：产品需求文档中定义，标签包括工程需求、用户需求、安全需求、体验优化、功能需求
 */
export const RDMS_REQ_CATEGORY_DICT_CODE = 'rdms_req_category';

/**
 * 项目类型字典编码
 *
 * 对应业务字段：项目相关接口和页面中的 projectType
 * 来源口径：后端字典 rdms_project_type
 */
export const RDMS_PROJECT_TYPE_DICT_CODE = 'rdms_project_type';

/**
 * 项目执行类型字典编码
 *
 * 对应业务字段：项目任务管理中执行的 executionType
 * 来源口径：`rdms-project-boot-执行任务接口API文档.md` 明确 executionType 来自字典 rdms_project_execution_type
 */
export const RDMS_PROJECT_EXECUTION_TYPE_DICT_CODE = 'rdms_project_execution_type';

/**
 * 状态机对象类型字典编码
 *
 * 对应业务字段：状态机管理中的 objectType / 对象类型
 * 来源口径：用户明确指定对象类型下拉来自运行时字典 object_status_model_object_type
 */
export const OBJECT_STATUS_MODEL_OBJECT_TYPE_DICT_CODE = 'object_status_model_object_type';

/**
 * 任务/个人事项类型字典编码
 *
 * 对应业务字段：任务、个人事项中的 type
 * 来源口径：用户明确指定任务/个人事项类型下拉来自运行时字典 rdms_task_item_type
 */
export const RDMS_TASK_ITEM_TYPE_DICT_CODE = 'rdms_task_item_type';

/**
 * 需求允许删除的状态字典编码
 *
 * 对应业务字段：需求删除功能中判断 statusCode 是否允许删除
 * 来源口径：用户在系统字典管理页中创建的字典 rdms_req_can_delete_status
 */
export const RDMS_REQ_CAN_DELETE_STATUS_DICT_CODE = 'rdms_req_can_delete_status';

/**
 * 工作日志难度字典编码
 *
 * 对应业务字段：任务/个人事项工作日志中的 difficulty
 * 来源口径：用户明确指定任务/个人事项工作日志难度下拉来自运行时字典 rdms_task_item_worklog_difficulty
 */
export const RDMS_WORKLOG_DIFFICULTY_DICT_CODE = 'rdms_task_item_worklog_difficulty';

/**
 * 学习时长快捷选项字典编码
 *
 * 对应业务字段：业务学习中的 overtimeDuration
 * 来源口径：`overtime-application-design.md` 明确时长下拉字典为 rdms_overtime_duration
 */
export const RDMS_OVERTIME_DURATION_DICT_CODE = 'rdms_overtime_duration';

/**
 * 站内信消息等级字典编码
 *
 * 对应业务字段：站内信 NotifyMessage.level（1=普通 2=提醒 3=警告 4=严重，数字越大越紧急）
 * 来源口径：`2026-06-13-站内信消息等级-前端对接.html` 明确等级字典为 notify_message_level，
 * 显示名与颜色（hex）均走字典，前端按 level 取色不硬编码。
 */
export const NOTIFY_MESSAGE_LEVEL_DICT_CODE = 'notify_message_level';

/**
 * 意见反馈分类字典编码
 *
 * 对应业务字段：意见反馈 type（1 缺陷 / 2 体验问题 / 3 功能建议）
 * 来源口径：`2026-06-25-意见反馈-前端API.html` 明确分类字典为 feedback_type，后端已落库。
 */
export const FEEDBACK_TYPE_DICT_CODE = 'feedback_type';

/**
 * 意见反馈处理状态字典编码
 *
 * 对应业务字段：意见反馈 status（1 待处理 / 2 处理中 / 3 已处理 / 4 已忽略）
 * 来源口径：同上，后端已落库。提交不传 status，后端强制「待处理」。
 */
export const FEEDBACK_STATUS_DICT_CODE = 'feedback_status';

/**
 * 系统用户类型字典编码
 *
 * 对应业务字段：系统日志中的 userType
 * 来源口径：后端 DictTypeConstants.USER_TYPE = user_type
 */
export const SYSTEM_USER_TYPE_DICT_CODE = 'user_type';

/**
 * 系统登录日志类型字典编码
 *
 * 对应业务字段：登录日志中的 logType
 * 来源口径：后端 DictTypeConstants.LOGIN_TYPE = system_login_type
 */
export const SYSTEM_LOGIN_TYPE_DICT_CODE = 'system_login_type';

/**
 * 系统登录结果字典编码
 *
 * 对应业务字段：登录日志中的 result
 * 来源口径：后端 DictTypeConstants.LOGIN_RESULT = system_login_result
 */
export const SYSTEM_LOGIN_RESULT_DICT_CODE = 'system_login_result';

/**
 * 基础设施操作分类字典编码
 *
 * 对应业务字段：API 访问日志中的 operateType
 * 来源口径：后端 DictTypeConstants.OPERATE_TYPE = infra_operate_type
 */
export const INFRA_OPERATE_TYPE_DICT_CODE = 'infra_operate_type';

/**
 * API 错误日志处理状态字典编码
 *
 * 对应业务字段：API 错误日志中的 processStatus
 * 来源口径：后端 DictTypeConstants.API_ERROR_LOG_PROCESS_STATUS = infra_api_error_log_process_status
 */
export const INFRA_API_ERROR_LOG_PROCESS_STATUS_DICT_CODE = 'infra_api_error_log_process_status';

/**
 * 系统请求方式字典编码
 *
 * 对应业务字段：操作日志中的 requestMethod
 * 来源口径：用户明确指定请求方式下拉来自运行时字典 system_request_method
 */
export const SYSTEM_REQUEST_METHOD_DICT_CODE = 'system_request_method';
