133 lines
4.4 KiB
Go
133 lines
4.4 KiB
Go
// Package logic -----------------------------
|
|
// @file : artistinfo_artshowVideo.go
|
|
// @author : JJXu
|
|
// @contact : wavingbear@163.com
|
|
// @time : 2023/3/2 11:51
|
|
// -------------------------------------------
|
|
package logic
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/fonchain/fonchain-artistinfo/cmd/internal/dao"
|
|
"github.com/fonchain/fonchain-artistinfo/cmd/model"
|
|
"github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow"
|
|
"google.golang.org/protobuf/types/known/emptypb"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type ArtshowVideoLogic struct{}
|
|
|
|
func (a ArtshowVideoLogic) BatchCreateArtshowVideo(request *artistinfoArtshow.BatchCreateArtshowVideoRequest) error {
|
|
var datas = []model.ArtshowVideoRecord{}
|
|
for _, v := range request.Data {
|
|
datas = append(datas, model.ArtshowVideoRecord{
|
|
ArtistUid: v.ArtistUid,
|
|
LockTime: v.LockTime,
|
|
ArtistName: v.ArtistName,
|
|
VideoUrl: v.VideoUrl,
|
|
AuditStatus: model.AuditStatus(v.AuditStatus),
|
|
AuditMark1: v.AuditMark1,
|
|
AuditMark2: v.AuditMark2,
|
|
Status: v.Status,
|
|
})
|
|
}
|
|
return dao.ArtistinfoArtshowVideo.BatchCreateData(datas)
|
|
}
|
|
func (a ArtshowVideoLogic) CreateArtshowVideo(request *artistinfoArtshow.ArtshowVideoInfo) error {
|
|
return dao.ArtistinfoArtshowVideo.CreateData(&model.ArtshowVideoRecord{
|
|
ArtistUid: request.ArtistUid,
|
|
LockTime: request.LockTime,
|
|
ArtistName: request.ArtistName,
|
|
VideoUrl: request.VideoUrl,
|
|
AuditStatus: model.AuditStatus(request.AuditStatus),
|
|
AuditMark1: request.AuditMark1,
|
|
AuditMark2: request.AuditMark2,
|
|
Status: request.Status,
|
|
})
|
|
}
|
|
func (a ArtshowVideoLogic) GetArtshowVideoDetail(request *artistinfoArtshow.GetArtshowVideoDetailRequest) (rep *artistinfoArtshow.ArtshowVideoInfo, err error) {
|
|
data, err := dao.ArtistinfoArtshowVideo.GetArtshowVideoDetail(request)
|
|
if err != nil {
|
|
if gorm.ErrRecordNotFound == err {
|
|
err = errors.New("找不到数据")
|
|
}
|
|
return nil, err
|
|
}
|
|
rep = &artistinfoArtshow.ArtshowVideoInfo{
|
|
Id: data.ID,
|
|
ArtistUid: data.ArtistUid,
|
|
LockTime: data.LockTime,
|
|
VideoUrl: data.VideoUrl,
|
|
AuditStatus: int64(data.AuditStatus),
|
|
AuditMark1: data.AuditMark1,
|
|
AuditMark2: data.AuditMark2,
|
|
CreatedAt: data.CreatedAt.Unix(),
|
|
UpdatedAt: data.UpdatedAt.Unix(),
|
|
DeletedAt: int64(data.DeletedAt),
|
|
ArtistName: data.ArtistName,
|
|
Status: data.Status,
|
|
Editable: data.Editable(),
|
|
}
|
|
return
|
|
}
|
|
|
|
func (a ArtshowVideoLogic) GetArtshowVideoList(request *artistinfoArtshow.GetArtshowVideoListRequst) (res *artistinfoArtshow.GetArtshowVideoListResponse, err error) {
|
|
res = &artistinfoArtshow.GetArtshowVideoListResponse{}
|
|
datas, total, err := dao.ArtistinfoArtshowVideo.GetDataList(request)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
res.Page = &artistinfoArtshow.VideoPagination{
|
|
Page: request.Page,
|
|
PageSize: request.PageSize,
|
|
Total: total,
|
|
}
|
|
for _, v := range datas {
|
|
res.Data = append(res.Data, &artistinfoArtshow.ArtshowVideoInfo{
|
|
Id: v.ID,
|
|
ArtistUid: v.ArtistUid,
|
|
LockTime: v.LockTime,
|
|
VideoUrl: v.VideoUrl,
|
|
AuditStatus: int64(v.AuditStatus),
|
|
AuditMark1: v.AuditMark1,
|
|
AuditMark2: v.AuditMark2,
|
|
CreatedAt: v.CreatedAt.Unix(),
|
|
UpdatedAt: v.UpdatedAt.Unix(),
|
|
DeletedAt: int64(v.DeletedAt),
|
|
Status: v.Status,
|
|
ArtistName: v.ArtistName,
|
|
})
|
|
}
|
|
return
|
|
}
|
|
|
|
func (a ArtshowVideoLogic) AuditArtshowVideo(request *artistinfoArtshow.AuditArtshowVideoRequest) (*emptypb.Empty, error) {
|
|
err := dao.ArtistinfoArtshowVideo.Audit(model.AuditStatus(request.AuditStatus), request.AuditMark1, request.AuditMark2, request.ArtshowVideoIds...)
|
|
return nil, err
|
|
}
|
|
|
|
func (a ArtshowVideoLogic) UpdateArtshowVideo(request *artistinfoArtshow.UpdateArtshowVideoRequest) (*emptypb.Empty, error) {
|
|
err := dao.ArtistinfoArtshowVideo.UpdateData(&model.ArtshowVideoRecord{
|
|
Model: model.Model{ID: request.Id},
|
|
ArtistUid: request.ArtistUid,
|
|
LockTime: request.LockTime,
|
|
ArtistName: request.ArtistName,
|
|
VideoUrl: request.VideoUrl,
|
|
AuditStatus: model.AuditStatus(request.AuditStatus),
|
|
AuditMark1: request.AuditMark1,
|
|
AuditMark2: request.AuditMark2,
|
|
})
|
|
return nil, err
|
|
}
|
|
|
|
func (a ArtshowVideoLogic) DeletedArtshowVideo(request *artistinfoArtshow.DeletedArtshowVideoRequest) (*emptypb.Empty, error) {
|
|
var ids = []int64{}
|
|
if request.Id != 0 {
|
|
ids = append(ids, request.Id)
|
|
} else if len(request.Ids) > 0 {
|
|
ids = append(ids, request.Ids...)
|
|
}
|
|
err := dao.ArtistinfoArtshowVideo.DeletedData(ids...)
|
|
return nil, err
|
|
}
|