This commit is contained in:
@@ -246,7 +246,7 @@ func (m *customUserModel) BatchDeleteUser(ctx context.Context, ids []int64, tx .
|
||||
if len(tx) > 0 {
|
||||
conn = tx[0]
|
||||
}
|
||||
return conn.Where("id in ?", ids).Find(&users).Error
|
||||
return conn.Where("id in ?", ids).Preload("AuthMethods").Find(&users).Error
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -88,15 +88,18 @@ func (m *defaultUserModel) FindOneSubscribe(ctx context.Context, id int64) (*Sub
|
||||
func (m *defaultUserModel) FindUsersSubscribeBySubscribeId(ctx context.Context, subscribeId int64) ([]*Subscribe, error) {
|
||||
var data []*Subscribe
|
||||
err := m.QueryNoCacheCtx(ctx, &data, func(conn *gorm.DB, v interface{}) error {
|
||||
err := conn.Model(&Subscribe{}).Where("subscribe_id = ? AND `status` IN ?", subscribeId, []int64{1, 0}).Find(v).Error
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// update user subscribe status
|
||||
return conn.Model(&Subscribe{}).Where("subscribe_id = ? AND `status` = ?", subscribeId, 0).Update("status", 1).Error
|
||||
return conn.Model(&Subscribe{}).Where("subscribe_id = ? AND `status` IN ?", subscribeId, []int64{1, 0}).Find(v).Error
|
||||
})
|
||||
return data, err
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// Activate pending subscribes (status 0 -> 1) in a separate write operation
|
||||
if err := m.ExecNoCacheCtx(ctx, func(conn *gorm.DB) error {
|
||||
return conn.Model(&Subscribe{}).Where("subscribe_id = ? AND `status` = ?", subscribeId, 0).Update("status", 1).Error
|
||||
}); err != nil {
|
||||
return data, err
|
||||
}
|
||||
return data, nil
|
||||
}
|
||||
|
||||
// QueryUserSubscribe returns a list of records that meet the conditions.
|
||||
@@ -136,6 +139,7 @@ func (m *defaultUserModel) QueryUserSubscribe(ctx context.Context, userId int64,
|
||||
func (m *defaultUserModel) FindOneUserSubscribe(ctx context.Context, id int64) (subscribeDetails *SubscribeDetails, err error) {
|
||||
//TODO cache
|
||||
//key := fmt.Sprintf("%s%d", cacheUserSubscribeUserPrefix, userId)
|
||||
subscribeDetails = &SubscribeDetails{}
|
||||
err = m.QueryNoCacheCtx(ctx, subscribeDetails, func(conn *gorm.DB, v interface{}) error {
|
||||
return conn.Model(&Subscribe{}).Preload("Subscribe").Where("id = ?", id).First(&subscribeDetails).Error
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user