|
@@ -73,6 +73,7 @@ ZwIDAQAB
|
|
|
THS_SendUrl = `https://mtest.10jqka.com.cn/gateway/ps/syncNews`
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
// SendThs 发送消息到同花顺
|
|
|
func SendThs(title, labelStr, abstract, jumpBaseUrl, logoUrl, dataType string) (err error) {
|
|
|
defer func() {
|
|
@@ -182,58 +183,79 @@ func SendVoiceBroadcastToThs(voice *voice_broadcast.VoiceBroadcast) (err error)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- pushTime := time.Now() //预发送时间
|
|
|
- isPrePush := false //是否预发布
|
|
|
- addTime := time.Minute * 40 //短时间内多次发布报告,每篇报告的间隔时间(目前暂定40分钟,只有日度点评的报告需要限制)
|
|
|
-
|
|
|
- //获取距离现在最近的一条发送成功失败记录
|
|
|
- latelySendDetail, err := models.GetLatelyReportSendThsDetail()
|
|
|
- //如果存在最近一条发送记录,那么去校验时间
|
|
|
- if (err == nil && latelySendDetail != nil) || err == utils.ErrNoRow {
|
|
|
- pushTime = latelySendDetail.PushTime.Add(addTime)
|
|
|
- //如果最近一条的发送记录 的 (发送时间 + 每篇报告的间隔时间) 晚于 当前时间
|
|
|
- if pushTime.After(time.Now()) {
|
|
|
- isPrePush = true
|
|
|
- } else {
|
|
|
- pushTime = time.Now()
|
|
|
- }
|
|
|
- }
|
|
|
+ pushTime := time.Now() //预发送时间
|
|
|
+ //isPrePush := false //是否预发布
|
|
|
+ //addTime := time.Minute * 40 //短时间内多次发布报告,每篇报告的间隔时间(目前暂定40分钟,只有日度点评的报告需要限制)
|
|
|
|
|
|
- if isPrePush { //预发布,只添加预发布记录,不立马发送报告,等待定时任务推送消息给同花顺
|
|
|
- newSendDetail := &models.ReportSendThsDetail{
|
|
|
- ReportId: voice.BroadcastId,
|
|
|
- ReportType: "语音播报",
|
|
|
- Status: 2,
|
|
|
- PushTime: pushTime,
|
|
|
- CreateTime: time.Now(),
|
|
|
- }
|
|
|
- _, tmpErr := models.AddReportSendThsDetail(newSendDetail)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- newSendDetail := &models.ReportSendThsDetail{
|
|
|
- ReportId: voice.BroadcastId,
|
|
|
- ReportType: "语音播报",
|
|
|
- Status: 0,
|
|
|
- PushTime: pushTime,
|
|
|
- CreateTime: time.Now(),
|
|
|
- }
|
|
|
- sendDetailId, tmpErr := models.AddReportSendThsDetail(newSendDetail)
|
|
|
- if tmpErr != nil {
|
|
|
- err = tmpErr
|
|
|
- return
|
|
|
- }
|
|
|
- //及时发送
|
|
|
- dataType := "2" //内容类型:1文字 2小程序
|
|
|
- err = SendThs(voice.BroadcastName, permissionName, voice.BroadcastName, fmt.Sprint(jumpBaseUrl, voice.BroadcastId), logoUrl, dataType)
|
|
|
- if err != nil {
|
|
|
- _ = models.ModifyReportSendThsDetailStatus(int(sendDetailId), -1, err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- _ = models.ModifyReportSendThsDetailStatus(int(sendDetailId), 1, "")
|
|
|
+ ////获取距离现在最近的一条发送成功失败记录
|
|
|
+ //latelySendDetail, err := models.GetLatelyReportSendThsDetail()
|
|
|
+ ////如果存在最近一条发送记录,那么去校验时间
|
|
|
+ //if (err == nil && latelySendDetail != nil) || err == utils.ErrNoRow {
|
|
|
+ // pushTime = latelySendDetail.PushTime.Add(addTime)
|
|
|
+ // //如果最近一条的发送记录 的 (发送时间 + 每篇报告的间隔时间) 晚于 当前时间
|
|
|
+ // if pushTime.After(time.Now()) {
|
|
|
+ // isPrePush = true
|
|
|
+ // } else {
|
|
|
+ // pushTime = time.Now()
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //if isPrePush { //预发布,只添加预发布记录,不立马发送报告,等待定时任务推送消息给同花顺
|
|
|
+ // newSendDetail := &models.ReportSendThsDetail{
|
|
|
+ // ReportId: voice.BroadcastId,
|
|
|
+ // ReportType: "语音播报",
|
|
|
+ // Status: 2,
|
|
|
+ // PushTime: pushTime,
|
|
|
+ // CreateTime: time.Now(),
|
|
|
+ // }
|
|
|
+ // _, tmpErr := models.AddReportSendThsDetail(newSendDetail)
|
|
|
+ // if tmpErr != nil {
|
|
|
+ // err = tmpErr
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ //} else {
|
|
|
+ // newSendDetail := &models.ReportSendThsDetail{
|
|
|
+ // ReportId: voice.BroadcastId,
|
|
|
+ // ReportType: "语音播报",
|
|
|
+ // Status: 0,
|
|
|
+ // PushTime: pushTime,
|
|
|
+ // CreateTime: time.Now(),
|
|
|
+ // }
|
|
|
+ // sendDetailId, tmpErr := models.AddReportSendThsDetail(newSendDetail)
|
|
|
+ // if tmpErr != nil {
|
|
|
+ // err = tmpErr
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // //及时发送
|
|
|
+ // dataType := "2" //内容类型:1文字 2小程序
|
|
|
+ // err = SendThs(voice.BroadcastName, permissionName, voice.BroadcastName, fmt.Sprint(jumpBaseUrl, voice.BroadcastId), logoUrl, dataType)
|
|
|
+ // if err != nil {
|
|
|
+ // _ = models.ModifyReportSendThsDetailStatus(int(sendDetailId), -1, err.Error())
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // _ = models.ModifyReportSendThsDetailStatus(int(sendDetailId), 1, "")
|
|
|
+ //}
|
|
|
+
|
|
|
+ newSendDetail := &models.ReportSendThsDetail{
|
|
|
+ ReportId: voice.BroadcastId,
|
|
|
+ ReportType: "语音播报",
|
|
|
+ Status: 0,
|
|
|
+ PushTime: pushTime,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ }
|
|
|
+ sendDetailId, tmpErr := models.AddReportSendThsDetail(newSendDetail)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //及时发送
|
|
|
+ dataType := "2" //内容类型:1文字 2小程序
|
|
|
+ err = SendThs(voice.BroadcastName, permissionName, voice.BroadcastName, fmt.Sprint(jumpBaseUrl, voice.BroadcastId), logoUrl, dataType)
|
|
|
+ if err != nil {
|
|
|
+ _ = models.ModifyReportSendThsDetailStatus(int(sendDetailId), -1, err.Error())
|
|
|
+ return
|
|
|
}
|
|
|
+ _ = models.ModifyReportSendThsDetailStatus(int(sendDetailId), 1, "")
|
|
|
|
|
|
return
|
|
|
}
|