partner_info.go 1.2 KB
package models

import (
	"context"
	"time"

	"github.com/go-pg/pg/v10"
	"gitlab.fjmaimaimai.com/mmm-go/partnermg/pkg/domain"
)

type PartnerInfo struct {
	tableName struct{} `pg:"partner_info,alias:partner_info"`
	// 合伙人ID
	Id int64 `pg:",pk"`
	// 合伙人姓名
	PartnerName string
	// 登录账号
	Account string
	// 登录密码
	Password string
	// 状态(1:启用或者0:禁用)
	Status int `pg:",use_zero"`

	//所属区域信息
	RegionInfo *domain.RegionInfo
	//创建时间
	CreateAt time.Time
	//更新时间
	UpdateAt time.Time
	//合作时间
	CooperateTime time.Time
	//关联业务员
	Salesman []domain.Salesman
	// 合伙类别 (1.研发合伙人 2.业务合伙人  3.事业)
	PartnerCategory int `pg:",default:1"` //partner_category
	//合伙类别
	PartnerCategoryInfos []PartnerCategoryInfo
}

var _ pg.BeforeUpdateHook = (*PartnerInfo)(nil)

func (user *PartnerInfo) BeforeUpdate(ctx context.Context) (context.Context, error) {
	user.UpdateAt = time.Now()
	return ctx, nil
}

var _ pg.BeforeInsertHook = (*PartnerInfo)(nil)

func (user *PartnerInfo) BeforeInsert(ctx context.Context) (context.Context, error) {
	user.CreateAt = time.Now()
	user.UpdateAt = time.Now()
	return ctx, nil
}