// Package dao ... // // Description : dao ... package sql2go import ( "errors" "gorm.io/gorm" ) // App 数据库表的数据结构 type App struct { ID int64 `json:"id" gorm:"column:id;default:;NOT NULL"` // id 主键ID Code string `json:"code" gorm:"column:code;default:;NOT NULL"` // code 分配的app_code Secret string `json:"secret" gorm:"column:secret;default:;NOT NULL"` // secret 分配的私钥 Status int `json:"status" gorm:"column:status;default:0;NOT NULL"` // status 当前状态 o - 初始化 1- 使用中 2 - 禁用 3 - 删除 Description string `json:"description" gorm:"column:description;default:;NOT NULL"` // description 描述信息 ApplyUserName string `json:"apply_user_name" gorm:"column:apply_user_name;default:;NOT NULL"` // apply_user_name 申请人姓名 ApplyUserContact string `json:"apply_user_contact" gorm:"column:apply_user_contact;default:;NOT NULL"` // apply_user_contact 申请人联系方式 CreateUserID string `json:"create_user_id" gorm:"column:create_user_id;default:;NOT NULL"` // create_user_id 创建人ID ModifyUserID string `json:"modify_user_id" gorm:"column:modify_user_id;default:;NOT NULL"` // modify_user_id 修改人ID } // NewAppDao 获取DAO实例 func NewAppDao() *AppDao { return &AppDao{ table: "app", } } // AppDao sql2go tool generate type AppDao struct { table string } // GetDetailByID 根据主键ID获取详情 func (ad *AppDao) GetDetailByID(dbInstance *gorm.DB, ID int64) (*App, error) { var ( err error detail App ) if err = dbInstance.Table(ad.table).Where("{PRIMARY_KEY_FIELD} = ?", ID).Limit(1).First(&detail).Error; nil != err { return nil, err } return &detail, nil } // GetList 获取数据列表 func (ad *AppDao) GetList(dbInstance *gorm.DB, condition map[string]interface{}, limit int, offset int) ([]App, error) { if nil == condition { condition = make(map[string]interface{}) } var ( err error list []App ) if err = dbInstance.Table(ad.table).Where(condition).Limit(limit).Offset(offset).Find(&list).Error; nil != err { return make([]App, 0), err } return list, nil } // Create 创建数据 func (ad *AppDao) Create(dbInstance *gorm.DB, data *App) error { if nil == data { return errors.New("data is nil") } return dbInstance.Table(ad.table).Create(data).Error }