From 3369456ac6de01e8703a9b38537406ec7c550bc5 Mon Sep 17 00:00:00 2001
From: wangpengfei <274878379@qq.com>
Date: 星期五, 25 八月 2023 11:05:45 +0800
Subject: [PATCH] fix
---
model/serviceContractStatus.go | 103 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 75 insertions(+), 28 deletions(-)
diff --git a/model/serviceContractStatus.go b/model/serviceContractStatus.go
index 6b4d6e3..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,37 +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 {
- var db = slf.build()
- return db.Updates(data).Error
+func (slf *ServiceContractStatusSearch) SetOrm(tx *gorm.DB) *ServiceContractStatusSearch {
+ slf.Orm = tx
+ return slf
}
-func (slf *ServiceContractStatusSearch) CreateBatch(records []*ServiceContractStatus) error {
+func (slf *ServiceContractStatusSearch) First() (*ServiceContractStatus, error) {
var db = slf.build()
- return db.Create(records).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() error {
+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 {
- return err
+ errCh <- err
+ return
}
if total != 0 {
- return nil
+ return
}
records := []*ServiceContractStatus{
{1, "宸插垱寤�"},
{2, "宸插鎵�"},
{3, "宸蹭綔搴�"},
}
- return slf.CreateBatch(records)
+
+ err := slf.CreateBatch(records)
+ if err != nil {
+ errCh <- err
+ return
+ }
}
--
Gitblit v1.8.0