71 lines
2.5 KiB
Go
71 lines
2.5 KiB
Go
// 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
|
|
}
|