|
|
@ -6,6 +6,7 @@ import ( |
|
|
|
"main_program/entity" |
|
|
|
service "main_program/service" |
|
|
|
"strings" |
|
|
|
"time" |
|
|
|
) |
|
|
|
|
|
|
|
type keywordAnalyse struct{} |
|
|
@ -32,35 +33,56 @@ func (m *keywordAnalyse) Start() { |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
continueFlag := true |
|
|
|
for continueFlag { |
|
|
|
config.Logger.Infof("需要解析的VideoId:%s", videoId) |
|
|
|
|
|
|
|
config.Logger.Infof("需要解析的VideoId:%s", videoId) |
|
|
|
// 根据videoId获取channel
|
|
|
|
video, err := service.VideoService.QueryOneByVideoId(videoId) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Infof("获取video失败,videoId:%s", videoId) |
|
|
|
} |
|
|
|
|
|
|
|
// 根据videoId获取channel
|
|
|
|
video, err := service.VideoService.QueryOneByVideoId(videoId) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Infof("获取video失败,videoId:%s", videoId) |
|
|
|
} |
|
|
|
// 根据channelId获取channel
|
|
|
|
channel, err := service.ChannelService.QueryOneByChannelId(video.ChannelId) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Infof("获取Channel失败,channelId:%s", video.ChannelId) |
|
|
|
} |
|
|
|
|
|
|
|
// 根据channelId获取channel
|
|
|
|
channel, err := service.ChannelService.QueryOneByChannelId(video.ChannelId) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Infof("获取Channel失败,channelId:%s", video.ChannelId) |
|
|
|
} |
|
|
|
// 根据region获取关键字
|
|
|
|
keywords, err := service.KeywordService.QueryKeywordsByRegion(channel.Region) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Infof("获取keywords失败,region:%s", channel.Region) |
|
|
|
} |
|
|
|
|
|
|
|
// 根据region获取关键字
|
|
|
|
keywords, err := service.KeywordService.QueryKeywordsByRegion(channel.Region) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Infof("获取keywords失败,region:%s", channel.Region) |
|
|
|
} |
|
|
|
// 获取所有srtFile
|
|
|
|
srtFiles, err := service.SrtFileService.QuerySrtFilesByVideoId(videoId) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Infof("获取srtFiles失败,videoId:%s", videoId) |
|
|
|
} |
|
|
|
for i := 0; i < len(srtFiles); i++ { |
|
|
|
analyse(srtFiles[i], keywords) |
|
|
|
} |
|
|
|
|
|
|
|
// 获取所有srtFile
|
|
|
|
srtFiles, err := service.SrtFileService.QuerySrtFilesByVideoId(videoId) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Infof("获取srtFiles失败,videoId:%s", videoId) |
|
|
|
} |
|
|
|
for i := 0; i < len(srtFiles); i++ { |
|
|
|
analyse(srtFiles[i], keywords) |
|
|
|
// 5秒后循环获取
|
|
|
|
config.Logger.Info("5秒后循环获取") |
|
|
|
time.Sleep(5 * time.Second) |
|
|
|
if common.AnalyseRegion == "" { |
|
|
|
videoId, err = service.SrtFileService.QueryOneNotScanVideoId() |
|
|
|
if err != nil { |
|
|
|
config.Logger.Info("没有需要解析的SrtFile...") |
|
|
|
continueFlag = false |
|
|
|
} |
|
|
|
} else { |
|
|
|
config.Logger.Info("通过common.AnalyseRegion获取VideoId") |
|
|
|
videoId, err = service.SrtFileService.QueryOneNotScanVideoIdByRegion(common.AnalyseRegion) |
|
|
|
if err != nil { |
|
|
|
config.Logger.Info("没有需要解析的SrtFile...") |
|
|
|
continueFlag = false |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
func analyse(srtFile entity.Srtfile, keywords []entity.Keyword) { |
|
|
|