Browse Source

Merge branch 'cygx_8.5'

ziwen 2 years ago
parent
commit
1822816db8

+ 13 - 1
controllers/activity.go

@@ -1042,6 +1042,16 @@ func (this *ActivityCoAntroller) Detail() {
 			activityInfo.AudioLink = true
 			activityInfo.VideoDetail = mapActivityVideo[activityId]
 		}
+		//8.5 小程序活动详情页 除专家电话外 其余属于新产业的活动 ,不显示 new 标签
+		if activityInfo.ActivityTypeName != "专家电话会" {
+			for _, rep := range activityInfo.Listndustrial {
+				rep.IndustryNewLabel = false
+			}
+		}
+		//8.5 买方研选的活动去掉限免标签
+		if strings.Contains(activityInfo.ChartPermissionName, "研选"){
+			activityInfo.IsShowSustainable = false
+		}
 		//处理按钮是否展示问题
 		resp.Detail = services.ActivityButtonShow(activityInfo)
 	}
@@ -2425,6 +2435,7 @@ func (this *ActivityCoAntroller) LabelMoreList() {
 // @Param   PlayBack   query   int  false       "是否仅展示回放 1:是、0:否 默认0"
 // @Param   KeyWord   query   string  false       "搜索关键词 多个用 , 隔开"
 // @Param   ActivityId   query   int  false       "活动列表传过来的活动ID"
+// @Param   Filter			query	int		false	"筛选条件 0:全部 1:视频 2:音频"
 // @Success 200 {object} models.GetCygxActivityListRep
 // @router /listNew [get]
 func (this *ActivityCoAntroller) ActivityListNew() {
@@ -2450,6 +2461,7 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	activityTypeId := this.GetString("ActivityTypeId")
 	keyWord := this.GetString("KeyWord")
 	playBack, _ := this.GetInt("PlayBack")
+	filter, _ := this.GetInt("Filter")
 	activityId, _ := this.GetInt("ActivityId") // 仅用于判断【新】标签
 
 	if label == "undefined" {
@@ -2558,7 +2570,7 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	}
 
 	condition += conditionOrder
-	list, errList := models.GetActivityListAll(condition, pars, uid, startSize, pageSize, playBack)
+	list, errList := models.GetActivityListNew(condition, pars, uid, startSize, pageSize, playBack, filter)
 	if errList != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + errList.Error()

+ 3 - 1
controllers/micro_roadshow.go

@@ -23,6 +23,7 @@ type MicroRoadShowController struct {
 // @Param   AudioId			query	int		false	"音频ID"
 // @Param   VideoId			query	int		false	"视频ID"
 // @Param   ActivityVideoId			query	int		false	"活动视频ID"
+// @Param   Filter			query	int		false	"筛选条件 0:全部 1:视频 2:音频"
 // @Success 200 {object} models.HomeListResp
 // @router /list [get]
 func (this *MicroRoadShowController) List() {
@@ -44,6 +45,7 @@ func (this *MicroRoadShowController) List() {
 	audioId, _ := this.GetInt("AudioId")
 	videoId, _ := this.GetInt("VideoId")
 	activityVideoId, _ := this.GetInt("ActivityVideoId")
+	filter, _ := this.GetInt("Filter", 0)
 
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
@@ -53,7 +55,7 @@ func (this *MicroRoadShowController) List() {
 	}
 
 	// 微路演列表
-	list, total, e := services.GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId, keywords)
+	list, total, e := services.GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId, filter, keywords)
 	if e != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取微路演列表失败, Err: " + e.Error()

+ 44 - 0
controllers/report.go

@@ -3036,3 +3036,47 @@ func (this *ReportController) SearchReportAndResource() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// @Title 产业报告公司列表
+// @Description 获取产业报告公司列表接口
+// @Param   ChartPermissionId   query   int  true       "行业id"
+// @Success 200 {object} models.IndustrialManagementList
+// @router /home/stockName [get]
+func (this *ReportController) StockNameList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请重新登录"
+		br.Ret = 408
+		return
+	}
+	//uid := user.UserId
+	chartPermissionId, _ := this.GetInt("ChartPermissionId")
+
+	list, err := models.GetSummaryArticle(chartPermissionId)
+	if err != nil {
+		br.Msg = "获取综述报告公司名称失败"
+		br.ErrMsg = "获取综述报告公司名称失败,Err:" + err.Error()
+		return
+	}
+	for _, item := range list {
+		index := strings.Index(item.Stock, "(")
+		item.Stock = item.Stock[:index]
+		if strings.Contains(item.Stock, "-B"){
+			item.Stock = strings.Replace(item.Stock, "-B", "", -1)
+		}
+		if strings.Contains(item.Stock, "-W"){
+			item.Stock = strings.Replace(item.Stock, "-W", "", -1)
+		}
+	}
+	resp := new(models.SummaryArticleStockResp)
+	resp.List = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 29 - 0
models/activity.go

@@ -915,3 +915,32 @@ func UpdateActivityshowSubject(activityId int) (err error) {
 	_, err = o.Raw(sql, activityId).Exec()
 	return
 }
+
+//列表
+func GetActivityListNew(condition string, pars []interface{}, uid, startSize, pageSize, playBack, filter int) (items []*ActivityDetail, err error) {
+	var sqlJiontable string
+	if playBack == 1 {
+		//sqlJiontable = ` INNER JOIN cygx_activity_voice AS ac ON ac.activity_id = art.activity_id `
+	}
+	if filter == 1 {
+		sqlJiontable = ` INNER JOIN cygx_activity_video AS av ON av.activity_id = art.activity_id `
+	} else if filter == 2{
+		sqlJiontable = ` INNER JOIN cygx_activity_voice AS ac ON ac.activity_id = art.activity_id `
+	}
+
+	o := orm.NewOrm()
+	sql := `SELECT art.* ,t.activity_type,t.img_url_text,c.image_url as  img_url,
+		( SELECT COUNT( 1 ) FROM cygx_activity_signup AS s WHERE s.activity_id = art.activity_id AND s.user_id = ?   AND s.is_cancel = 0  AND s.do_fail_type = 0) AS is_signup,
+		( SELECT COUNT( DISTINCT user_id ) FROM cygx_activity_signup AS s WHERE s.activity_id = art.activity_id   AND s.is_cancel = 0  AND s.do_fail_type = 0) AS signup_num,
+		( SELECT COUNT( 1 ) FROM cygx_activity_meeting_reminder AS m WHERE m.activity_id = art.activity_id AND m.user_id = ?  AND m.is_cancel = 0  ) AS is_cancel_meeting_reminder,
+		( SELECT COUNT( 1 ) FROM cygx_activity_appointment AS ap WHERE ap.activity_id = art.activity_id AND ap.user_id = ? ) AS is_appointment
+		FROM cygx_activity as art
+		INNER JOIN cygx_activity_type  as t ON t.activity_type_id = art.activity_type_id
+		INNER JOIN  chart_permission  AS c ON c.chart_permission_id = art.chart_permission_id ` + sqlJiontable + ` WHERE 1= 1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` LIMIT ?,?`
+	_, err = o.Raw(sql, pars, uid, uid, uid, startSize, pageSize).QueryRows(&items)
+	return
+}

+ 27 - 0
models/article.go

@@ -650,3 +650,30 @@ func UpdateIsClassFail(articleId int) (err error) {
 	_, err = o.Raw(sql, articleId).Exec()
 	return
 }
+
+type SummaryArticleStock struct {
+	Id        int    `description:"新ID"`
+	ArticleId int    `description:"文章id"`
+	Stock     string `description:"个股标签"`
+}
+
+//综述报告
+func GetSummaryArticle(chartPermissionId int) (items []*SummaryArticleStock, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+	* 
+FROM
+	cygx_article AS c
+	INNER JOIN cygx_report_mapping AS m 
+WHERE
+	c.type_name = '综述报告' 
+	AND m.category_id = c.category_id_two 
+	AND m.chart_permission_id = ? ORDER BY last_updated_time DESC `
+
+	_, err = o.Raw(sql, chartPermissionId).QueryRows(&items)
+	return
+}
+
+type SummaryArticleStockResp struct {
+	List []*SummaryArticleStock
+}

+ 6 - 6
models/micro_roadshow.go

@@ -31,10 +31,10 @@ type MicroRoadShowPageList struct {
 }
 
 // GetMicroRoadShowVideoPageList 获取微路演视频列表-分页
-func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string, pars []interface{}, conditionAct string, parsAct []interface{}, conditionAudio string, parsAudio []interface{}, audioId, videoId, activityVideoId int) (total int, list []*MicroRoadShowPageList, err error) {
+func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string, pars []interface{}, conditionAct string, parsAct []interface{}, conditionAudio string, parsAudio []interface{}, audioId, videoId, activityVideoId, filter int) (total int, list []*MicroRoadShowPageList, err error) {
 	o := orm.NewOrm()
 	var sql string
-	if audioId+activityVideoId == 0 {
+	if audioId+activityVideoId == 0 && filter != 2{
 		sql += `SELECT
 			video_id AS id,
 			video_name AS title,
@@ -56,11 +56,11 @@ func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string,
 			sql += condition
 		}
 	}
-	if audioId+videoId+activityVideoId == 0 {
+	if audioId+videoId+activityVideoId == 0 && filter != 2 {
 		sql += `  UNION ALL `
 	}
 
-	if audioId+videoId == 0 {
+	if audioId+videoId == 0 && filter != 2{
 		sql += `
 		SELECT
 			video_id AS id,
@@ -82,11 +82,11 @@ func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string,
 			sql += conditionAct
 		}
 	}
-	if audioId+videoId+activityVideoId == 0 {
+	if audioId+videoId+activityVideoId == 0 && filter == 0 {
 		sql += `  UNION ALL `
 	}
 
-	if videoId+activityVideoId == 0 {
+	if videoId+activityVideoId == 0 && filter != 1 {
 		sql += `
 			SELECT
 			a.activity_voice_id AS id,

+ 9 - 0
routers/commentsRouter.go

@@ -700,6 +700,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ReportController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ReportController"],
+        beego.ControllerComments{
+            Method: "StockNameList",
+            Router: `/home/stockName`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ReportController"] = append(beego.GlobalControllerRouter["hongze/hongze_cygx/controllers:ReportController"],
         beego.ControllerComments{
             Method: "TradeList",

+ 9 - 5
services/micro_roadshow.go

@@ -3,6 +3,7 @@ package services
 import (
 	"encoding/json"
 	"errors"
+	"fmt"
 	"hongze/hongze_cygx/models"
 	"hongze/hongze_cygx/utils"
 )
@@ -162,7 +163,7 @@ func GetHomeNewestList(userId, companyId, startSize, pageSize int, condition str
 }
 
 // GetMicroRoadShowPageList 获取微路演列表添加活动视频 更新与8.1版本
-func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId int, keywords string) (respList []*models.MicroRoadShowPageList, total int, err error) {
+func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activityVideoId, filter int, keywords string) (respList []*models.MicroRoadShowPageList, total int, err error) {
 	var e error
 	// 根据每页数据量获取音视频配比
 	startSize := utils.StartIndex(currentIndex, pageSize)
@@ -174,8 +175,10 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 	//音频的查询
 	var audioCond string
 	var audioPars []interface{}
-	// 如果筛选条件为指定视频ID则不做音频查询
-	if videoId > 0 || activityVideoId > 0 {
+	// 如果筛选条件为指定视频ID或只看视频则不做音频查询
+	fmt.Println("filter:", filter)
+	if videoId > 0 || activityVideoId > 0 || filter == 1{
+		fmt.Println("11111")
 		audioCond = ""
 	} else {
 		// 活动已发布且已结束
@@ -198,7 +201,8 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 	var videoCondAct string
 	var videoPars []interface{}
 	var videoParsAct []interface{}
-	if audioId > 0 {
+	if audioId > 0 || filter == 2{
+		fmt.Println("22222")
 		videoCond = ""
 	} else {
 		if keywords != "" {
@@ -230,7 +234,7 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 		//}
 		videoCond += ` AND publish_status = 1`
 	}
-	total, videoList, e = models.GetMicroRoadShowVideoPageListV8(startSize, pageSize, videoCond, videoPars, videoCondAct, videoParsAct, audioCond, audioPars, audioId, videoId, activityVideoId)
+	total, videoList, e = models.GetMicroRoadShowVideoPageListV8(startSize, pageSize, videoCond, videoPars, videoCondAct, videoParsAct, audioCond, audioPars, audioId, videoId, activityVideoId, filter)
 	if e != nil {
 		err = errors.New("获取微路演音视频列表失败, Err: " + e.Error())
 		return