import { Column, Model, Table, DataType, CreatedAt, ForeignKey, BelongsTo } from "sequelize-typescript"; import Customer from "./customer.entity"; @Table({ tableName: "customer_visit", comment: "客户拜访信息表", timestamps: true, createdAt: "created_at", updatedAt: false, indexes: [ { name: "idx_visit_customer", fields: ["customer_id"] }, { name: "idx_visit_salesman", fields: ["salesman_id"] } ] }) export default class CustomerVisit extends Model { @Column({ type: DataType.BIGINT, autoIncrement: true, primaryKey: true }) id!: number; @Column({ type: DataType.STRING(64), allowNull: false, unique: true, field: "visit_no", comment: "拜访单号(唯一)" }) visitNo!: string; @ForeignKey(() => Customer) @Column({ type: DataType.BIGINT, allowNull: false, field: "customer_id", comment: "客户ID" }) customerId!: number; @Column({ type: DataType.STRING(64), allowNull: false, field: "visit_person", comment: "拜访人" }) visitPerson!: string; @Column({ type: DataType.STRING(20), field: "visit_phone", comment: "拜访人电话" }) visitPhone!: string; @Column({ type: DataType.TEXT, field: "visit_content", comment: "拜访内容" }) visitContent!: string; @Column({ type: DataType.DATEONLY, field: "visit_time", comment: "拜访时间" }) visitTime!: string; @Column({ type: DataType.BIGINT, field: "salesman_id", comment: "业务员(关联sys_user.id)" }) salesmanId!: number; @Column({ type: DataType.SMALLINT, defaultValue: 0, field: "will_plan", comment: "是否做方案:0不同意 1同意" }) willPlan!: number; @BelongsTo(() => Customer) customer!: Customer; @CreatedAt created_at!: Date; }