diff --git a/app/common/dao/user_pkg.go b/app/common/dao/user_pkg.go index a009432..ad8a134 100644 --- a/app/common/dao/user_pkg.go +++ b/app/common/dao/user_pkg.go @@ -31,10 +31,6 @@ func (p *UserPkg) Update(m *model.UserPkg) error { return p.db.Table(p.TableName()).Save(m).Error } -func (p *UserPkg) Delete(m *model.UserPkg) error { - return nil -} - func (p *UserPkg) Get(id, userId int64) (*model.UserPkg, error) { var res model.UserPkg if err := p.db.Table(p.TableName()).Where("id = ? AND user_id = ?", id, userId).First(&res).Error; err != nil { @@ -47,13 +43,13 @@ func (p *UserPkg) Get(id, userId int64) (*model.UserPkg, error) { return &res, nil } -func (p *UserPkg) GetByUserId(userId int64) (*model.UserPkgInfo, error) { +func (p *UserPkg) GetLatest(userId int64) (*model.UserPkgInfo, error) { var res model.UserPkgInfo tx := p.db.Table(p.TableName() + " u ") - tx = tx.Joins(fmt.Sprintf(" JOIN %s p ON u.id = p.user_id", NewPackage().TableName())) + tx = tx.Joins(fmt.Sprintf(" JOIN %s p ON u.package_id = p.id", NewPackage().TableName())) tx = tx.Where("u.user_id = ?", userId) tx = tx.Order("u.id desc") - if err := tx.Select("u.*,p.*").First(&res).Error; err != nil { + if err := tx.Select("u.*,p.*").Limit(1).Find(&res).Error; err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { return nil, nil }