34 lines
917 B
Go
34 lines
917 B
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go-common/app/interface/main/web/model"
|
|
arcmdl "go-common/app/service/main/archive/api"
|
|
"go-common/app/service/main/archive/model/archive"
|
|
"go-common/library/ecode"
|
|
"go-common/library/log"
|
|
)
|
|
|
|
// ElecShow elec show.
|
|
func (s *Service) ElecShow(c context.Context, mid, aid, loginID int64) (rs *model.ElecShow, err error) {
|
|
var arcReply *arcmdl.ArcReply
|
|
if arcReply, err = s.arcClient.Arc(c, &arcmdl.ArcRequest{Aid: aid}); err != nil {
|
|
log.Error("s.arcClient.Arc(%d) error(%v)", aid, err)
|
|
return
|
|
}
|
|
arc := arcReply.Arc
|
|
if arc.Copyright != int32(archive.CopyrightOriginal) || !arc.IsNormal() {
|
|
err = ecode.ElecDenied
|
|
return
|
|
}
|
|
if _, ok := s.elecShowTypeIds[arc.TypeID]; !ok {
|
|
err = ecode.ElecDenied
|
|
return
|
|
}
|
|
if rs, err = s.dao.ElecShow(c, mid, aid, loginID); err != nil {
|
|
log.Error("s.dao.ElecShow(%d,%d,%d) error(%v)", mid, aid, loginID, err)
|
|
}
|
|
return
|
|
}
|