1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package Wasu
import (
"encoding/json"
"fmt"
"github.com/sirupsen/logrus"
"src/Common/Request"
"src/Config"
"unsafe"
)
/**
{
"currentPage":1,
"pageNum":1,
"pageSize":2,
"total":2,
"list":[
{
"jsonUrl":"http://115.29.7.64:8092/XmlData/incrementJson?date=20190625&version=20190625150313",
"md5":"a3e0d11328e0feb3114921851f39ac41",
"newsId":"2018239",
"newsName":"冰雪女王",
"playUrl":"http://downloader.media.wasu.tv/data13/ott/344/2015-08/10/adc0650a31a5211ec6d0b1c9fdb10274/5d1496be/1439187357125_958916.ts"
}
]
}
**/
type Media struct {
JsonUrl string `json:"jsonUrl"`
//Md5 string `json:"md5"`
//NewsId string `json:"newsId"`
//NewsName string `json:"newsName"`
//PlayUrl string `json:"playUrl"`
}
type MediaList struct {
CurrentPage int `json:"currentPage"`
PageNum int `json:"pageNum"`
PageSize int `json:"pageSize"`
Total int `json:"total"`
List []*Media `json:"list"`
}
type MediaListModel struct {
Config *Config.Config
}
func (this *MediaListModel) FetchList(date string, page int) *MediaList {
wasu_api_incrementList, ok := this.Config.Sys.Get("wasu_api_incrementList")
mediaList := new(MediaList)
if ok {
url := fmt.Sprintf("%s?date=%s&page=%d", wasu_api_incrementList, date, page)
data, err := Request.Get(url)
if err == nil {
json.Unmarshal([]byte(data), mediaList)
}
}
return mediaList
}
func (this *MediaListModel) UpdateMediaList(mediaList *MediaList) bool {
l := len(mediaList.List)
nOk := 0
for _, media := range mediaList.List {
if this.UpdateMedia(media) {
nOk++
}
}
b := false
if nOk == l {
b = true
}
logrus.Debugln("UpdateMediaList : ok/total :", nOk, "/", l)
return b
}
func (this *MediaListModel) UpdateMedia(media *Media) bool {
center_api_media_update, ok := this.Config.Sys.Get("center_api_media_update")
b := false
if ok {
inData, _ := json.Marshal(media)
data, err := Request.Post(center_api_media_update.(string), *(*string)(unsafe.Pointer(&inData)))
if err == nil {
if data == "true" {
b = true
}
}
}
return b
}