MCPcopy Index your code
hub / github.com/TruthHun/BookStack / Add

Method Add

models/submit_books.go:35–59  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

33}
34
35func (m *SubmitBooks) Add() (err error) {
36 o := orm.NewOrm()
37 m.UrlMd5 = cryptil.Md5Crypt(m.Url)
38 m.CreatedAt = time.Now()
39 m.UpdatedAt = m.CreatedAt
40 exist := &SubmitBooks{}
41 o.QueryTable(m).Filter("url_md5", m.UrlMd5).One(exist)
42 if exist.Id > 0 { //已存在,直接返回
43 return
44 }
45
46 o.QueryTable(m).Filter("uid", m.Uid).OrderBy("-id").One(exist)
47 if exist.Id > 0 && m.CreatedAt.Unix()-exist.CreatedAt.Unix() < 60 { // TODO: 后期从配置中查询
48 err = errors.New("提交频率过快,1分钟内仅限提交一次")
49 return
50 }
51
52 _, err = o.Insert(m)
53 if err != nil {
54 beego.Error(err.Error())
55 err = errors.New("数据写入失败")
56 }
57
58 return
59}
60
61func (m *SubmitBooks) Lists(page, size int, status ...bool) (books []SubmitBooks, total int64, err error) {
62 o := orm.NewOrm()

Callers 1

PostMethod · 0.95

Calls 1

InsertMethod · 0.45

Tested by

no test coverage detected