mylomen-server/infrastructure/repository/third_agent_info_repository.go

143 lines
4.0 KiB
Go
Raw Normal View History

2023-06-04 22:54:54 +08:00
package repository
import (
2023-06-04 23:07:02 +08:00
"ai-gateway/common/utils"
2023-06-04 22:54:54 +08:00
"code.freebrio.com/fb-go/lib/context"
"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
2023-06-04 23:07:02 +08:00
offset = utils.If(offset >= 0, offset, 0)
2023-06-04 22:54:54 +08:00
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
}