package models import ( "kefu/types" "time" ) type Customer struct { ID uint `gorm:"primary_key" json:"id"` EntId string `json:"ent_id"` KefuName string `json:"kefu_name"` Tel string `json:"tel"` Name string `json:"name"` Openid string `json:"openid"` AcountOpenid string `json:"acount_openid"` Extra string `json:"extra"` Score uint `json:"score"` Avatar string `json:"avatar"` CreatedAt types.Time `json:"created_at"` UpdatedAt types.Time `json:"updated_at"` } func CreateCustomer(acountOpenid, entId, kefuName string) *Customer { v := &Customer{ AcountOpenid: acountOpenid, EntId: entId, KefuName: kefuName, CreatedAt: types.Time{Time: time.Now()}, } DB.Create(v) return v } func FindCustomerWhere(query interface{}, args ...interface{}) Customer { var customer Customer DB.Where(query, args...).First(&customer) return customer } func CountCustomer(query interface{}, args ...interface{}) uint { var v uint DB.Table("customer").Where(query, args...).Count(&v) return v } func FindCustomers(page, pagesize int, query interface{}, args ...interface{}) []Customer { offset := (page - 1) * pagesize var res []Customer DB.Table("customer").Where(query, args...).Order("id desc").Offset(offset).Limit(pagesize).Find(&res) return res } func DelCustomer(query interface{}, args ...interface{}) { DB.Where(query, args...).Delete(&Customer{}) } func (this *Customer) SaveCustomer(query interface{}, args ...interface{}) { DB.Model(&Customer{}).Where(query, args...).Update(this) } func (this *Customer) AddCustomer() error { return DB.Create(this).Error }