const sequelize = require('../config/database'); const { DataTypes } = require('sequelize'); const Department = require('./Department'); const Position = require('./Position'); const AdminStaff = sequelize.define('AdminStaff', { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true }, name: { type: DataTypes.STRING, allowNull: false, comment: '员工姓名' }, department_id: { type: DataTypes.INTEGER, allowNull: false, references: { model: Department, key: 'id' }, comment: '所属部门ID' }, position_id: { type: DataTypes.INTEGER, allowNull: false, references: { model: Position, key: 'id' }, comment: '任职岗位ID' }, phone: { type: DataTypes.STRING, allowNull: false, unique: true, comment: '联系电话' }, id_card: { type: DataTypes.STRING, allowNull: true, comment: '身份证号码' }, status: { type: DataTypes.BOOLEAN, allowNull: false, defaultValue: true, comment: '账号使用状态' } }, { tableName: 'government_admin_staff', indexes: [ { name: 'idx_admin_staff_department_id', fields: ['department_id'] }, { name: 'idx_admin_staff_position_id', fields: ['position_id'] }, { name: 'idx_admin_staff_name', fields: ['name'] }, { name: 'idx_admin_staff_phone', fields: ['phone'] } ] }); // 建立关联关系 AdminStaff.belongsTo(Department, { foreignKey: 'department_id', as: 'department' }); AdminStaff.belongsTo(Position, { foreignKey: 'position_id', as: 'position' }); module.exports = AdminStaff;