From 530fed8ec225453572d57b15c200ab062c335457 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期三, 01 十一月 2023 19:20:21 +0800 Subject: [PATCH] 公海member_id使用0 --- model/serviceContractStatus.go | 116 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 94 insertions(+), 22 deletions(-) diff --git a/model/serviceContractStatus.go b/model/serviceContractStatus.go index f3631c4..881b69d 100644 --- a/model/serviceContractStatus.go +++ b/model/serviceContractStatus.go @@ -1,20 +1,30 @@ package model import ( + "aps_crm/constvar" "aps_crm/pkg/mysqlx" + "errors" + "fmt" "gorm.io/gorm" + "sync" ) type ( - // ServiceContractStatus 鍟嗘満闃舵 + // ServiceContractStatus 鍚堝悓鐘舵�� ServiceContractStatus struct { - Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` - Name string `json:"name" gorm:"column:name;type:varchar(255);comment:鍟嗘満闃舵鍚嶇О"` + Id int `json:"id" gorm:"column:id;type:int;primary_key;AUTO_INCREMENT"` + Name string `json:"name" gorm:"column:name;type:varchar(255);not null;default:'';comment:鍚嶇О"` } - + + // ServiceContractStatusSearch 鍚堝悓鐘舵�佹悳绱㈡潯浠� ServiceContractStatusSearch struct { ServiceContractStatus - Orm *gorm.DB + Orm *gorm.DB + QueryClass constvar.ServiceContractStatusQueryClass + KeywordType constvar.ServiceContractStatusKeywordType + Keyword string + PageNum int + PageSize int } ) @@ -33,9 +43,6 @@ if slf.Id != 0 { db = db.Where("id = ?", slf.Id) } - if slf.Name != "" { - db = db.Where("name = ?", slf.Name) - } return db } @@ -43,6 +50,11 @@ func (slf *ServiceContractStatusSearch) Create(record *ServiceContractStatus) error { var db = slf.build() return db.Create(record).Error +} + +func (slf *ServiceContractStatusSearch) CreateBatch(records []*ServiceContractStatus) error { + var db = slf.build() + return db.Create(records).Error } func (slf *ServiceContractStatusSearch) Delete() error { @@ -55,18 +67,11 @@ return db.Updates(record).Error } -func (slf *ServiceContractStatusSearch) Find() (*ServiceContractStatus, error) { - var db = slf.build() - var record = new(ServiceContractStatus) - err := db.First(record).Error - return record, err -} - func (slf *ServiceContractStatusSearch) FindAll() ([]*ServiceContractStatus, error) { var db = slf.build() - var records = make([]*ServiceContractStatus, 0) - err := db.Find(&records).Error - return records, err + var record = make([]*ServiceContractStatus, 0) + err := db.Find(&record).Error + return record, err } func (slf *ServiceContractStatusSearch) SetId(id int) *ServiceContractStatusSearch { @@ -74,12 +79,79 @@ return slf } -func (slf *ServiceContractStatusSearch) SetName(name string) *ServiceContractStatusSearch { - slf.Name = name +func (slf *ServiceContractStatusSearch) SetPage(page, size int) *ServiceContractStatusSearch { + slf.PageNum, slf.PageSize = page, size return slf } -func (slf *ServiceContractStatusSearch) Updates(data map[string]interface{}) error { +func (slf *ServiceContractStatusSearch) SetOrm(tx *gorm.DB) *ServiceContractStatusSearch { + slf.Orm = tx + return slf +} + +func (slf *ServiceContractStatusSearch) First() (*ServiceContractStatus, error) { var db = slf.build() - return db.Updates(data).Error + var record = new(ServiceContractStatus) + err := db.First(record).Error + return record, err +} + +func (slf *ServiceContractStatusSearch) Updates(values interface{}) error { + var db = slf.build() + return db.Updates(values).Error +} + +func (slf *ServiceContractStatusSearch) Save(record *ServiceContractStatus) error { + if record.Id == 0 { + return errors.New("id涓虹┖") + } + var db = slf.build() + + if err := db.Save(record).Error; err != nil { + return fmt.Errorf("save err: %v, record: %+v", err, record) + } + + return nil +} + +func (slf *ServiceContractStatusSearch) Find() ([]*ServiceContractStatus, int64, error) { + var db = slf.build() + var records = make([]*ServiceContractStatus, 0) + var total int64 + if err := db.Count(&total).Error; err != nil { + return records, total, err + } + if slf.PageNum > 0 && slf.PageSize > 0 { + db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + } + + err := db.Find(&records).Error + return records, total, err +} + +// InitDefaultData 鍒濆鍖栨暟鎹� +func (slf *ServiceContractStatusSearch) InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) { + var ( + db = slf.Orm.Table(slf.TableName()) + total int64 = 0 + ) + defer wg.Done() + if err := db.Count(&total).Error; err != nil { + errCh <- err + return + } + if total != 0 { + return + } + records := []*ServiceContractStatus{ + {1, "宸插垱寤�"}, + {2, "宸插鎵�"}, + {3, "宸蹭綔搴�"}, + } + + err := slf.CreateBatch(records) + if err != nil { + errCh <- err + return + } } -- Gitblit v1.8.0