You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
GO/app/model/brokerBusinessStoreStaff.go

73 lines
3.1 KiB

8 months ago
package model
import (
"github.com/shopspring/decimal"
"gorm.io/gorm"
"time"
)
const (
BrokerBusinessStoreStaffGenderUnknown = 0 // 未知
BrokerBusinessStoreStaffGenderMale = 1 // 男
BrokerBusinessStoreStaffGenderFemale = 2 // 女
BrokerBusinessStoreStaffStatusEnabled = 1 // 启用
BrokerBusinessStoreStaffStatusDisabled = 2 // 停用
BrokerRoleStoreOwner = 1 // 店长
BrokerRoleStoreWorker = 2 // 车务
BrokerRoleStoreSale = 3 // 经纪人
BrokerRoleBusinessOwner = 11 // 入驻商所有者
BrokerRoleBusinessWorker = 12 // 入驻商车务
)
// 入驻商下角色能力权限
var (
BrokerAbilityBusinessOwner = []uint{BrokerRoleBusinessOwner} // 入驻商所有者
BrokerAbilityBusiness = []uint{BrokerRoleBusinessOwner, BrokerRoleBusinessWorker} // 入驻商人员
BrokerAbilityStoreOwner = []uint{BrokerRoleStoreOwner, BrokerRoleBusinessOwner} // 入驻商门店店长及以上
BrokerAbilityStore = []uint{BrokerRoleStoreOwner, BrokerRoleStoreWorker} // 门店人员
BrokerAbilityBusinessStaffWorker = []uint{BrokerRoleStoreWorker, BrokerRoleStoreOwner, BrokerRoleBusinessOwner, BrokerRoleBusinessWorker} // 入驻商门店车务及以上
BrokerAbilityBusinessStaffSale = []uint{BrokerRoleStoreSale, BrokerRoleStoreOwner, BrokerRoleBusinessOwner} // 入驻商门店经纪人及以上
BrokerAbilityBusinessStaff = []uint{BrokerRoleStoreWorker, BrokerRoleStoreSale} // 入驻商门店常规员工
)
type BrokerBusinessStoreStaff struct {
Id uint `gorm:"primaryKey"`
BrokerId uint // 经纪人id
Name string // 姓名
Gender uint // 性别 0=未知 1=男 2=女
Phone string // 手机号
BusinessId uint // 入驻商id
Business BrokerBusiness `gorm:"foreignKey:BusinessId"`
StoreId uint // 所属门店
Store BrokerBusinessStore `gorm:"foreignKey:StoreId"`
RoleId uint // 权限
Role BrokerRole `gorm:"foreignKey:RoleId"`
Commission decimal.Decimal // 销售提成
AuditId uint // 审核id
Audit BrokerBusinessStoreStaffAudit `gorm:"foreignKey:AuditId"`
Status uint // 状态
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt
}
func (b *BrokerBusinessStoreStaff) GetRoleName(role uint) string {
switch role {
case BrokerRoleStoreOwner:
return "店长"
case BrokerRoleStoreWorker:
return "车务"
case BrokerRoleStoreSale:
return "经纪人"
case BrokerRoleBusinessOwner:
return "入驻商所有者"
case BrokerRoleBusinessWorker:
return "入驻商车务"
default:
return "未知"
}
}