@@ -0,0 +1,90 @@
|
||||
package video_gold_coin_ser
|
||||
|
||||
import (
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/videogoldcoinmod"
|
||||
"91porn-server/models/v/vidmod"
|
||||
"errors"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func QueryAll(in *videogoldcoinmod.QueryAllCond) (*videogoldcoinmod.QueryAllRes, error) {
|
||||
var out = &videogoldcoinmod.QueryAllRes{}
|
||||
count, err := videogoldcoinmod.QueryAllCount(in.Filter())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if count == 0 {
|
||||
out.List = []*videogoldcoinmod.VideoGoldCoin{}
|
||||
out.Total = 0
|
||||
return out, nil
|
||||
}
|
||||
out.Total = count
|
||||
out.List, err = videogoldcoinmod.QueryAllList(in.Filter(), in.Options())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func Add(in *videogoldcoinmod.AddCond, manager string) stderr.Code {
|
||||
videoIdStrs := strings.Split(in.VideoId, ",")
|
||||
vids := make([]primitive.ObjectID, len(videoIdStrs))
|
||||
for i, vidIDStr := range videoIdStrs {
|
||||
videoID, err := primitive.ObjectIDFromHex(vidIDStr)
|
||||
if err != nil {
|
||||
return stderr.ErrParamError
|
||||
}
|
||||
vids[i] = videoID
|
||||
}
|
||||
list, err := vidmod.GetVideoListByIDs(vids)
|
||||
if err != nil {
|
||||
return stderr.ErrNetWorkBusy
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
records := make([]videogoldcoinmod.VideoGoldCoin, len(list))
|
||||
for i := range list {
|
||||
records[i] = videogoldcoinmod.VideoGoldCoin{
|
||||
PublisherID: list[i].PublisherID,
|
||||
VidId: list[i].ID,
|
||||
VidTitle: list[i].Title,
|
||||
VidType: list[i].NewsType,
|
||||
SourceURL: list[i].SourceURL,
|
||||
Cover: list[i].Cover,
|
||||
SeriesCover: list[i].SeriesCover,
|
||||
Coins: list[i].Coins,
|
||||
Status: 1,
|
||||
OperateAccount: manager,
|
||||
CreatedAt: now,
|
||||
}
|
||||
}
|
||||
err = videogoldcoinmod.InsertMany(records)
|
||||
if err != nil {
|
||||
return stderr.ErrDbInsertError
|
||||
}
|
||||
return stderr.Success
|
||||
}
|
||||
|
||||
func Edit(in *videogoldcoinmod.EditCond, manager string) error {
|
||||
status, err := videogoldcoinmod.IsExistByVideoID(in.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !status {
|
||||
return errors.New("data is null")
|
||||
}
|
||||
|
||||
err = videogoldcoinmod.Edit(in.Filter(), in.Update(manager))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func Delete(in *videogoldcoinmod.DeleteCond) error {
|
||||
return videogoldcoinmod.Remove(in.Filter())
|
||||
}
|
||||
Reference in New Issue
Block a user