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.
 
 

84 lines
2.0 KiB

package model
import (
"context"
"gorm.io/gorm"
)
type (
jobList2Model interface {
Insert(ctx context.Context, data *JobList2) error
Update(ctx context.Context, jobId string, updates map[string]any) error
Delete(ctx context.Context, jobId string) error
FindOne(ctx context.Context, jobId string) (*JobList2, error)
FindTitle(ctx context.Context, title string) (*JobList2, error)
}
JobList2 struct {
updates map[string]any
JobId string `gorm:"column:job_id"`
Title string `gorm:"column:title"`
}
defaultJobList2Model struct {
db *gorm.DB
}
)
func (s *JobList2) TableName() string {
return "job_list2"
}
func NewJobList2() *JobList2 {
return &JobList2{
updates: make(map[string]any),
}
}
func (s *JobList2) SetJobId(jobId string) *JobList2 {
s.JobId = jobId
s.set("job_id", jobId)
return s
}
func (s *JobList2) SetTitle(title string) *JobList2 {
s.Title = title
s.set("title", title)
return s
}
func (s *JobList2) set(key string, val any) {
s.updates[key] = val
}
func (s *JobList2) UpdateColumn() map[string]any {
return s.updates
}
func newJobList2DAO(db *gorm.DB) *defaultJobList2Model {
return &defaultJobList2Model{
db: db,
}
}
func (s *defaultJobList2Model) Insert(ctx context.Context, data *JobList2) error {
return s.db.Create(data).Error
}
func (s *defaultJobList2Model) Update(ctx context.Context, jobId string, updates map[string]any) error {
return s.db.Model(JobList2{}).Where("job_id=?", jobId).Updates(updates).Error
}
func (s *defaultJobList2Model) Delete(ctx context.Context, jobId string) error {
return s.db.Where("job_id=?", jobId).Delete(&JobList2{}).Error
}
func (s *defaultJobList2Model) FindOne(ctx context.Context, jobId string) (*JobList2, error) {
row := JobList2{}
err := s.db.Where("job_id=?", jobId).Find(&row).Error
return findResultWithError(&row, err)
}
func (s *defaultJobList2Model) FindTitle(ctx context.Context, title string) (*JobList2, error) {
row := JobList2{}
err := s.db.Where("title=?", title).Find(&row).Error
return findResultWithError(&row, err)
}