package repository import ( "code.freebrio.com/fb-go/lib/context" "code.freebrio.com/fb-go/lib/fbl" "time" ) // FThirdAgentInfoDO 三方代理 信息表 type FThirdAgentInfoDO struct { Id uint64 `gorm:"column:id;type:bigint(20) unsigned;primary_key;AUTO_INCREMENT" json:"id"` Sn string `gorm:"column:sn;type:varchar(64);comment:sn" json:"sn"` Name string `gorm:"column:name;type:varchar(64);comment:名称" json:"name"` Account string `gorm:"column:account;type:varchar(64);comment:帐号" json:"account"` Pwd string `gorm:"column:pwd;type:varchar(128);comment:密码" json:"pwd"` Iphone string `gorm:"column:iphone;type:varchar(32);comment:联系方式" json:"iphone"` Email string `gorm:"column:email;type:varchar(64);comment:email" json:"email"` Remark string `gorm:"column:remark;type:varchar(64);comment:备注" json:"remark"` Status int `gorm:"column:status;type:tinyint(1) unsigned;default:1;comment:是否有效。0:否;1:是;NOT NULL" json:"status"` Deleted uint `gorm:"column:deleted;type:tinyint(1) unsigned;default:0;comment:逻辑删除。 0:未删除;1:已删除;NOT NULL" json:"deleted"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;default:CURRENT_TIMESTAMP;comment:创建时间;NOT NULL" json:"create_time"` UpdateTime time.Time `gorm:"column:update_time;type:timestamp;default:CURRENT_TIMESTAMP;comment:更新时间;NOT NULL" json:"update_time"` } func (m *FThirdAgentInfoDO) TableName() string { return "f_third_agent_info" } type thirdAgentInfoRepositoryImpl struct { } func (thirdAgentInfoRepositoryImpl) QueryPage(ctx context.GormWithZap, page, size int) *[]FThirdAgentInfoDO { db, err := ctx.GormWithContext() if err != nil { return nil } offset := (page - 1) * size offset = fbl.If(offset >= 0, offset, 0) var dataList []FThirdAgentInfoDO sqlErr := db.Model(&FThirdAgentInfoDO{}).Order("id DESC").Limit(size).Offset(offset).Find(&dataList).Error if sqlErr != nil { ctx.Zap().Sugar().Errorf("QueryPage_sqlErr page:%d %+v", page, sqlErr) return nil } if len(dataList) == 0 { return nil } return &dataList } func (thirdAgentInfoRepositoryImpl) FindById(ctx context.GormWithZap, id uint64) *FThirdAgentInfoDO { db, err := ctx.GormWithContext() if err != nil { return nil } var model FThirdAgentInfoDO sqlErr := db.Where("id=?", id).First(&model).Error if sqlErr != nil { ctx.Zap().Sugar().Errorf("FindById_sqlErr id:%d %+v", id, sqlErr) return nil } return &model } func (thirdAgentInfoRepositoryImpl) Count(ctx context.GormWithZap) int64 { db, err := ctx.GormWithContext() if err != nil { return 0 } var total int64 sqlErr := db.Model(&FThirdAgentInfoDO{}).Select("count(*)").First(&total).Error if sqlErr != nil { ctx.Zap().Sugar().Errorf("Count_sqlErr %+v", sqlErr) return 0 } return total } func (thirdAgentInfoRepositoryImpl) Create(ctx context.GormWithZap, data *FThirdAgentInfoDO) error { db, err := ctx.GormWithContext() if err != nil { return err } //保存数据 return db.Create(data).Error } func (thirdAgentInfoRepositoryImpl) UpdateById(ctx context.GormWithZap, data FThirdAgentInfoDO) error { db, err := ctx.GormWithContext() if err != nil { return err } //更新数据 return db.Updates(&data).Error } func (thirdAgentInfoRepositoryImpl) UpdateStatusById(ctx context.GormWithZap, id uint64, status int, operator string) error { db, err := ctx.GormWithContext() if err != nil { return err } data := FThirdAgentInfoDO{} sqlErr := db.Model(&data). Select("status"). Where("id=?", id). Updates(FThirdAgentInfoDO{Status: status}).Error if sqlErr != nil { return sqlErr } return nil } func (thirdAgentInfoRepositoryImpl) deleteById(ctx context.GormWithZap, id uint64, operator string) error { db, err := ctx.GormWithContext() if err != nil { return err } data := FThirdAgentInfoDO{} sqlErr := db.Model(&data). Select("deleted"). Where("id=?", id). Updates(FThirdAgentInfoDO{Deleted: 1}).Error if sqlErr != nil { return sqlErr } return nil }