@@ -0,0 +1,291 @@
|
||||
package mdrsdb
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/httputil"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/web/webg"
|
||||
)
|
||||
|
||||
type findMediaListReq struct {
|
||||
IDs string `json:"ids"`
|
||||
ProId string `json:"pro_id"`
|
||||
Type string `json:"type"`
|
||||
Page string `json:"page"`
|
||||
Size string `json:"size"`
|
||||
Timestamp string `json:"timestamp"`
|
||||
Sign string `json:"sign"`
|
||||
MediaType string `json:"filter[media_type],omitempty"` // 媒体类型 0视频 1图文
|
||||
Title string `json:"filter[title],omitempty"`
|
||||
TerminalCdo string `json:"filter[terminal_cdo],omitempty"`
|
||||
TagText string `json:"filter[tags_text],omitempty"`
|
||||
HashId string `json:"filter[hash_id],omitempty"`
|
||||
VloggerId string `json:"filter[vlogger_id],omitempty"`
|
||||
VloggerUserId string `json:"filter[vlogger_user_id],omitempty"`
|
||||
StartTime string `json:"filter[start_time],omitempty"`
|
||||
EndTime string `json:"filter[end_time],omitempty"`
|
||||
SortType string `json:"sort_type" form:"sort_type"` // 0-id倒序 1-id正序
|
||||
MaxTotal string `json:"max_total" form:"max_total"` // 最大列表总数
|
||||
}
|
||||
|
||||
func (f *findMediaListReq) getParam() interface{} {
|
||||
f.Sign = sign(*f)
|
||||
m := make(map[string]string)
|
||||
b, err := json.Marshal(f)
|
||||
if err != nil {
|
||||
return m
|
||||
}
|
||||
_ = json.Unmarshal(b, &m)
|
||||
return m
|
||||
}
|
||||
|
||||
func FindMediaList(ctx context.Context, pageNumber, pageSize, vloggerUserId int64, title, tagText, hashId string, mVia, videoType int, syncType, terminalCdo string, startTime, endTime time.Time, sortType, maxTotal int) (mslist []MediaResource, count int64, err error) {
|
||||
var msgData struct {
|
||||
Data []MediaResource `json:"data"`
|
||||
Pagination Pagination `json:"pagination"`
|
||||
}
|
||||
var retMsg msg
|
||||
var errlog string
|
||||
mt := ""
|
||||
if videoType == 0 {
|
||||
mt = "0"
|
||||
} else if videoType == 2 {
|
||||
mt = "1"
|
||||
}
|
||||
var req = findMediaListReq{
|
||||
ProId: getMerchat(),
|
||||
Type: syncType,
|
||||
Page: strconv.FormatInt(pageNumber, 10),
|
||||
Size: strconv.FormatInt(pageSize, 10),
|
||||
Timestamp: strconv.FormatInt(time.Now().Unix(), 10),
|
||||
HashId: hashId,
|
||||
Title: title,
|
||||
TerminalCdo: terminalCdo,
|
||||
TagText: tagText,
|
||||
MediaType: mt,
|
||||
SortType: strconv.Itoa(sortType),
|
||||
MaxTotal: strconv.Itoa(maxTotal),
|
||||
StartTime: strconv.FormatInt(startTime.Unix(), 10),
|
||||
EndTime: strconv.FormatInt(endTime.Unix(), 10),
|
||||
}
|
||||
if vloggerUserId > 0 {
|
||||
req.VloggerUserId = strconv.FormatInt(vloggerUserId, 10)
|
||||
}
|
||||
switch mVia {
|
||||
case 0:
|
||||
case 1:
|
||||
req.VloggerId = "1,"
|
||||
case 2:
|
||||
req.VloggerId = "0"
|
||||
}
|
||||
var url string
|
||||
if videoType == 0 || videoType == 2 {
|
||||
url = "/services/video/videos/v2"
|
||||
} else {
|
||||
url = "/services/short_video/videos/v2"
|
||||
}
|
||||
code, err := httputil.DefaultClientGetWithResp(&retMsg, common.BindUrl(getOrignUrl(), url), nil, req.getParam())
|
||||
if err != nil {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList http GetWithJResp error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
if code != 200 {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList http code error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
if retMsg.Code != 0 {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList retmsg code error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
b, err := json.Marshal(retMsg.Data)
|
||||
if err != nil {
|
||||
errlog := fmt.Sprintf("meadia resource FindMediaList Marshal fail \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
if err = json.Unmarshal(b, &msgData); err != nil {
|
||||
errlog := fmt.Sprintf("meadia resource FindMediaList Unmarshal fail \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
mslist = msgData.Data
|
||||
count = msgData.Pagination.Count
|
||||
return
|
||||
}
|
||||
|
||||
func FindMediaListWithIDs(ctx context.Context, ids []int64, videoType int) (mslist []MediaResource, err error) {
|
||||
var msgData struct {
|
||||
Data []MediaResource `json:"data"`
|
||||
Pagination Pagination `json:"pagination"`
|
||||
}
|
||||
var retMsg msg
|
||||
var errlog string
|
||||
var req = findMediaListReq{
|
||||
ProId: getMerchat(),
|
||||
Type: "all",
|
||||
IDs: sliCovertStr(ids),
|
||||
Timestamp: strconv.FormatInt(time.Now().Unix(), 10),
|
||||
Size: strconv.Itoa(len(ids)),
|
||||
Page: "1",
|
||||
}
|
||||
var url string
|
||||
if videoType == 0 || videoType == 2 {
|
||||
url = "/services/video/videos"
|
||||
} else {
|
||||
url = "/services/short_video/videos"
|
||||
}
|
||||
code, err := httputil.DefaultClientGetWithResp(&retMsg, common.BindUrl(getOrignUrl(), url), nil, req.getParam())
|
||||
if err != nil {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList http GetWithJResp error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
if code != 200 {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList http code error \nerror:%+v;code:%v", err, code)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
if retMsg.Code != 0 {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList retmsg code error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
b, err := json.Marshal(retMsg.Data)
|
||||
if err != nil {
|
||||
errlog := fmt.Sprintf("meadia resource FindMediaList Marshal fail \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
if err = json.Unmarshal(b, &msgData); err != nil {
|
||||
errlog := fmt.Sprintf("meadia resource FindMediaList Unmarshal fail \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
err = errors.New(errlog)
|
||||
return
|
||||
}
|
||||
mslist = msgData.Data
|
||||
return
|
||||
}
|
||||
|
||||
type useMediaReq struct {
|
||||
IDs string `json:"ids"`
|
||||
ProId string `json:"pro_id"`
|
||||
Timestamp string `json:"timestamp"`
|
||||
Sign string `json:"sign"`
|
||||
}
|
||||
|
||||
func (this *useMediaReq) getParam() interface{} {
|
||||
this.Sign = sign(*this)
|
||||
b, _ := json.Marshal(this)
|
||||
return b
|
||||
}
|
||||
|
||||
func UseMedia(ctx context.Context, ids []int64, videoType int) error {
|
||||
var retMsg msg
|
||||
var errlog string
|
||||
var p = useMediaReq{
|
||||
ProId: getMerchat(),
|
||||
IDs: sliCovertStr(ids),
|
||||
Timestamp: strconv.FormatInt(time.Now().Unix(), 10),
|
||||
}
|
||||
var url string
|
||||
if videoType == 0 || videoType == 2 {
|
||||
url = "/services/video/used"
|
||||
} else {
|
||||
url = "/services/short_video/used"
|
||||
}
|
||||
fmt.Println("-------url", getOrignUrl()+url)
|
||||
code, err := httputil.DefaultClientPostJsonWithResp(&retMsg, common.BindUrl(getOrignUrl(), url), nil, p.getParam())
|
||||
if err != nil {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList http POSTJsonWithJResp error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
return errors.New(errlog)
|
||||
}
|
||||
if code != 200 {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList http code error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
return errors.New(errlog)
|
||||
}
|
||||
if retMsg.Code != 0 {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList retmsg code error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
return errors.New(errlog)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type ignoreMediaReq struct {
|
||||
IDs string `json:"ids"`
|
||||
ProId string `json:"pro_id"`
|
||||
Timestamp string `json:"timestamp"`
|
||||
Sign string `json:"sign"`
|
||||
}
|
||||
|
||||
func (this *ignoreMediaReq) getParam() interface{} {
|
||||
this.Sign = sign(*this)
|
||||
b, _ := json.Marshal(this)
|
||||
return b
|
||||
}
|
||||
|
||||
func IgnoreMedia(ctx context.Context, ids []int64, videoType int) error {
|
||||
var retMsg msg
|
||||
var errlog string
|
||||
var p = ignoreMediaReq{
|
||||
ProId: getMerchat(),
|
||||
IDs: sliCovertStr(ids),
|
||||
Timestamp: strconv.FormatInt(time.Now().Unix(), 10),
|
||||
}
|
||||
var url string
|
||||
if videoType == 0 || videoType == 2 {
|
||||
url = "/services/video/ignored"
|
||||
} else {
|
||||
url = "/services/short_video/ignored"
|
||||
}
|
||||
code, err := httputil.DefaultClientPostJsonWithResp(&retMsg, common.BindUrl(getOrignUrl(), url), nil, p.getParam())
|
||||
if err != nil {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList http POSTJsonWithJResp error \nerror:%+v;", err)
|
||||
log.Error(errlog)
|
||||
return errors.New(errlog)
|
||||
}
|
||||
if code != 200 {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList http code error \nerror:%+v;code %d", err, code)
|
||||
log.Error(errlog)
|
||||
return errors.New(errlog)
|
||||
}
|
||||
if retMsg.Code != 0 {
|
||||
errlog = fmt.Sprintf("meadia resource FindMediaList retmsg code error \nerror:%+v;res:%+v", err, retMsg)
|
||||
log.Error(errlog)
|
||||
return errors.New(errlog)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func getMerchat() string {
|
||||
return webg.Conf.MediaResourceDBCfg.Merchat
|
||||
}
|
||||
|
||||
func getSecret() string {
|
||||
return webg.Conf.MediaResourceDBCfg.Secret
|
||||
}
|
||||
|
||||
func getOrignUrl() string {
|
||||
return webg.Conf.MediaResourceDBCfg.BaseUrl
|
||||
}
|
||||
Reference in New Issue
Block a user