This commit is contained in:
张成
2025-12-16 16:39:18 +08:00
parent 41e03daa50
commit 5252add88a
3 changed files with 200 additions and 36 deletions

112
api/model/feedback.js Normal file
View File

@@ -0,0 +1,112 @@
const Sequelize = require('sequelize');
/**
* 意见反馈表模型
* 记录用户的意见反馈信息
*/
module.exports = (db) => {
const feedback = db.define('feedback', {
// 用户信息
user_id: {
comment: '用户ID关联 pla_account.id',
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: 'pla_account',
key: 'id'
}
},
sn_code: {
comment: '设备SN码',
type: Sequelize.STRING(50),
allowNull: false,
defaultValue: ''
},
// 反馈信息
type: {
comment: '反馈类型: bug-Bug反馈, suggestion-功能建议, question-使用问题, other-其他',
type: Sequelize.STRING(20),
allowNull: false,
defaultValue: 'other'
},
content: {
comment: '反馈内容',
type: Sequelize.TEXT,
allowNull: false
},
contact: {
comment: '联系方式(手机号、邮箱等)',
type: Sequelize.STRING(100),
allowNull: true,
defaultValue: ''
},
// 处理状态
status: {
comment: '处理状态: pending-待处理, processing-处理中, completed-已完成, rejected-已拒绝',
type: Sequelize.STRING(20),
allowNull: false,
defaultValue: 'pending'
},
reply_content: {
comment: '回复内容',
type: Sequelize.TEXT,
allowNull: true
},
reply_time: {
comment: '回复时间',
type: Sequelize.DATE,
allowNull: true
},
reply_user_id: {
comment: '回复人ID管理员ID',
type: Sequelize.INTEGER,
allowNull: true
},
// 备注
remark: {
comment: '备注',
type: Sequelize.TEXT,
allowNull: true
},
// 软删除
is_delete: {
comment: '是否删除0-未删除1-已删除)',
type: Sequelize.TINYINT(1),
allowNull: false,
defaultValue: 0
}
}, {
tableName: 'feedback',
indexes: [
{
name: 'idx_user_id',
fields: ['user_id']
},
{
name: 'idx_sn_code',
fields: ['sn_code']
},
{
name: 'idx_type',
fields: ['type']
},
{
name: 'idx_status',
fields: ['status']
},
{
name: 'idx_create_time',
fields: ['create_time']
}
]
});
// feedback.sync({ alter: true });
return feedback;
};