|
@@ -11,6 +11,7 @@ import (
|
|
|
"io/ioutil"
|
|
|
"net/http"
|
|
|
"net/url"
|
|
|
+ "strconv"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -157,6 +158,11 @@ func SendToThs(sendDetailId, reportId int, reportType string) (err error) {
|
|
|
if tmpErr != nil {
|
|
|
err = tmpErr
|
|
|
}
|
|
|
+ case "研报":
|
|
|
+ tmpErr := SendReportMiniToThs(reportId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ }
|
|
|
default:
|
|
|
err = errors.New("异常类型")
|
|
|
}
|
|
@@ -237,13 +243,13 @@ func SendReportToThs(reportId int) (err error) {
|
|
|
abstract := report.Abstract
|
|
|
|
|
|
// 实际推送到同花顺
|
|
|
- err = SendThs(title, permissionStr, abstract, jumpUrl, logoUrl)
|
|
|
+ err = SendThs(title, permissionStr, abstract, jumpUrl, logoUrl, "1")
|
|
|
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// SendThs 发送消息到同花顺
|
|
|
-func SendThs(title, labelStr, abstract, jumpBaseUrl, logoUrl string) (err error) {
|
|
|
+func SendThs(title, labelStr, abstract, jumpBaseUrl, logoUrl, dataType string) (err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
//fmt.Println(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "发送消息至同花顺失败 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
@@ -286,7 +292,6 @@ func SendThs(title, labelStr, abstract, jumpBaseUrl, logoUrl string) (err error)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- dataType := "1" //内容类型:1文字 2小程序
|
|
|
dataTypeEncript, err := gorsa.PublicEncrypt(dataType, pubKey)
|
|
|
if err != nil {
|
|
|
return
|
|
@@ -387,3 +392,65 @@ func SyncWxGroup(openCompanyCode, deadline string) (err error) {
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// SendReportMiniToThs 发送报告小程序到同花顺
|
|
|
+func SendReportMiniToThs(reportId int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ //fmt.Println(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "发送消息至同花顺失败 ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "SendReportMiniToThs延时任务发送报告至同花顺失败, ReportId:" + strconv.Itoa(reportId) + ", ErrMsg:"+err.Error(), utils.EmailSendToUsers)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ report, tmpErr := models.GetReportById(reportId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //小程序跳转地址
|
|
|
+ jumpBaseUrl := utils.WxYbAppId + `/pages-report/reportDetail?reportId=`
|
|
|
+ jumpUrl := fmt.Sprint(jumpBaseUrl, report.Id)
|
|
|
+ logoUrl := `https://hongze.oss-cn-shanghai.aliyuncs.com/hzyj.png`
|
|
|
+
|
|
|
+ var permissionStr string
|
|
|
+ if report.HasChapter == 0 {
|
|
|
+ // 获取分类信息(标签)
|
|
|
+ permissionName := report.ClassifyNameSecond
|
|
|
+ classifyItem, tmpErr := models.GetClassifyById(report.ClassifyIdSecond)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = errors.New(fmt.Sprint("获取分类失败:", permissionName))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取权限标签名称
|
|
|
+ if classifyItem != nil {
|
|
|
+ permissionStr = classifyItem.ClassifyLabel
|
|
|
+ if permissionStr == "" {
|
|
|
+ var isOk bool
|
|
|
+ permissionStr, isOk = permissionMap[permissionName]
|
|
|
+ if !isOk {
|
|
|
+ err = errors.New(fmt.Sprint("没有该权限的标签,权限名:", permissionName))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ var isOk bool
|
|
|
+ permissionStr, isOk = permissionMap[permissionName]
|
|
|
+ if !isOk {
|
|
|
+ err = errors.New(fmt.Sprint("没有该权限的标签,权限名:", permissionName))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if permissionStr == "" {
|
|
|
+ err = errors.New(fmt.Sprint("没有该权限的标签,权限名:", permissionName))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ labelMap := map[string]string{utils.REPORT_TYPE_DAY: "晨报", utils.REPORT_TYPE_WEEK: "周报"}
|
|
|
+ permissionStr = labelMap[report.ChapterType]
|
|
|
+ }
|
|
|
+ // 实际推送到同花顺
|
|
|
+ err = SendThs(report.Title, permissionStr, report.Abstract, jumpUrl, logoUrl, "2")
|
|
|
+
|
|
|
+ return
|
|
|
+}
|