118 lines
3.1 KiB
Go
118 lines
3.1 KiB
Go
|
package article
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
artMdl "go-common/app/interface/main/creative/model/article"
|
||
|
article "go-common/app/interface/openplatform/article/model"
|
||
|
"go-common/library/ecode"
|
||
|
"go-common/library/log"
|
||
|
)
|
||
|
|
||
|
// AddDraft add draft.
|
||
|
func (s *Service) AddDraft(c context.Context, mid int64, art *artMdl.ArtParam) (aid int64, err error) {
|
||
|
return s.art.AddDraft(c, art)
|
||
|
}
|
||
|
|
||
|
// DelDraft delete draft.
|
||
|
func (s *Service) DelDraft(c context.Context, aid, mid int64, ip string) (err error) {
|
||
|
if err = s.art.DelDraft(c, aid, mid, ip); err != nil {
|
||
|
log.Error("s.art.DelArticle(%d) error(%v)", aid, err)
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Draft get draft.
|
||
|
func (s *Service) Draft(c context.Context, aid, mid int64, ip string) (res *artMdl.Meta, err error) {
|
||
|
var df *article.Draft
|
||
|
if df, err = s.art.Draft(c, aid, mid, ip); err != nil {
|
||
|
return
|
||
|
}
|
||
|
if df == nil || df.Article == nil {
|
||
|
err = ecode.CreativeArticleNotExist
|
||
|
return
|
||
|
}
|
||
|
res = &artMdl.Meta{
|
||
|
ID: df.Article.ID,
|
||
|
Category: df.Article.Category,
|
||
|
Title: df.Article.Title,
|
||
|
Content: df.Article.Content,
|
||
|
Summary: df.Article.Summary,
|
||
|
BannerURL: df.Article.BannerURL,
|
||
|
TemplateID: df.Article.TemplateID,
|
||
|
State: df.Article.State,
|
||
|
Author: df.Article.Author,
|
||
|
Stats: df.Article.Stats,
|
||
|
Reprint: df.Article.Reprint,
|
||
|
Reason: df.Article.Reason,
|
||
|
PTime: df.Article.PublishTime,
|
||
|
CTime: df.Article.Ctime,
|
||
|
MTime: df.Article.Mtime,
|
||
|
DynamicIntro: df.Article.Dynamic,
|
||
|
ImageURLs: df.ImageURLs,
|
||
|
OriginImageURLs: df.OriginImageURLs,
|
||
|
}
|
||
|
if res.ImageURLs == nil {
|
||
|
res.ImageURLs = []string{}
|
||
|
}
|
||
|
if res.OriginImageURLs == nil {
|
||
|
res.OriginImageURLs = []string{}
|
||
|
}
|
||
|
res.Tags = df.Tags
|
||
|
if len(df.Tags) == 0 {
|
||
|
res.Tags = []string{}
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// Drafts get draft list.
|
||
|
func (s *Service) Drafts(c context.Context, mid int64, pn, ps int, ip string) (dls *artMdl.DraftList, err error) {
|
||
|
var res *article.Drafts
|
||
|
res, err = s.art.Drafts(c, mid, pn, ps, ip)
|
||
|
if err != nil || res == nil || res.Drafts == nil || len(res.Drafts) <= 0 {
|
||
|
if err != nil {
|
||
|
log.Error("s.art.Drafts(%d) res(%v) error(%v)", mid, res, err)
|
||
|
}
|
||
|
return
|
||
|
}
|
||
|
ms := make([]*artMdl.Meta, 0, len(res.Drafts))
|
||
|
for _, v := range res.Drafts {
|
||
|
m := &artMdl.Meta{
|
||
|
ID: v.ID,
|
||
|
Category: v.Category,
|
||
|
Title: v.Title,
|
||
|
Summary: v.Summary,
|
||
|
BannerURL: v.BannerURL,
|
||
|
TemplateID: v.TemplateID,
|
||
|
State: v.State,
|
||
|
Reprint: v.Reprint,
|
||
|
Reason: v.Reason,
|
||
|
PTime: v.PublishTime,
|
||
|
Author: v.Author,
|
||
|
Stats: v.Stats,
|
||
|
CTime: v.Ctime,
|
||
|
MTime: v.Mtime,
|
||
|
DynamicIntro: v.Dynamic,
|
||
|
ImageURLs: v.ImageURLs,
|
||
|
OriginImageURLs: v.OriginImageURLs,
|
||
|
}
|
||
|
if m.ImageURLs == nil {
|
||
|
m.ImageURLs = []string{}
|
||
|
}
|
||
|
if m.OriginImageURLs == nil {
|
||
|
m.OriginImageURLs = []string{}
|
||
|
}
|
||
|
m.Tags = v.Tags
|
||
|
if len(v.Tags) == 0 {
|
||
|
m.Tags = []string{}
|
||
|
}
|
||
|
ms = append(ms, m)
|
||
|
}
|
||
|
dls = &artMdl.DraftList{
|
||
|
DraftURL: s.c.H5Page.Draft,
|
||
|
}
|
||
|
dls.Drafts = ms
|
||
|
dls.Page = res.Page
|
||
|
return
|
||
|
}
|