feat:1、实现自定义模板功能

2、实现项目附件和图片按照项目组织
3、优化自动发布功能解决大项目发布时的性能问题
4、修复删除项目没有删除附件的问题
5、增加项目封面大小
6、增加部分项目操作日志
This commit is contained in:
lifei6671
2018-08-14 15:57:52 +08:00
parent 790b2aa611
commit aa2842cdf8
13 changed files with 519 additions and 230 deletions

View File

@@ -72,8 +72,8 @@ type Book struct {
IsUseFirstDocument int `orm:"column(is_use_first_document);type(int);default(0)" json:"is_use_first_document"`
}
func (b *Book) String() string {
ret, err := json.Marshal(*b)
func (book *Book) String() string {
ret, err := json.Marshal(*book)
if err != nil {
return ""
@@ -136,13 +136,13 @@ func (book *Book) Insert() error {
return err
}
func (book *Book) Find(id int) (*Book, error) {
func (book *Book) Find(id int,cols ...string) (*Book, error) {
if id <= 0 {
return book, ErrInvalidParameter
}
o := orm.NewOrm()
err := o.QueryTable(book.TableNameWithPrefix()).Filter("book_id", id).One(book)
err := o.QueryTable(book.TableNameWithPrefix()).Filter("book_id", id).One(book,cols...)
return book, err
}
@@ -221,7 +221,7 @@ func (book *Book) Copy(identify string) error {
return err
}
if len(docs) > 0 {
if err := recursiveInsertDocument(docs,o,book.BookId,0);err != nil {
if err := recursiveInsertDocument(docs,o, book.BookId,0);err != nil {
beego.Error("复制项目时出错 -> ",err)
o.Rollback()
return err
@@ -371,31 +371,41 @@ func (book *Book) ThoroughDeleteBook(id int) error {
}
o.Begin()
sql2 := "DELETE FROM " + NewDocument().TableNameWithPrefix() + " WHERE book_id = ?"
//删除附件,这里没有删除实际物理文件
_,err = o.Raw("DELETE FROM " + NewAttachment().TableNameWithPrefix() + " WHERE book_id=?").Exec()
if err != nil {
o.Rollback()
return err
}
_, err = o.Raw(sql2, book.BookId).Exec()
//删除文档
_, err = o.Raw( "DELETE FROM " + NewDocument().TableNameWithPrefix() + " WHERE book_id = ?", book.BookId).Exec()
if err != nil {
o.Rollback()
return err
}
sql3 := "DELETE FROM " + book.TableNameWithPrefix() + " WHERE book_id = ?"
_, err = o.Raw(sql3, book.BookId).Exec()
//删除项目
_, err = o.Raw("DELETE FROM " + book.TableNameWithPrefix() + " WHERE book_id = ?", book.BookId).Exec()
if err != nil {
o.Rollback()
return err
}
sql4 := "DELETE FROM " + NewRelationship().TableNameWithPrefix() + " WHERE book_id = ?"
_, err = o.Raw(sql4, book.BookId).Exec()
//删除关系
_, err = o.Raw("DELETE FROM " + NewRelationship().TableNameWithPrefix() + " WHERE book_id = ?", book.BookId).Exec()
if err != nil {
o.Rollback()
return err
}
//删除模板
_,err = o.Raw("DELETE FROM " + NewTemplate().TableNameWithPrefix() + " WHERE book_id = ?",book.BookId).Exec()
if err != nil {
o.Rollback()
return err
}
if book.Label != "" {
NewLabel().InsertOrUpdateMulti(book.Label)
@@ -821,7 +831,7 @@ func (book *Book) ImportBook(zipPath string) error {
beego.Error("导入项目异常 => ", err)
book.Description = "【项目导入存在错误:" + err.Error() + "】"
}
beego.Info("项目导入完毕 => ",book.BookName)
beego.Info("项目导入完毕 => ", book.BookName)
book.ReleaseContent(book.BookId)
return err
}