| | |
| | | package model
|
| | |
|
| | | import (
|
| | | "aps_crm/constvar"
|
| | | "aps_crm/pkg/mysqlx"
|
| | | "gorm.io/gorm"
|
| | | "time"
|
| | | )
|
| | |
|
| | | type (
|
| | | ServiceFeeManage struct {
|
| | | Id int `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"`
|
| | | ClientId int `json:"client_id" gorm:"column:client_id;type:int(11);comment:客户ID"`
|
| | | Client *Client `json:"client" gorm:"foreignKey:ClientId"`
|
| | | MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:员工ID"`
|
| | | LatestDate time.Time `json:"latest_date" gorm:"column:latest_date;type:datetime;comment:最晚服务时间"`
|
| | | Remark string `json:"remark" gorm:"column:remark;type:varchar(255);comment:备注"`
|
| | | File string `json:"file" gorm:"column:file;type:varchar(255);comment:文件"`
|
| | | gorm.Model `json:"-"`
|
| | | }
|
| | |
|
| | | ServiceFeeManageSearch struct {
|
| | | ServiceFeeManage
|
| | | Orm *gorm.DB
|
| | | QueryClass constvar.ServiceFeeQueryClass
|
| | | KeywordType constvar.ServiceFeeKeywordType
|
| | | Keyword string
|
| | | OrderBy string
|
| | | PageNum int
|
| | | PageSize int
|
| | | }
|
| | | )
|
| | |
|
| | | func (ServiceFeeManage) TableName() string {
|
| | | return "service_fee_manage"
|
| | | }
|
| | |
|
| | | func NewServiceFeeManageSearch(db *gorm.DB) *ServiceFeeManageSearch {
|
| | | if db == nil {
|
| | | db = mysqlx.GetDB()
|
| | | }
|
| | |
|
| | | return &ServiceFeeManageSearch{
|
| | | Orm: db,
|
| | | }
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) build() *gorm.DB {
|
| | | var db = slf.Orm.Model(&ServiceFeeManage{})
|
| | | if slf.Id != 0 {
|
| | | db.Where("id = ?", slf.Id)
|
| | | }
|
| | | if slf.ClientId != 0 {
|
| | | db.Where("client_id = ?", slf.ClientId)
|
| | | }
|
| | | switch slf.QueryClass {
|
| | | case constvar.ServiceFeeQueryClassExpireLessThen60Days:
|
| | | db = db.Where("latest_date > ? and latest_date < ?", time.Now(), time.Now().AddDate(0, 0, 60))
|
| | | case constvar.ServiceFeeQueryClassExpireLessThen30Days:
|
| | | db = db.Where("latest_date > ? and latest_date < ?", time.Now(), time.Now().AddDate(0, 0, 30))
|
| | | case constvar.ServiceFeeQueryClassExpireAboutTo60Day:
|
| | | db = db.Where("latest_date = ?", time.Now().AddDate(0, 0, -60))
|
| | | case constvar.ServiceFeeQueryClassExpireAboutTo30Day:
|
| | | db = db.Where("latest_date = ?", time.Now().AddDate(0, 0, -30))
|
| | | case constvar.ServiceFeeQueryClassExpired:
|
| | | db = db.Where("latest_date < ?", time.Now())
|
| | | case constvar.ServiceFeeQueryClassNoService:
|
| | | db = db.Where("latest_date < ?", time.Now().AddDate(0, 0, -60))
|
| | |
|
| | | }
|
| | |
|
| | | switch slf.KeywordType {
|
| | | case constvar.ServiceFeeKeywordCustomerName:
|
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id")
|
| | | db = db.Where("clients.name = ?", slf.Keyword)
|
| | | case constvar.ServiceFeeKeywordCustomerType:
|
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id")
|
| | | db = db.Where("clients.client_type_id = ?", slf.Keyword)
|
| | | case constvar.ServiceFeeKeywordSalesPrincipal:
|
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id")
|
| | | db = db.Where("clients.member_id = ?", slf.Keyword)
|
| | | case constvar.ServiceFeeKeywordCustomerScale:
|
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id")
|
| | | db = db.Where("clients.enterprise_scale_id = ?", slf.Keyword)
|
| | | case constvar.ServiceFeeKeywordClientLevel:
|
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id")
|
| | | db = db.Where("clients.client_level_id = ?", slf.Keyword)
|
| | | case constvar.ServiceFeeKeywordCustomerNo:
|
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id")
|
| | | db = db.Where("clients.number = ?", slf.Keyword)
|
| | | case constvar.ServiceFeeKeywordCustomerStatus:
|
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id")
|
| | | db = db.Where("clients.client_status_id = ?", slf.Keyword)
|
| | | case constvar.ServiceFeeKeywordServiceEndDate:
|
| | | db = db.Where("latest_date = ?", slf.Keyword)
|
| | | case constvar.ServiceFeeKeywordProductName:
|
| | | //todo
|
| | | }
|
| | |
|
| | | return db
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) Create(record *ServiceFeeManage) error {
|
| | | var db = slf.build()
|
| | | return db.Create(record).Error
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) Update(record *ServiceFeeManage) error {
|
| | | var db = slf.build()
|
| | | return db.Updates(record).Error
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) Delete() error {
|
| | | var db = slf.build()
|
| | | return db.Delete(&ServiceFeeManage{}).Error
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) SetId(id int) *ServiceFeeManageSearch {
|
| | | slf.Id = id
|
| | | return slf
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) SetKeywordType(keyword constvar.ServiceFeeKeywordType) *ServiceFeeManageSearch {
|
| | | slf.KeywordType = keyword
|
| | | return slf
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) SetQueryClass(queryClass constvar.ServiceFeeQueryClass) *ServiceFeeManageSearch {
|
| | | slf.QueryClass = queryClass
|
| | | return slf
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) SetKeyword(keyword string) *ServiceFeeManageSearch {
|
| | | slf.Keyword = keyword
|
| | | return slf
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) Find() (*ServiceFeeManage, error) {
|
| | | var db = slf.build()
|
| | | var record = new(ServiceFeeManage)
|
| | | err := db.First(record).Error
|
| | | return record, err
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) FindAll() ([]*ServiceFeeManage, int64, error) {
|
| | | var db = slf.build()
|
| | | var records = make([]*ServiceFeeManage, 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)
|
| | | }
|
| | |
|
| | | if slf.PageNum > 0 && slf.PageSize > 0 {
|
| | | db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
|
| | | }
|
| | |
|
| | | err := db.Preload("Client").Find(&records).Error
|
| | | return records, total, err
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) SetPage(page, size int) *ServiceFeeManageSearch {
|
| | | slf.PageNum, slf.PageSize = page, size
|
| | | return slf
|
| | | }
|
| | |
|
| | | func (slf *ServiceFeeManageSearch) SetOrder(order string) *ServiceFeeManageSearch {
|
| | | slf.OrderBy = order
|
| | | return slf
|
| | | }
|
| | | func (slf *ServiceFeeManageSearch) SetIds(ids []int) *ServiceFeeManageSearch {
|
| | | slf.Orm = slf.Orm.Where("id in (?)", ids)
|
| | | return slf
|
| | | }
|
| | | package model |
| | | |
| | | import ( |
| | | "aps_crm/constvar" |
| | | "aps_crm/pkg/mysqlx" |
| | | "gorm.io/gorm" |
| | | "time" |
| | | ) |
| | | |
| | | type ( |
| | | ServiceFeeManage struct { |
| | | Id int `json:"id" gorm:"column:id;primaryKey;autoIncrement;not null"` |
| | | ClientId int `json:"client_id" gorm:"column:client_id;type:int(11);comment:客户ID"` |
| | | Client *Client `json:"client" gorm:"foreignKey:ClientId"` |
| | | MemberId int `json:"member_id" gorm:"column:member_id;type:int(11);comment:员工ID"` |
| | | LatestDate *time.Time `json:"latest_date" gorm:"column:latest_date;type:datetime;comment:最晚服务时间"` |
| | | Remark string `json:"remark" gorm:"column:remark;type:varchar(255);comment:备注"` |
| | | File string `json:"file" gorm:"column:file;type:varchar(255);comment:文件"` |
| | | gorm.Model `json:"-"` |
| | | } |
| | | |
| | | ServiceFeeManageSearch struct { |
| | | ServiceFeeManage |
| | | Orm *gorm.DB |
| | | QueryClass constvar.ServiceFeeQueryClass |
| | | KeywordType constvar.ServiceFeeKeywordType |
| | | Keyword string |
| | | OrderBy string |
| | | PageNum int |
| | | PageSize int |
| | | } |
| | | ) |
| | | |
| | | func (ServiceFeeManage) TableName() string { |
| | | return "service_fee_manage" |
| | | } |
| | | |
| | | func NewServiceFeeManageSearch(db *gorm.DB) *ServiceFeeManageSearch { |
| | | if db == nil { |
| | | db = mysqlx.GetDB() |
| | | } |
| | | |
| | | return &ServiceFeeManageSearch{ |
| | | Orm: db, |
| | | } |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Model(&ServiceFeeManage{}) |
| | | if slf.Id != 0 { |
| | | db.Where("id = ?", slf.Id) |
| | | } |
| | | if slf.ClientId != 0 { |
| | | db.Where("client_id = ?", slf.ClientId) |
| | | } |
| | | switch slf.QueryClass { |
| | | case constvar.ServiceFeeQueryClassExpireLessThen60Days: |
| | | db = db.Where("latest_date > ? and latest_date < ?", time.Now(), time.Now().AddDate(0, 0, 60)) |
| | | case constvar.ServiceFeeQueryClassExpireLessThen30Days: |
| | | db = db.Where("latest_date > ? and latest_date < ?", time.Now(), time.Now().AddDate(0, 0, 30)) |
| | | case constvar.ServiceFeeQueryClassExpireAboutTo60Day: |
| | | db = db.Where("latest_date = ?", time.Now().AddDate(0, 0, -60)) |
| | | case constvar.ServiceFeeQueryClassExpireAboutTo30Day: |
| | | db = db.Where("latest_date = ?", time.Now().AddDate(0, 0, -30)) |
| | | case constvar.ServiceFeeQueryClassExpired: |
| | | db = db.Where("latest_date < ?", time.Now()) |
| | | case constvar.ServiceFeeQueryClassNoService: |
| | | db = db.Where("latest_date < ?", time.Now().AddDate(0, 0, -60)) |
| | | |
| | | } |
| | | |
| | | switch slf.KeywordType { |
| | | case constvar.ServiceFeeKeywordCustomerName: |
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id") |
| | | db = db.Where("clients.name = ?", slf.Keyword) |
| | | case constvar.ServiceFeeKeywordCustomerType: |
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id") |
| | | db = db.Where("clients.client_type_id = ?", slf.Keyword) |
| | | case constvar.ServiceFeeKeywordSalesPrincipal: |
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id") |
| | | db = db.Where("clients.member_id = ?", slf.Keyword) |
| | | case constvar.ServiceFeeKeywordCustomerScale: |
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id") |
| | | db = db.Where("clients.enterprise_scale_id = ?", slf.Keyword) |
| | | case constvar.ServiceFeeKeywordClientLevel: |
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id") |
| | | db = db.Where("clients.client_level_id = ?", slf.Keyword) |
| | | case constvar.ServiceFeeKeywordCustomerNo: |
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id") |
| | | db = db.Where("clients.number = ?", slf.Keyword) |
| | | case constvar.ServiceFeeKeywordCustomerStatus: |
| | | db.Joins("left join clients on clients.id = service_fee_manage.client_id") |
| | | db = db.Where("clients.client_status_id = ?", slf.Keyword) |
| | | case constvar.ServiceFeeKeywordServiceEndDate: |
| | | db = db.Where("latest_date = ?", slf.Keyword) |
| | | case constvar.ServiceFeeKeywordProductName: |
| | | //todo |
| | | } |
| | | |
| | | return db |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) Create(record *ServiceFeeManage) error { |
| | | var db = slf.build() |
| | | return db.Create(record).Error |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) Update(record *ServiceFeeManage) error { |
| | | var db = slf.build() |
| | | return db.Updates(record).Error |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) Delete() error { |
| | | var db = slf.build() |
| | | return db.Delete(&ServiceFeeManage{}).Error |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) SetId(id int) *ServiceFeeManageSearch { |
| | | slf.Id = id |
| | | return slf |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) SetKeywordType(keyword constvar.ServiceFeeKeywordType) *ServiceFeeManageSearch { |
| | | slf.KeywordType = keyword |
| | | return slf |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) SetQueryClass(queryClass constvar.ServiceFeeQueryClass) *ServiceFeeManageSearch { |
| | | slf.QueryClass = queryClass |
| | | return slf |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) SetKeyword(keyword string) *ServiceFeeManageSearch { |
| | | slf.Keyword = keyword |
| | | return slf |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) Find() (*ServiceFeeManage, error) { |
| | | var db = slf.build() |
| | | var record = new(ServiceFeeManage) |
| | | err := db.First(record).Error |
| | | return record, err |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) FindAll() ([]*ServiceFeeManage, int64, error) { |
| | | var db = slf.build() |
| | | var records = make([]*ServiceFeeManage, 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) |
| | | } |
| | | |
| | | if slf.PageNum > 0 && slf.PageSize > 0 { |
| | | db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) |
| | | } |
| | | |
| | | err := db.Preload("Client").Find(&records).Error |
| | | return records, total, err |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) SetPage(page, size int) *ServiceFeeManageSearch { |
| | | slf.PageNum, slf.PageSize = page, size |
| | | return slf |
| | | } |
| | | |
| | | func (slf *ServiceFeeManageSearch) SetOrder(order string) *ServiceFeeManageSearch { |
| | | slf.OrderBy = order |
| | | return slf |
| | | } |
| | | func (slf *ServiceFeeManageSearch) SetIds(ids []int) *ServiceFeeManageSearch { |
| | | slf.Orm = slf.Orm.Where("id in (?)", ids) |
| | | return slf |
| | | } |