From 5f0170df9787c6f3ff17cc168b3f2e3f511453f6 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 31 十月 2023 20:04:16 +0800
Subject: [PATCH] 支持职级降级的情况
---
model/receipt.go | 44 +++++++++++++++++++++++++++++++++++---------
1 files changed, 35 insertions(+), 9 deletions(-)
diff --git a/model/receipt.go b/model/receipt.go
index 5eb54df..ff0a169 100644
--- a/model/receipt.go
+++ b/model/receipt.go
@@ -28,23 +28,33 @@
BankAccount BankAccount `gorm:"foreignKey:BankAccountId" json:"bankAccount"`
Remark string `gorm:"column:remark;type:varchar(255);not null;default '';comment:澶囨敞" json:"remark"` // 澶囨敞
FileId int `gorm:"column:file_id;type:int;not null;default 0;comment:闄勪欢id" json:"fileId"` // 闄勪欢id
- gorm.Model `json:"-"`
+ CrmModel
}
// ReceiptSearch 鏀舵鍗曟悳绱㈡潯浠�
ReceiptSearch struct {
Receipt
- Orm *gorm.DB
- QueryClass constvar.ReceiptQueryClass
- KeywordType constvar.ReceiptKeywordType
- Keyword string
- PageNum int
- PageSize int
+ Orm *gorm.DB
+ QueryClass constvar.ReceiptQueryClass
+ KeywordType constvar.ReceiptKeywordType
+ Keyword string
+ PageNum int
+ PageSize int
+ PrincipalIds []int
}
)
-func (Receipt) TableName() string {
+func (slf *Receipt) TableName() string {
return "receipt"
+}
+
+func (slf *Receipt) AfterFind(db *gorm.DB) (err error) {
+ err = slf.CrmModel.AfterFind(db)
+ if slf.CrmModel.ID == 0 {
+ slf.CrmModel.ID = uint(slf.Id)
+ }
+ slf.CrmModel.SetNumber(constvar.NumberPrefixOfReceipt)
+ return nil
}
func NewReceiptSearch() *ReceiptSearch {
@@ -63,6 +73,11 @@
return slf
}
+func (slf *ReceiptSearch) SetPrincipalIds(principalIds []int) *ReceiptSearch {
+ slf.PrincipalIds = principalIds
+ return slf
+}
+
func (slf *ReceiptSearch) SetPage(page, size int) *ReceiptSearch {
slf.PageNum, slf.PageSize = page, size
return slf
@@ -78,6 +93,12 @@
}
if slf.SourceId != 0 {
db = db.Where("source_id = ?", slf.SourceId)
+ }
+ if slf.ClientId != 0 {
+ db = db.Where("client_id = ?", slf.ClientId)
+ }
+ if len(slf.PrincipalIds) != 0 {
+ db = db.Where("principal_id in ?", slf.PrincipalIds)
}
return db
@@ -112,6 +133,11 @@
func (slf *ReceiptSearch) SetId(id int) *ReceiptSearch {
slf.Id = id
+ return slf
+}
+
+func (slf *ReceiptSearch) SetClientId(clientId int) *ReceiptSearch {
+ slf.ClientId = clientId
return slf
}
@@ -156,7 +182,7 @@
db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
}
- err := db.Preload("Principal").Preload("Client").Find(&records).Error
+ err := db.Preload("Principal").Preload("Client").Preload("PaymentType").Preload("BankAccount").Order("created_at desc").Find(&records).Error
return records, total, err
}
--
Gitblit v1.8.0