Sfoglia il codice sorgente

报告的,新和深的标签搜索

xingzai 3 anni fa
parent
commit
96535e825b

+ 35 - 6
controllers/report.go

@@ -73,6 +73,9 @@ func (this *ReportController) TradeList() {
 // @Title 产业报告分类列表接口
 // @Description 获取产业报告分类列表接口
 // @Param   ChartPermissionId   query   int  true       "分类ID"
+// @Param   IsNewLabel   query   string  true       "是否属于新标签,1是,0否"
+// @Param   IsDeepLabel   query   string  true       "是否属于深标签,1是,0否"
+// @Param   KeyWord   query   string  true       "搜索关键词"
 // @Param   OrderColumn   query   int  true       "排序字段 ,NewTime 最近更新 ,Recommend弘则推荐"
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
@@ -92,8 +95,12 @@ func (this *ReportController) IndustryList() {
 	}
 	uid := user.UserId
 	var orderSrt string
+	var condition string
 	ChartPermissionId, _ := this.GetInt("ChartPermissionId")
 	orderColumn := this.GetString("OrderColumn")
+	isNewLabel := this.GetString("IsNewLabel")
+	isDeepLabel := this.GetString("IsDeepLabel")
+	keyWord := this.GetString("KeyWord")
 	pageSize, _ := this.GetInt("PageSize")
 	currentIndex, _ := this.GetInt("CurrentIndex")
 	var startSize int
@@ -104,17 +111,39 @@ func (this *ReportController) IndustryList() {
 		currentIndex = 1
 	}
 	startSize = paging.StartIndex(currentIndex, pageSize)
+
+	if isNewLabel != "" {
+		condition += ` AND is_new_label = ` + isNewLabel
+	}
+	if isDeepLabel != "" {
+		condition += ` AND is_deep_label = ` + isDeepLabel
+	}
+	if keyWord != "" {
+		keyWordArr, err := services.GetIndustryMapNameSliceV2(keyWord)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+			return
+		}
+		keyWordArr = services.RemoveDuplicatesAndEmpty(keyWordArr)
+		keyWordLen := len(keyWordArr)
+		if keyWordLen <= 0 {
+			keyWordArr = append(keyWordArr, keyWord)
+			keyWordLen = len(keyWordArr)
+		}
+
+	}
 	resp := new(models.IndustrialManagementList)
 	var total int
 	var list []*models.IndustrialManagement
-	totalTopList, errTop := models.GetIndustrialManagemenCountTop(ChartPermissionId, uid)
+	totalTopList, errTop := models.GetIndustrialManagemenCountTop(ChartPermissionId, uid, condition)
 	totalTop := len(totalTopList)
 	if errTop != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取品种信息失败,Err:" + errTop.Error()
 		return
 	}
-	totalNoTopList, errNoTop := models.GetIndustrialManagemenCountNoTop(ChartPermissionId, uid)
+	totalNoTopList, errNoTop := models.GetIndustrialManagemenCountNoTop(ChartPermissionId, uid, condition)
 	totalNoTop := len(totalNoTopList)
 	if errNoTop != nil {
 		br.Msg = "获取信息失败"
@@ -138,7 +167,7 @@ func (this *ReportController) IndustryList() {
 	fmt.Println(orderSrt)
 	//全部都是置顶
 	if totalTop >= currentIndex*pageSize {
-		listTop, err := models.GetIndustrialManagementTopAll(ChartPermissionId, uid, startSize, pageSize)
+		listTop, err := models.GetIndustrialManagementTopAll(ChartPermissionId, uid, condition, startSize, pageSize)
 		for k, _ := range listTop {
 			listTop[k].IsTop = true
 		}
@@ -149,7 +178,7 @@ func (this *ReportController) IndustryList() {
 		}
 		list = listTop
 	} else if totalTop < (currentIndex-1)*pageSize { //全部都是不置顶
-		listNoTop, err := models.GetIndustrialManagementAll(ChartPermissionId, uid, orderSrt, startSize-totalTop, pageSize)
+		listNoTop, err := models.GetIndustrialManagementAll(ChartPermissionId, uid, condition, orderSrt, startSize-totalTop, pageSize)
 		if err != nil {
 			br.Msg = "获取信息失败"
 			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
@@ -157,7 +186,7 @@ func (this *ReportController) IndustryList() {
 		}
 		list = listNoTop
 	} else { //部分置顶,部分不置顶
-		listTop, err := models.GetIndustrialManagementTopAll(ChartPermissionId, uid, startSize, pageSize)
+		listTop, err := models.GetIndustrialManagementTopAll(ChartPermissionId, uid, condition, startSize, pageSize)
 		if err != nil {
 			br.Msg = "获取信息失败"
 			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
@@ -166,7 +195,7 @@ func (this *ReportController) IndustryList() {
 		for k, _ := range listTop {
 			listTop[k].IsTop = true
 		}
-		listNoTop, err := models.GetIndustrialManagementAll(ChartPermissionId, uid, orderSrt, 0, pageSize-len(listTop))
+		listNoTop, err := models.GetIndustrialManagementAll(ChartPermissionId, uid, condition, orderSrt, 0, pageSize-len(listTop))
 		if err != nil {
 			br.Msg = "获取信息失败"
 			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()

+ 43 - 8
models/industrial_management.go

@@ -19,15 +19,16 @@ type IndustrialManagementCount struct {
 }
 
 //获取产业置顶数量分类列表
-func GetIndustrialManagemenCountTop(ChartPermissionId, uid int) (items []*IndustrialManagementCount, err error) {
+func GetIndustrialManagemenCountTop(ChartPermissionId, uid int, condition string) (items []*IndustrialManagementCount, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			man_g.industrial_management_id 
 			FROM
 			cygx_industrial_article_group_management AS man_g
+			INNER JOIN cygx_industrial_management as man ON man.industrial_management_id = man_g.industrial_management_id
 			WHERE
 			man_g.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industrial_management WHERE chart_permission_id = ? ) 
-			AND man_g.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industry_top WHERE user_id = ? ) 
+			AND man_g.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industry_top WHERE user_id = ? ) ` + condition + `
 			GROUP BY
 			man_g.industrial_management_id`
 	_, err = o.Raw(sql, ChartPermissionId, uid).QueryRows(&items)
@@ -35,15 +36,16 @@ func GetIndustrialManagemenCountTop(ChartPermissionId, uid int) (items []*Indust
 }
 
 //获取产业不置顶数量
-func GetIndustrialManagemenCountNoTop(ChartPermissionId, uid int) (items []*IndustrialManagementCount, err error) {
+func GetIndustrialManagemenCountNoTop(ChartPermissionId, uid int, condition string) (items []*IndustrialManagementCount, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			man_g.industrial_management_id 
 			FROM
 			cygx_industrial_article_group_management AS man_g
+			INNER JOIN cygx_industrial_management as man ON man.industrial_management_id = man_g.industrial_management_id
 			WHERE
 			man_g.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industrial_management WHERE chart_permission_id = ? ) 
-			AND man_g.industrial_management_id NOT IN ( SELECT industrial_management_id FROM cygx_industry_top WHERE user_id = ? ) 
+			AND man_g.industrial_management_id NOT IN ( SELECT industrial_management_id FROM cygx_industry_top WHERE user_id = ? ) ` + condition + `
 			GROUP BY
 			man_g.industrial_management_id`
 	_, err = o.Raw(sql, ChartPermissionId, uid).QueryRows(&items)
@@ -51,7 +53,7 @@ func GetIndustrialManagemenCountNoTop(ChartPermissionId, uid int) (items []*Indu
 }
 
 //产业列表 不置顶
-func GetIndustrialManagementAll(ChartPermissionId, uid int, orderSrt string, startSize, pageSize int) (items []*IndustrialManagement, err error) {
+func GetIndustrialManagementAll(ChartPermissionId, uid int, condition, orderSrt string, startSize, pageSize int) (items []*IndustrialManagement, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			man.*,
@@ -67,7 +69,7 @@ func GetIndustrialManagementAll(ChartPermissionId, uid int, orderSrt string, sta
 			AND man.industrial_management_id NOT IN ( SELECT industrial_management_id FROM cygx_industry_top WHERE user_id = ` + strconv.Itoa(uid) + ` ) 
 			AND re.report_type = 2 
 			AND art.is_report = 1
-			AND art.is_class = 1
+			AND art.is_class = 1 ` + condition + `
 			GROUP BY
 			man.industry_name 
 			ORDER BY ` + orderSrt + ` LIMIT ?,?`
@@ -79,7 +81,7 @@ func GetIndustrialManagementAll(ChartPermissionId, uid int, orderSrt string, sta
 }
 
 //产业列表 -置顶
-func GetIndustrialManagementTopAll(ChartPermissionId, uid, startSize, pageSize int) (items []*IndustrialManagement, err error) {
+func GetIndustrialManagementTopAll(ChartPermissionId, uid int, condition string, startSize, pageSize int) (items []*IndustrialManagement, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			man.*
@@ -94,7 +96,7 @@ func GetIndustrialManagementTopAll(ChartPermissionId, uid, startSize, pageSize i
 			AND top.user_id = ` + strconv.Itoa(uid) + `
 			AND re.report_type = 2 
 			AND art.is_report = 1
-			AND art.is_class = 1
+			AND art.is_class = 1 ` + condition + `
 			GROUP BY
 			man.industry_name 
 			ORDER BY
@@ -197,3 +199,36 @@ func UpdateIndustrialIsDeepLabel(idStr string) (err error) {
 	_, err = o.Raw(msql).Exec()
 	return
 }
+
+type IndustrialManagementIdInt struct {
+	IndustrialManagementId int    `description:"产业Id"`
+	IndustryName           string `description:"产业名称"`
+}
+
+//获取归类产业报告数量大于10的
+func GetIndustrialManagementIds() (items []*IndustrialManagementIdInt, err error) {
+	o := orm.NewOrm()
+	//sql := `SELECT a.industrial_management_id FROM
+	//		cygx_industrial_management AS a
+	//		INNER JOIN cygx_industrial_subject as b ON b.industrial_management_id=a.industrial_management_id
+	//		WHERE b.industrial_subject_id > 0
+	//		GROUP BY a.industrial_management_id `
+
+	sql := `SELECT industrial_management_id,industry_name FROM cygx_industrial_management `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+func GetcygxIndustrialSubject(industrialManagementId int) (items []*IndustrialSubject, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT subject_name FROM cygx_industrial_subject  WHERE industrial_management_id = ?`
+	_, err = o.Raw(sql, industrialManagementId).QueryRows(&items)
+	return
+}
+
+func UpdateIndustrialManagementSubjectNames(nameStr string, industrialManagementId int) (err error) {
+	o := orm.NewOrm()
+	sql := `UPDATE cygx_industrial_management SET subject_names = ? WHERE industrial_management_id = ?`
+	_, err = o.Raw(sql, nameStr, industrialManagementId).Exec()
+	return
+}

+ 35 - 0
services/industrial_management.go

@@ -35,3 +35,38 @@ func UpdateIndustrialManagementLabel() (err error) {
 	fmt.Println("修改状态完成")
 	return
 }
+
+//修改活动状态
+func UpdateIndustrialManagementSubjectNnames() (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println("修改失败,Err:", err.Error())
+		}
+	}()
+	fmt.Println("修改产业关联标的")
+	list, err := models.GetIndustrialManagementIds()
+	if err != nil {
+		return err
+	}
+	for _, v := range list {
+		//fmt.Println(v.IndustrialManagementId)
+		var nameSub string
+		listSub, errdSub := models.GetcygxIndustrialSubject(v.IndustrialManagementId)
+		if errdSub != nil {
+			return errdSub
+		}
+		for _, v2 := range listSub {
+			fmt.Println(v2.SubjectName)
+			nameSub += v2.SubjectName + ","
+		}
+		nameSub += v.IndustryName
+		go models.UpdateIndustrialManagementSubjectNames(nameSub, v.IndustrialManagementId)
+
+	}
+	if len(list) == 0 {
+		return
+	}
+
+	fmt.Println("修改状态完成")
+	return
+}

+ 7 - 5
services/task.go

@@ -32,12 +32,14 @@ func Task() {
 	//toolbox.AddTask("updateActivitySattus", updateActivitySattus)
 	//SyncTacticsListAddreport()
 	//UpdateActivitySattus()
-	updateActivitySattus := toolbox.NewTask("syncTacticsListAddreport", "0 */1 * * * *", UpdateActivitySattus)
-	toolbox.AddTask("updateActivitySattus", updateActivitySattus)
+	//updateActivitySattus := toolbox.NewTask("syncTacticsListAddreport", "0 */1 * * * *", UpdateActivitySattus)
+	//toolbox.AddTask("updateActivitySattus", updateActivitySattus)
+	//
+	//updateIndustrialManagementLabel := toolbox.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
+	//toolbox.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
 
-	updateIndustrialManagementLabel := toolbox.NewTask("updateIndustrialManagementLabel", "0 */30 * * * *", UpdateIndustrialManagementLabel)
-	toolbox.AddTask("updateIndustrialManagementLabel", updateIndustrialManagementLabel)
-	toolbox.StartTask()
+	//UpdateIndustrialManagementSubjectNnames()
+	//toolbox.StartTask()
 
 	//if utils.RunMode == "debug" {
 	//	//syncTacticsList := toolbox.NewTask("syncTacticsList", "0 */5 * * * *", SyncTacticsList)