12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package mysqlLy
- import (
- orm "duoduo/database"
- "github.com/shopspring/decimal"
- "time"
- )
- type Pets struct {
- ID int64 `gorm:"column:id;type:bigint(20);primary_key;AUTO_INCREMENT" json:"id"`
- UserID int64 `gorm:"column:user_id;type:bigint(20)" json:"user_id"`
- Name string `gorm:"column:name;type:varchar(64)" json:"name"` // 昵称
- Pet string `gorm:"column:pet;type:varchar(64)" json:"pet"` // 品种
- Age string `gorm:"column:age;type:varchar(16)" json:"age"` // 年龄 '0-3个月','3-6个月','6-9个月','小于1岁','小于2岁','小于3岁','大于3岁'
- Sex string `gorm:"column:sex;type:varchar(4)" json:"sex"` // 性别 MM GG
- PetStatus int `gorm:"column:pet_status;type:tinyint(4)" json:"pet_status"` // 1-流浪 2-家养 3-收养所
- PetDes string `gorm:"column:pet_des;type:varchar(16)" json:"pet_des"` // 宠物详细种类
- IsSterilization int `gorm:"column:is_sterilization;type:tinyint(4)" json:"is_sterilization"` // 绝育状态:1-是 2-否 3-不确认
- IsExpellingParasite int `gorm:"column:is_expelling_parasite;type:tinyint(4)" json:"is_expelling_parasite"` // 驱虫状态:1-是 2-否 3-不确认
- IsImmune int `gorm:"column:is_immune;type:tinyint(4)" json:"is_immune"` // 免疫状态:1-是 2-否 3-不确认
- IsFee int `gorm:"column:is_fee;type:tinyint(4)" json:"is_fee"` // 1-免费 2-押金 3-有偿
- Deposit decimal.Decimal `gorm:"column:deposit;type:decimal(10,2)" json:"deposit"` // 押金
- DepositDate time.Time `gorm:"column:deposit_date;type:date;default:null" json:"deposit_date"` // 押金到期时间
- Amount decimal.Decimal `gorm:"column:amount;type:decimal(10,2)" json:"amount"` // 金额
- Province string `gorm:"column:province;type:varchar(16)" json:"province"` // 省
- City string `gorm:"column:city;type:varchar(16)" json:"city"` // 市
- Area string `gorm:"column:area;type:varchar(16)" json:"area"` // 区
- PetInfo string `gorm:"column:pet_info;type:text" json:"pet_info"` // 宠物信息
- AdoptInfo string `gorm:"column:adopt_info;type:text" json:"adopt_info"` // 领养要求
- Pictures string `gorm:"column:pictures;type:json" json:"pictures"` // 图片url
- Status int `gorm:"column:status;type:tinyint(4)" json:"status"` // 状态 1-待领养 2-已领养
- CreateTime time.Time `gorm:"column:create_time;type:datetime" json:"create_time"` // 创建时间
- UpdateTime time.Time `gorm:"column:update_time;type:datetime" json:"update_time"` // 更新时间
- OpenId string `gorm:"column:open_id;type:varchar(255)" json:"open_id"` //openid
- }
- func (m *Pets) TableName() string {
- return "pets"
- }
- func (m *Pets) Create() (Pets, error) {
- var doc Pets
- result := orm.LyMysql.Table(m.TableName()).Create(&m)
- if result.Error != nil {
- err := result.Error
- return doc, err
- }
- doc = *m
- return doc, nil
- }
- //list 接口使用
- func (m *Pets) GetPetsList(pageSize int, pageIndex int) ([]Pets, int, error) {
- var doc []Pets
- table := orm.LyMysql.Table(m.TableName())
- if m.OpenId != "" {
- table = table.Where("open_id = ? ", m.OpenId)
- }
- if m.Pet != "" { //品种
- table = table.Where("pet = ? ", m.Pet)
- }
- if m.City != "" { //城市
- table = table.Where("city = ?", m.City)
- }
- if m.Status != 0 { //状态
- table = table.Where("status = ?", m.Status)
- }
- if m.IsFee == 1 || m.IsFee == 2 { //
- table = table.Where("is_fee in (1,2)")
- } else if m.IsFee == 3 {
- table = table.Where("is_fee = 3")
- }
- var count int
- if err := table.Order("id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil {
- return nil, 0, err
- }
- table.Count(&count)
- return doc, count, nil
- }
|