This commit is contained in:
张成
2025-12-16 15:55:42 +08:00
parent f3e6413bfe
commit 41e03daa50
7 changed files with 1077 additions and 28 deletions

123
api/model/invite_record.js Normal file
View File

@@ -0,0 +1,123 @@
/**
* 邀请记录表模型
* 记录用户邀请注册的信息
*/
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;
};