新增数据库主键处理
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// AdminAPI 后台-接口表
|
||||
type AdminAPI struct {
|
||||
Model
|
||||
@@ -13,3 +19,17 @@ type AdminAPI struct {
|
||||
func (m *AdminAPI) TableName() string {
|
||||
return "gdxz_admin_api"
|
||||
}
|
||||
|
||||
func (m *AdminAPI) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.APIID == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.APIID = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// AdminDept 后台-部门表
|
||||
type AdminDept struct {
|
||||
DeptId int64 `gorm:"column:dept_id;type:bigint(19);primary_key;comment:主键id" json:"dept_id"`
|
||||
@@ -12,3 +18,17 @@ type AdminDept struct {
|
||||
func (m *AdminDept) TableName() string {
|
||||
return "gdxz_admin_dept"
|
||||
}
|
||||
|
||||
func (m *AdminDept) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.DeptId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.DeptId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// AdminMenu 后台-菜单表
|
||||
type AdminMenu struct {
|
||||
Model
|
||||
@@ -19,3 +25,17 @@ type AdminMenu struct {
|
||||
func (m *AdminMenu) TableName() string {
|
||||
return "gdxz_admin_menu"
|
||||
}
|
||||
|
||||
func (m *AdminMenu) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.MenuId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.MenuId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// AdminPost 后台-岗位表
|
||||
type AdminPost struct {
|
||||
PostId int64 `gorm:"column:post_id;type:bigint(19);primary_key;comment:主键id" json:"post_id"`
|
||||
@@ -11,3 +17,17 @@ type AdminPost struct {
|
||||
func (m *AdminPost) TableName() string {
|
||||
return "gdxz_admin_post"
|
||||
}
|
||||
|
||||
func (m *AdminPost) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.PostId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.PostId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// AdminRole 后台-角色表
|
||||
type AdminRole struct {
|
||||
RoleId int64 `gorm:"column:role_id;type:bigint(19);primary_key;comment:主键id" json:"role_id"`
|
||||
@@ -12,3 +18,17 @@ type AdminRole struct {
|
||||
func (m *AdminRole) TableName() string {
|
||||
return "gdxz_admin_role"
|
||||
}
|
||||
|
||||
func (m *AdminRole) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.RoleId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.RoleId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// AdminUser 后台-用户表
|
||||
type AdminUser struct {
|
||||
Model
|
||||
@@ -28,3 +34,17 @@ type AdminUser struct {
|
||||
func (m *AdminUser) TableName() string {
|
||||
return "gdxz_admin_user"
|
||||
}
|
||||
|
||||
func (m *AdminUser) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.UserID == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.UserID = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// Area 地区表
|
||||
type Area struct {
|
||||
AreaId int64 `gorm:"column:area_id;type:bigint(19);primary_key;comment:地区编号" json:"area_id"`
|
||||
@@ -12,3 +18,17 @@ type Area struct {
|
||||
func (m *Area) TableName() string {
|
||||
return "gdxz_area"
|
||||
}
|
||||
|
||||
func (m *Area) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.AreaId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.AreaId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
type BasicBank struct {
|
||||
BankId int64 `gorm:"column:bank_id;type:bigint(19);primary_key;comment:主键id" json:"bank_id"`
|
||||
BankCode string `gorm:"column:bank_code;type:varchar(255);comment:银行编码" json:"bank_code"`
|
||||
@@ -12,3 +18,17 @@ type BasicBank struct {
|
||||
func (m *BasicBank) TableName() string {
|
||||
return "gdxz_basic_bank"
|
||||
}
|
||||
|
||||
func (m *BasicBank) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.BankId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.BankId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// DiseaseClassExpertise 疾病分类表-医生专长
|
||||
type DiseaseClassExpertise struct {
|
||||
ExpertiseId int64 `gorm:"column:expertise_id;type:bigint(19);primary_key;comment:主键id" json:"expertise_id"`
|
||||
@@ -11,3 +17,17 @@ type DiseaseClassExpertise struct {
|
||||
func (m *DiseaseClassExpertise) TableName() string {
|
||||
return "gdxz_disease_class_expertise"
|
||||
}
|
||||
|
||||
func (m *DiseaseClassExpertise) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.ExpertiseId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.ExpertiseId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// DoctorBankCard 医生银行卡
|
||||
type DoctorBankCard struct {
|
||||
BankCardId int64 `gorm:"column:bank_card_id;type:bigint(19);primary_key;comment:主键id" json:"bank_card_id"`
|
||||
@@ -19,3 +25,17 @@ type DoctorBankCard struct {
|
||||
func (m *DoctorBankCard) TableName() string {
|
||||
return "gdxz_doctor_bank_card"
|
||||
}
|
||||
|
||||
func (m *DoctorBankCard) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.BankCardId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.BankCardId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// DoctorExpertise 医生专长表
|
||||
type DoctorExpertise struct {
|
||||
DoctorExpertiseId int64 `gorm:"column:doctor_expertise_id;type:bigint(19);primary_key;comment:主键id" json:"doctor_expertise_id"`
|
||||
@@ -11,3 +17,17 @@ type DoctorExpertise struct {
|
||||
func (m *DoctorExpertise) TableName() string {
|
||||
return "gdxz_doctor_expertise"
|
||||
}
|
||||
|
||||
func (m *DoctorExpertise) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.DoctorExpertiseId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.DoctorExpertiseId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// DoctorIdenFail 医生身份审核失败原因表
|
||||
type DoctorIdenFail struct {
|
||||
IdenFailId int64 `gorm:"column:iden_fail_id;type:bigint(19);primary_key;comment:主键id" json:"iden_fail_id"`
|
||||
@@ -12,3 +18,17 @@ type DoctorIdenFail struct {
|
||||
func (m *DoctorIdenFail) TableName() string {
|
||||
return "gdxz_doctor_iden_fail"
|
||||
}
|
||||
|
||||
func (m *DoctorIdenFail) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.IdenFailId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.IdenFailId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// Hospital 医院表
|
||||
type Hospital struct {
|
||||
HospitalID int64 `gorm:"column:hospital_id;type:bigint(19);primary_key;comment:主键id" json:"hospital_id"`
|
||||
@@ -24,3 +30,17 @@ type Hospital struct {
|
||||
func (m *Hospital) TableName() string {
|
||||
return "gdxz_hospital"
|
||||
}
|
||||
|
||||
func (m *Hospital) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.HospitalID == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.HospitalID = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// HospitalDepartmentCustom 医院科室表-自定义
|
||||
type HospitalDepartmentCustom struct {
|
||||
DepartmentCustomId int64 `gorm:"column:department_custom_id;type:bigint(19);primary_key;comment:主键id" json:"department_custom_id"`
|
||||
@@ -14,3 +20,17 @@ type HospitalDepartmentCustom struct {
|
||||
func (m *HospitalDepartmentCustom) TableName() string {
|
||||
return "gdxz_hospital_department_custom"
|
||||
}
|
||||
|
||||
func (m *HospitalDepartmentCustom) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.DepartmentCustomId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.DepartmentCustomId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -4,10 +4,7 @@ import (
|
||||
"database/sql/driver"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
"reflect"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
@@ -69,28 +66,6 @@ func (m *Model) BeforeUpdate(tx *gorm.DB) (err error) {
|
||||
|
||||
// BeforeCreate 注册 BeforeCreate 回调函数
|
||||
func (m *Model) BeforeCreate(tx *gorm.DB) (err error) {
|
||||
// 动态添加表主键
|
||||
primaryName := ""
|
||||
field := tx.Statement.Schema.Fields
|
||||
for _, v := range field {
|
||||
if v.PrimaryKey {
|
||||
primaryName = v.Name
|
||||
}
|
||||
}
|
||||
|
||||
if primaryName != "" {
|
||||
// 动态访问 YourModel 结构体本身
|
||||
model := tx.Statement.Dest
|
||||
primaryValue := reflect.ValueOf(model).Elem().FieldByName(primaryName)
|
||||
if primaryValue.IsZero() {
|
||||
node, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return errors.New("服务器错误")
|
||||
}
|
||||
tx.Statement.SetColumn(primaryName, node.Generate().Int64())
|
||||
}
|
||||
}
|
||||
|
||||
m.CreatedAt = LocalTime(time.Now())
|
||||
tx.Statement.SetColumn("CreatedAt", m.CreatedAt)
|
||||
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
"time"
|
||||
)
|
||||
|
||||
// OrderPrescription 订单-处方表
|
||||
type OrderPrescription struct {
|
||||
@@ -34,3 +39,17 @@ type OrderPrescription struct {
|
||||
func (m *OrderPrescription) TableName() string {
|
||||
return "gdxz_order_prescription"
|
||||
}
|
||||
|
||||
func (m *OrderPrescription) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.OrderPrescriptionId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.OrderPrescriptionId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// PatientFamily 患者家庭成员信息表-基本信息
|
||||
type PatientFamily struct {
|
||||
FamilyId int64 `gorm:"column:family_id;type:bigint(19);primary_key;comment:主键id" json:"family_id"`
|
||||
@@ -35,3 +41,17 @@ type PatientFamily struct {
|
||||
func (m *PatientFamily) TableName() string {
|
||||
return "gdxz_patient_family"
|
||||
}
|
||||
|
||||
func (m *PatientFamily) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.FamilyId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.FamilyId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// User 用户主表
|
||||
type User struct {
|
||||
UserId int64 `gorm:"column:user_id;type:bigint(19);primary_key;comment:主键" json:"user_id"`
|
||||
@@ -24,3 +30,17 @@ type User struct {
|
||||
func (m *User) TableName() string {
|
||||
return "gdxz_user"
|
||||
}
|
||||
|
||||
func (m *User) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.UserId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.UserId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// UserCaCert 医师/药师ca监管证书表
|
||||
type UserCaCert struct {
|
||||
CertId int64 `gorm:"column:cert_id;type:bigint(19);primary_key;comment:主键id" json:"cert_id"`
|
||||
@@ -18,3 +24,17 @@ type UserCaCert struct {
|
||||
func (m *UserCaCert) TableName() string {
|
||||
return "gdxz_user_ca_cert"
|
||||
}
|
||||
|
||||
func (m *UserCaCert) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.CertId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.CertId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// UserDoctor 用户-医生表
|
||||
type UserDoctor struct {
|
||||
DoctorId int64 `gorm:"column:doctor_id;type:bigint(19);primary_key;comment:主键" json:"doctor_id"`
|
||||
@@ -47,3 +53,17 @@ type UserDoctor struct {
|
||||
func (m *UserDoctor) TableName() string {
|
||||
return "gdxz_user_doctor"
|
||||
}
|
||||
|
||||
func (m *UserDoctor) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.DoctorId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.DoctorId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/bwmarrin/snowflake"
|
||||
"gorm.io/gorm"
|
||||
"hospital-admin-api/config"
|
||||
)
|
||||
|
||||
// UserDoctorInfo 用户-医生详情表
|
||||
type UserDoctorInfo struct {
|
||||
DoctorInfoId int64 `gorm:"column:doctor_info_id;type:bigint(19);primary_key;comment:主键" json:"doctor_info_id"`
|
||||
@@ -24,3 +30,17 @@ type UserDoctorInfo struct {
|
||||
func (m *UserDoctorInfo) TableName() string {
|
||||
return "gdxz_user_doctor_info"
|
||||
}
|
||||
|
||||
func (m *UserDoctorInfo) BeforeCreate(tx *gorm.DB) error {
|
||||
if m.DoctorInfoId == 0 {
|
||||
// 创建雪花算法实例
|
||||
sf, err := snowflake.NewNode(config.C.Snowflake)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 生成新的雪花算法 ID
|
||||
m.DoctorInfoId = sf.Generate().Int64()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user