New file |
| | |
| | | package models |
| | | |
| | | import ( |
| | | "fmt" |
| | | "github.com/shopspring/decimal" |
| | | "gorm.io/gorm" |
| | | "silkserver/constvar" |
| | | "silkserver/pkg/mysqlx" |
| | | ) |
| | | |
| | | type ( |
| | | //RawSilkRankStandard 生丝定级标准 |
| | | RawSilkRankStandard struct { |
| | | gorm.Model |
| | | LineId string `json:"lineId" gorm:"type:varchar(255);comment:行id"` |
| | | CheckItem constvar.CheckItem `json:"checkItem" gorm:"type:int;comment:检查项目名称"` |
| | | StartFineness decimal.Decimal `json:"startFineness" gorm:"type:decimal(20,4);comment:开始纤度"` |
| | | EndFineness decimal.Decimal `json:"endFineness" gorm:"type:decimal(20,4);comment:结束纤度"` |
| | | RankName string `json:"rankName" gorm:"type:varchar(255);comment:等级名称"` |
| | | RankValue string `json:"rankValue" gorm:"type:varchar(255);comment:等级值"` |
| | | } |
| | | RawSilkRankStandardSearch struct { |
| | | RawSilkRankStandard |
| | | PageNum int |
| | | PageSize int |
| | | Orm *gorm.DB |
| | | } |
| | | ) |
| | | |
| | | func (slf RawSilkRankStandard) TableName() string { |
| | | return "raw_silk_price_standard" |
| | | } |
| | | |
| | | func NewRawSilkRankStandardSearch() *RawSilkRankStandardSearch { |
| | | return &RawSilkRankStandardSearch{Orm: mysqlx.GetDB()} |
| | | } |
| | | |
| | | func (slf *RawSilkRankStandardSearch) SetOrm(tx *gorm.DB) *RawSilkRankStandardSearch { |
| | | slf.Orm = tx |
| | | return slf |
| | | } |
| | | |
| | | func (slf *RawSilkRankStandardSearch) SetPage(page, size int) *RawSilkRankStandardSearch { |
| | | slf.PageNum, slf.PageSize = page, size |
| | | return slf |
| | | } |
| | | |
| | | func (slf *RawSilkRankStandardSearch) build() *gorm.DB { |
| | | db := slf.Orm.Table(slf.TableName()) |
| | | |
| | | if slf.ID > 0 { |
| | | db = db.Where("id = ?", slf.ID) |
| | | } |
| | | |
| | | return db |
| | | } |
| | | |
| | | // Create 单条插入 |
| | | func (slf *RawSilkRankStandardSearch) Create(record *RawSilkRankStandard) error { |
| | | db := slf.build() |
| | | err := db.Create(record).Error |
| | | if err != nil { |
| | | return fmt.Errorf("create err: %v, record: %+v", err, record) |
| | | } |
| | | return nil |
| | | } |
| | | |
| | | func (slf *RawSilkRankStandardSearch) Find() ([]*RawSilkRankStandard, int64, error) { |
| | | var ( |
| | | records = make([]*RawSilkRankStandard, 0) |
| | | total int64 |
| | | db = slf.build() |
| | | ) |
| | | |
| | | if err := db.Count(&total).Error; err != nil { |
| | | return records, total, fmt.Errorf("find count err: %v", err) |
| | | } |
| | | if slf.PageNum*slf.PageSize > 0 { |
| | | db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) |
| | | } |
| | | if err := db.Find(&records).Error; err != nil { |
| | | return records, total, fmt.Errorf("find records err: %v", err) |
| | | } |
| | | |
| | | return records, total, nil |
| | | } |
| | | |
| | | func (slf *RawSilkRankStandardSearch) Save(record *RawSilkRankStandard) error { |
| | | 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 *RawSilkRankStandardSearch) Delete() error { |
| | | var db = slf.build() |
| | | |
| | | if err := db.Unscoped().Delete(&RawSilkRankStandard{}).Error; err != nil { |
| | | return err |
| | | } |
| | | |
| | | return nil |
| | | } |