浏览代码

价格驱动-完善page

hsun 2 年之前
父节点
当前提交
08fbaeb488
共有 2 个文件被更改,包括 43 次插入20 次删除
  1. 14 5
      models/chart_permission.go
  2. 29 15
      services/report_push.go

+ 14 - 5
models/chart_permission.go

@@ -45,11 +45,12 @@ func (chartPermissionInfo *ChartPermission) Update(cols []string) (err error) {
 
 // YbChartPermissionFirst 研报一级品种分类
 type YbChartPermissionFirst struct {
-	ClassName   string `description:"权限一级分类名称,与chart_permission的classify_name一致"`
-	YbIndexShow int    `description:"是否展示在研报小程序首页页面  1-展示;0-不展示"`
-	YbIndexName string `description:"研报小程序首页简称"`
-	YbIndexSort string `description:"研报小程序首页排序"`
-	YbIndexIcon string `description:"研报小程序首页图标地址"`
+	Id           int
+	ClassifyName string `description:"权限一级分类名称,与chart_permission的classify_name一致"`
+	YbIndexShow  int    `description:"是否展示在研报小程序首页页面  1-展示;0-不展示"`
+	YbIndexName  string `description:"研报小程序首页简称"`
+	YbIndexSort  string `description:"研报小程序首页排序"`
+	YbIndexIcon  string `description:"研报小程序首页图标地址"`
 }
 
 // GetYbChartPermissionFirst 获取研报一级品种分类
@@ -67,3 +68,11 @@ func GetPermissionByProductIdAndClassifyName(productId int, classifyName string)
 	_, err = o.Raw(sql, productId, classifyName).QueryRows(&items)
 	return
 }
+
+// GetYbChartPermissionFirstByName 根据分类名称获取一级分类
+func GetYbChartPermissionFirstByName(classifyName string) (item *YbChartPermissionFirst, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM chart_permission_first WHERE classify_name = ? LIMIT 1`
+	err = o.Raw(sql, classifyName).QueryRow(&item)
+	return
+}

+ 29 - 15
services/report_push.go

@@ -166,11 +166,16 @@ func SendToThs(sendDetailId, reportId int, reportType string) (err error) {
 		if tmpErr != nil {
 			err = tmpErr
 		}
-	case "价格驱动":
+	case "研报价格驱动":
 		tmpErr := SendYbPriceDrivenToThs(reportId)
 		if tmpErr != nil {
 			err = tmpErr
 		}
+	case "研报视频社区":
+		tmpErr := SendYbCommunityVideoToThs(reportId)
+		if tmpErr != nil {
+			err = tmpErr
+		}
 	default:
 		err = errors.New("异常类型")
 	}
@@ -468,36 +473,45 @@ func SendReportMiniToThs(reportId int) (err error) {
 }
 
 // SendYbPriceDrivenToThs 推送研报小程序价格驱动客群消息
-func SendYbPriceDrivenToThs(chartPermissionId int) (err error) {
+func SendYbPriceDrivenToThs(priceDrivenId int) (err error) {
 	defer func() {
 		if err != nil {
-			go alarm_msg.SendAlarmMsg("SendYbPriceDrivenToThs-延时任务发送报告至同花顺失败, ChartPermissionId:"+strconv.Itoa(chartPermissionId)+", ErrMsg:"+err.Error(), 3)
+			go alarm_msg.SendAlarmMsg("SendYbPriceDrivenToThs-延时任务发送报告至同花顺失败, PriceDrivenId:"+strconv.Itoa(priceDrivenId)+", ErrMsg:"+err.Error(), 3)
 		}
 	}()
-	priceDriven, e := yb.GetPriceDrivenByChartPermissionId(chartPermissionId)
+	priceDriven, e := yb.GetPriceDrivenById(priceDrivenId)
 	if e != nil {
 		err = errors.New("获取价格驱动信息失败, Err:" + e.Error())
 		return
 	}
-	chartPermission, e := models.GetChartPermissionById(priceDriven.ChartPermissionId)
+	chartPermissionId := priceDriven.ChartPermissionId
+	if chartPermissionId <= 0 {
+		err = errors.New("价格驱动品种ID有误")
+		return
+	}
+	secondPermission, e := models.GetChartPermissionById(chartPermissionId)
+	if e != nil {
+		err = errors.New("获取品种权限信息失败, Err: " + e.Error())
+		return
+	}
+	permissionName := secondPermission.PermissionName
+	firstClassify, e := models.GetYbChartPermissionFirstByName(secondPermission.ClassifyName)
 	if e != nil {
-		err = errors.New("获取价格驱动分类信息失败, Err:" + e.Error())
+		err = errors.New("获取品种权限父级信息失败, Err: " + e.Error())
 		return
 	}
-	thsTag := chartPermission.PermissionName
-	if thsTag == "" {
-		err = errors.New("客群标签为空, 无效推送")
+	if permissionName == "" {
+		err = errors.New("客群标签为空, 不可推送")
 		return
 	}
-	if thsTag == "宏观经济" {
-		thsTag = "宏观"
+	if permissionName == "宏观经济" {
+		permissionName = "宏观"
 	}
-	// TODO:小程序跳转地址待定
-	title := fmt.Sprintf("%s价格驱动", thsTag)
-	jumpUrl := fmt.Sprintf(`%s/pages-report/reportDetail?reportId=%d`, utils.WxYbAppId, chartPermissionId)
+	title := fmt.Sprintf("%s价格驱动", permissionName)
+	jumpUrl := fmt.Sprintf("pages/pricedriven/pricedriven?default_classify_first=%d&default_classify_sub=%d", firstClassify.Id, chartPermissionId)
 	logoUrl := `https://hongze.oss-cn-shanghai.aliyuncs.com/hzyj.png`
 	// 推送至同花顺
 	dataType := "2"
-	err = SendThs(title, thsTag, title, jumpUrl, logoUrl, dataType)
+	err = SendThs(title, permissionName, title, jumpUrl, logoUrl, dataType)
 	return
 }