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/masterOrder.go | 77 ++++++++++++++++++++++++++++++-------- 1 files changed, 60 insertions(+), 17 deletions(-) diff --git a/model/masterOrder.go b/model/masterOrder.go index 377a7b3..3b77851 100644 --- a/model/masterOrder.go +++ b/model/masterOrder.go @@ -2,21 +2,24 @@ import ( "aps_crm/pkg/mysqlx" + "fmt" "gorm.io/gorm" ) type ( // MasterOrder 閿�鍞�诲崟 MasterOrder struct { - Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` - Number string `json:"number" gorm:"column:number;type:varchar(255);comment:閿�鍞�诲崟鍙�"` - ClientId int `json:"client_id" gorm:"column:client_id;type:int;comment:瀹㈡埛id"` - Client Client `json:"client" gorm:"foreignKey:ClientId"` - MemberId int `json:"member_id" gorm:"column:member_id;type:int;comment:璐熻矗浜篿d"` - StartTime *CustomTime `json:"start_time" gorm:"column:start_time;type:datetime;comment:寮�濮嬫椂闂�"` - EndTime *CustomTime `json:"end_time" gorm:"column:end_time;type:datetime;comment:缁撴潫鏃堕棿"` - Money float64 `json:"money" gorm:"column:money;type:decimal(10,2);comment:鎬婚噾棰�"` - gorm.Model `json:"-"` + Id int `json:"id" gorm:"column:id;primary_key;AUTO_INCREMENT"` + Number string `json:"number" gorm:"column:number;type:varchar(255);comment:閿�鍞�诲崟鍙�"` + ClientId int `json:"client_id" gorm:"column:client_id;type:int;comment:瀹㈡埛id"` + Client Client `json:"client" gorm:"foreignKey:ClientId"` + MemberId int `json:"member_id" gorm:"column:member_id;type:int;comment:璐熻矗浜篿d"` + Member User `json:"member" gorm:"foreignKey:MemberId"` + StartTime *CustomTime `json:"start_time" gorm:"column:start_time;type:datetime;comment:寮�濮嬫椂闂�"` + EndTime *CustomTime `json:"end_time" gorm:"column:end_time;type:datetime;comment:缁撴潫鏃堕棿"` + Money float64 `json:"money" gorm:"column:money;type:decimal(10,2);comment:鎬婚噾棰�"` + CodeStandID string `json:"codeStandID" gorm:"column:code_stand_id;type:varchar(255);comment:缂栫爜id"` + gorm.Model `json:"-"` } // MasterOrderSearch 閿�鍞�诲崟鎼滅储鏉′欢 @@ -46,6 +49,9 @@ if slf.Id != 0 { db = db.Where("id = ?", slf.Id) } + if slf.Number != "" { + db = db.Where("number = ?", slf.Number) + } if len(slf.SearchMap) > 0 { for key, value := range slf.SearchMap { @@ -56,16 +62,19 @@ } if key == "client_name" { - db = db.Joins("Client").Where("client.name = ?", v) + db = db.Joins("Client").Where("Client.name = ?", v) } if key == "member_name" { - db = db.Joins("User").Where("User.username = ?", v) + db = db.Joins("Member").Where("Member.username = ?", v) } - case int: - case float64: + case int, float64: if key == "client_id" || key == "member_id" || key == "money" { db = db.Where(key+" = ?", v) + } + case []int: + if key == "member_ids" { + db = db.Where("master_order.member_id in ?", v) } } } @@ -107,12 +116,32 @@ db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) } - if slf.PageNum > 0 && slf.PageSize > 0 { - db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) + err := db.Preload("Member").Preload("Client").Order("id desc").Find(&records).Error + return records, total, err +} + +func (slf *MasterOrderSearch) Count() (int64, error) { + var db = slf.build() + var total int64 + err := db.Count(&total).Error + return total, err +} + +func (slf *MasterOrderSearch) MaxAutoIncr() (int, error) { + type Result struct { + Max int } - err := db.Preload("Client").Order("id desc").Find(&records).Error - return records, total, err + var ( + result Result + db = slf.build() + ) + + err := db.Select("MAX(id) as max").Scan(&result).Error + if err != nil { + return result.Max, fmt.Errorf("max err: %v", err) + } + return result.Max, nil } func (slf *MasterOrderSearch) SetId(id int) *MasterOrderSearch { @@ -134,3 +163,17 @@ slf.SearchMap = searchMap return slf } +func (slf *MasterOrderSearch) SetIds(ids []int) *MasterOrderSearch { + slf.Orm = slf.Orm.Where("id in (?)", ids) + return slf +} + +func (slf *MasterOrderSearch) SetNumber(number string) *MasterOrderSearch { + slf.Number = number + return slf +} + +func (slf *MasterOrderSearch) UpdateByMap(data map[string]interface{}) error { + var db = slf.build() + return db.Updates(data).Error +} -- Gitblit v1.8.0