mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-10-21 03:17:25 +08:00
1、实现标签功能
2、实现删除用户,当删除一个用户时,该用户的所有信息将转义到超级管理员账户上
This commit is contained in:
@@ -217,6 +217,7 @@ func (m *Member) ResolveRoleName() {
|
||||
}
|
||||
}
|
||||
|
||||
//根据账号查找用户.
|
||||
func (m *Member) FindByAccount(account string) (*Member, error) {
|
||||
o := orm.NewOrm()
|
||||
|
||||
@@ -228,6 +229,7 @@ func (m *Member) FindByAccount(account string) (*Member, error) {
|
||||
return m, err
|
||||
}
|
||||
|
||||
//分页查找用户.
|
||||
func (m *Member) FindToPager(pageIndex, pageSize int) ([]*Member, int64, error) {
|
||||
o := orm.NewOrm()
|
||||
|
||||
@@ -260,6 +262,7 @@ func (c *Member) IsAdministrator() bool {
|
||||
return c.Role == 0 || c.Role == 1
|
||||
}
|
||||
|
||||
//根据指定字段查找用户.
|
||||
func (m *Member) FindByFieldFirst(field string, value interface{}) (*Member, error) {
|
||||
o := orm.NewOrm()
|
||||
|
||||
@@ -268,6 +271,7 @@ func (m *Member) FindByFieldFirst(field string, value interface{}) (*Member, err
|
||||
return m, err
|
||||
}
|
||||
|
||||
//校验用户.
|
||||
func (m *Member) Valid(is_hash_password bool) error {
|
||||
|
||||
//邮箱不能为空
|
||||
@@ -324,6 +328,67 @@ func (m *Member) Valid(is_hash_password bool) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
//删除一个用户.
|
||||
|
||||
func (m *Member) Delete(oldId int,newId int) error {
|
||||
o := orm.NewOrm()
|
||||
|
||||
err := o.Begin()
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_,err = o.Raw("DELETE FROM md_members WHERE member_id = ?",oldId).Exec()
|
||||
if err != nil {
|
||||
o.Rollback()
|
||||
return err
|
||||
}
|
||||
_,err = o.Raw("UPDATE md_attachment SET `create_at` = ? WHERE `create_at` = ?",newId,oldId).Exec()
|
||||
|
||||
if err != nil {
|
||||
o.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
_,err = o.Raw("UPDATE md_books SET member_id = ? WHERE member_id = ?",newId,oldId).Exec()
|
||||
if err != nil {
|
||||
o.Rollback()
|
||||
return err
|
||||
}
|
||||
_,err = o.Raw("UPDATE md_document_history SET member_id=? WHERE member_id = ?",newId,oldId).Exec()
|
||||
if err != nil {
|
||||
o.Rollback()
|
||||
return err
|
||||
}
|
||||
_,err = o.Raw("UPDATE md_document_history SET modify_at=? WHERE modify_at = ?",newId,oldId).Exec()
|
||||
if err != nil {
|
||||
o.Rollback()
|
||||
return err
|
||||
}
|
||||
_,err = o.Raw("UPDATE md_documents SET member_id = ? WHERE member_id = ?;",newId,oldId).Exec()
|
||||
if err != nil {
|
||||
o.Rollback()
|
||||
return err
|
||||
}
|
||||
_,err = o.Raw("UPDATE md_documents SET modify_at = ? WHERE modify_at = ?",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 {
|
||||
o.Rollback()
|
||||
return err
|
||||
}
|
||||
if err = o.Commit();err != nil {
|
||||
o.Rollback()
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user