浏览代码

修复删除用户时的BUG

Minho 8 年之前
父节点
当前提交
42ad00fb92
共有 1 个文件被更改,包括 22 次插入4 次删除
  1. 22 4
      models/member.go

+ 22 - 4
models/member.go

@@ -376,11 +376,29 @@ func (m *Member) Delete(oldId int,newId int) error {
 		o.Rollback()
 		return err
 	}
-	_,err = o.Raw("UPDATE md_relationship SET member_id = ? WHERE member_id = ?",newId,oldId).Exec()
-	if err != nil {
-		o.Rollback()
-		return err
+	//_,err = o.Raw("UPDATE md_relationship SET member_id = ? WHERE member_id = ?",newId,oldId).Exec()
+	//if err != nil {
+	//
+	//	if err != nil {
+	//		o.Rollback()
+	//		return err
+	//	}
+	//}
+	var relationship_list []*Relationship
+
+	_,err = o.QueryTable(NewRelationship().TableNameWithPrefix()).Filter("member_id",oldId).All(&relationship_list)
+
+	if err == nil {
+		for _,relationship := range relationship_list {
+			if o.QueryTable(relationship.TableNameWithPrefix()).Filter("book_id",relationship.BookId).Exist() {
+				o.Delete(relationship)
+			}else{
+				relationship.MemberId = newId
+				o.Update(relationship)
+			}
+		}
 	}
+
 	if err = o.Commit();err != nil {
 		o.Rollback()
 		return err