MCPcopy Index your code
hub / github.com/TruthHun/DocHub / DelFolder

Method DelFolder

models/CollectModel.go:76–122  ·  view source on GitHub ↗

删除收藏夹,当收藏夹里面收藏的文档不为空时,不允许删除 @param id 收藏夹id @param uid 用户id @return err 错误,如果错误为nil,则表示删除成功,否则删除失败

(id, uid int)

Source from the content-addressed store, hash-verified

74//@param uid 用户id
75//@return err 错误,如果错误为nil,则表示删除成功,否则删除失败
76func (this *Collect) DelFolder(id, uid int) (err error) {
77 //查询判断收藏夹是否是当前用户的收藏夹
78 var (
79 cf = CollectFolder{Id: id}
80 o = orm.NewOrm()
81 )
82 err = o.Read(&cf)
83 if err != nil {
84 return
85 }
86
87 if cf.Uid != uid {
88 return
89 }
90
91 if cf.Cnt > 0 {
92 err = errors.New("收藏夹删除失败:您要删除的收藏夹不为空")
93 return
94 }
95
96 o.Begin()
97 defer func() {
98 if err != nil {
99 o.Rollback()
100 }
101
102 o.Commit()
103
104 if len(cf.Cover) > 0 {
105 if cs, errCS := NewCloudStore(false); errCS != nil {
106 helper.Logger.Error(errCS.Error())
107 } else {
108 go cs.Delete(cf.Cover)
109 }
110 }
111
112 }()
113
114 if _, err = o.Delete(&cf, "Id"); err != nil {
115 return
116 }
117
118 sql := "update `%v` set `Collect`=`Collect`-1 where `Collect`>0 AND Id = ?"
119 _, err = o.Raw(sql, GetTableUserInfo(), uid).Exec()
120
121 return
122}
123
124//删除指定的文档收藏,比如某文档是侵权或者非法,则凡是收藏了该文档的用户,该文档收藏都将被删除
125//@param dids 文档id

Callers 1

CollectFolderDelMethod · 0.80

Calls 3

DeleteMethod · 0.95
NewCloudStoreFunction · 0.85
GetTableUserInfoFunction · 0.85

Tested by

no test coverage detected