|
|
@@ -151,15 +151,34 @@ func (us *UserService) Logout(u *model.User, token string) error {
|
|
151
|
151
|
|
|
152
|
152
|
// Delete 删除用户和oauth信息
|
|
153
|
153
|
func (us *UserService) Delete(u *model.User) error {
|
|
154
|
|
- // 删除用户
|
|
155
|
|
- if err := global.DB.Delete(u).Error; err != nil {
|
|
156
|
|
- return err
|
|
157
|
|
- }
|
|
158
|
|
- // 删除关联的 OAuth 信息
|
|
159
|
|
- if err := AllService.OauthService.DeleteUserByUserId(u.Id); err != nil {
|
|
160
|
|
- return err
|
|
161
|
|
- }
|
|
162
|
|
- return nil
|
|
|
154
|
+ tx := global.DB.Begin()
|
|
|
155
|
+ // 删除用户
|
|
|
156
|
+ if err := tx.Delete(u).Error; err != nil {
|
|
|
157
|
+ tx.Rollback()
|
|
|
158
|
+ return err
|
|
|
159
|
+ }
|
|
|
160
|
+ // 删除关联的 OAuth 信息
|
|
|
161
|
+ if err := tx.Where("user_id = ?", u.Id).Delete(&model.UserThird{}).Error; err != nil {
|
|
|
162
|
+ tx.Rollback()
|
|
|
163
|
+ return err
|
|
|
164
|
+ }
|
|
|
165
|
+ // 删除关联的ab
|
|
|
166
|
+ if err := tx.Where("user_id = ?", u.Id).Delete(&model.AddressBook{}).Error; err != nil {
|
|
|
167
|
+ tx.Rollback()
|
|
|
168
|
+ return err
|
|
|
169
|
+ }
|
|
|
170
|
+ // 删除关联的abc
|
|
|
171
|
+ if err := tx.Where("user_id = ?", u.Id).Delete(&model.AddressBookCollection{}).Error; err != nil {
|
|
|
172
|
+ tx.Rollback()
|
|
|
173
|
+ return err
|
|
|
174
|
+ }
|
|
|
175
|
+ // 删除关联的abcr
|
|
|
176
|
+ if err := tx.Where("user_id = ?", u.Id).Delete(&model.AddressBookCollectionRule{}).Error; err != nil {
|
|
|
177
|
+ tx.Rollback()
|
|
|
178
|
+ return err
|
|
|
179
|
+ }
|
|
|
180
|
+ tx.Commit()
|
|
|
181
|
+ return nil
|
|
163
|
182
|
}
|
|
164
|
183
|
|
|
165
|
184
|
// Update 更新
|
|
|
@@ -262,14 +281,14 @@ func (us *UserService) RegisterByOauth(thirdType, thirdName, uid string) *model.
|
|
262
|
281
|
Username: username,
|
|
263
|
282
|
GroupId: 1,
|
|
264
|
283
|
}
|
|
265
|
|
- global.DB.Create(u)
|
|
|
284
|
+ tx.Create(u)
|
|
266
|
285
|
if u.Id == 0 {
|
|
267
|
286
|
tx.Rollback()
|
|
268
|
287
|
return u
|
|
269
|
288
|
}
|
|
270
|
289
|
|
|
271
|
290
|
ut.UserId = u.Id
|
|
272
|
|
- global.DB.Create(ut)
|
|
|
291
|
+ tx.Create(ut)
|
|
273
|
292
|
|
|
274
|
293
|
tx.Commit()
|
|
275
|
294
|
return u
|