📋 表概述

gm_survey 表存储玩家对GM服务满意度的调查结果。当GM处理完玩家的工单(ticket)后,玩家可以对服务进行评分并留下评论。此表记录每次调查的主体信息。

主键为 surveyId(自增)。主调查结果存储在 mainSurvey 字段,详细子问题回答存储在关联表 gm_subsurvey 中。

📊 表结构

字段名类型默认值说明
surveyIdint UNSIGNEDAUTO_INCREMENT调查记录ID(主键,自增)
guidint UNSIGNED0提交调查的角色GUID
mainSurveyint UNSIGNED0总体满意度评分(0-5星)
commentlongtextNOT NULL玩家评论/附加意见
createTimeint UNSIGNED0调查创建时间(Unix时间戳)
maxMMRsmallintNOT NULL玩家当前最高MMR值(竞技场匹配分)

🔍 重要字段详解

⭐ mainSurvey - 总体评分

详细说明:玩家对此次GM服务的总体满意度评分。
  • 通常为1~5星评分制
  • 0 = 未评分
  • 高评分表示GM服务满意
  • 用于GM绩效考核

💬 comment - 玩家评论

详细说明:LONGTEXT类型,可存储玩家对GM服务的详细文字反馈。
  • 支持长文本(远超VARCHAR限制)
  • 玩家可以在此描述具体满意或不满意的原因
  • 管理员可据此改进服务质量

📊 maxMMR - 竞技场分数

详细说明:记录提交调查时玩家的最高竞技场匹配分。
  • SMALLINT有符号类型,范围-32768~32767
  • 辅助分析不同水平玩家对GM服务的反馈
  • 主要用于数据统计和分析维度

💡 SQL示例

示例1:查询GM服务的平均评分

SELECT AVG(mainSurvey) AS avg_rating, COUNT(*) AS total_surveys FROM gm_survey WHERE mainSurvey > 0;

示例2:查询某角色的所有调查记录

SELECT surveyId, mainSurvey, comment, FROM_UNIXTIME(createTime) AS create_date FROM gm_survey WHERE guid = 100 ORDER BY createTime DESC;

❓ 常见问题

Q1: 玩家提交调查后可以修改吗?
通常不支持修改。每个GM工单处理完成后只允许提交一次调查。如需修改需要管理员直接操作数据库。
Q2: gm_survey 和 gm_subsurvey 有什么关系?
gm_survey 是主调查记录(总体评分+评论),gm_subsurvey 是子调查记录(每个具体问题的回答)。通过 surveyId 关联。