62 Star 374 Fork 121

admpub / nging

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
embedded_file.go 1.33 KB
一键复制 编辑 原始数据 按行查看 历史
admpub 提交于 2020-02-21 10:57 . 表名称统一增加nging前缀
package file
import (
"strings"
"github.com/webx-top/com"
"github.com/webx-top/db"
"github.com/admpub/nging/application/dbschema"
)
func (f *Embedded) DeleteByInstance(m *dbschema.NgingFileEmbedded) error {
err := f.Delete(nil, `id`, m.Id)
if err != nil {
return err
}
ids := strings.Split(m.FileIds, ",")
return f.DeleteFileByIds(ids)
}
func (f *Embedded) AddFileByIds(fileIds []string, excludeFileIds ...string) error {
var newIds []interface{}
if len(excludeFileIds) > 0 {
for _, v := range fileIds {
if !com.InSlice(v, excludeFileIds) {
newIds = append(newIds, v)
}
}
} else {
newIds = make([]interface{}, len(fileIds))
for idx, id := range fileIds {
newIds[idx] = id
}
}
if len(newIds) == 0 {
return nil
}
return f.File.Incr(newIds...)
}
func (f *Embedded) DeleteFileByIds(fileIds []string, excludeFileIds ...string) error {
var delIds []interface{}
if len(excludeFileIds) > 0 {
for _, v := range fileIds {
if !com.InSlice(v, excludeFileIds) {
delIds = append(delIds, v)
}
}
} else {
delIds = make([]interface{}, len(fileIds))
for idx, id := range fileIds {
delIds[idx] = id
}
}
if len(delIds) == 0 {
return nil
}
err := f.File.Decr(delIds...)
if err != nil {
return err
}
err = f.File.SetFields(nil, f.File.UnbindTargetData(), db.Cond{`used_times`: 0})
return err
}
Go
1
https://gitee.com/admpub/nging.git
git@gitee.com:admpub/nging.git
admpub
nging
nging
v2.2.3

搜索帮助

53164aa7 5694891 3bd8fe86 5694891