Files
autoAiWorkSys/api/model/invite_record.js
张成 36433060f2 1
2025-12-17 14:43:13 +08:00

124 lines
2.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 邀请记录表模型
* 记录用户邀请注册的信息
*/
const Sequelize = require('sequelize');
module.exports = (db) => {
const invite_record = db.define("invite_record", {
// 邀请人ID关联 pla_account.id
inviter_id: {
comment: '邀请人ID',
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: 'pla_account',
key: 'id'
}
},
// 邀请人SN码
inviter_sn_code: {
comment: '邀请人SN码',
type: Sequelize.STRING(50),
allowNull: false,
defaultValue: ''
},
// 被邀请人ID关联 pla_account.id
invitee_id: {
comment: '被邀请人ID',
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: 'pla_account',
key: 'id'
}
},
// 被邀请人SN码
invitee_sn_code: {
comment: '被邀请人SN码',
type: Sequelize.STRING(50),
allowNull: false,
defaultValue: ''
},
// 被邀请人手机号
invitee_phone: {
comment: '被邀请人手机号',
type: Sequelize.STRING(20),
allowNull: false,
defaultValue: ''
},
// 邀请码
invite_code: {
comment: '邀请码',
type: Sequelize.STRING(100),
allowNull: false,
defaultValue: ''
},
// 注册时间
register_time: {
comment: '注册时间',
type: Sequelize.DATE,
allowNull: false,
defaultValue: Sequelize.NOW
},
// 奖励状态0=未发放1=已发放)
reward_status: {
comment: '奖励状态0=未发放1=已发放)',
type: Sequelize.TINYINT(1),
allowNull: false,
defaultValue: 0
},
// 奖励类型trial_days=试用期天数)
reward_type: {
comment: '奖励类型',
type: Sequelize.STRING(50),
allowNull: false,
defaultValue: 'trial_days'
},
// 奖励值(试用期天数)
reward_value: {
comment: '奖励值(试用期天数)',
type: Sequelize.INTEGER,
allowNull: false,
defaultValue: 3
},
// 备注
remark: {
comment: '备注',
type: Sequelize.TEXT,
allowNull: true
}
}, {
tableName: 'invite_record',
indexes: [
{
name: 'idx_inviter_id',
fields: ['inviter_id']
},
{
name: 'idx_invitee_id',
fields: ['invitee_id']
},
{
name: 'idx_invite_code',
fields: ['invite_code']
},
{
name: 'idx_register_time',
fields: ['register_time']
},
{
name: 'idx_reward_status',
fields: ['reward_status']
}
]
});
// invite_record.sync({ alter: true });
return invite_record;
};