123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package models
- import (
- "rdluck_tools/orm"
- "strconv"
- )
- type IndustrialManagementRep struct {
- IndustryName string `description:"产业名称"`
- ChartPermissionId int `description:"权限id"`
- RecommendedIndex int `description:"推荐指数"`
- LayoutTime string `description:"布局时间"`
- }
- //产业列表 不置顶
- func GetIndustrialManagementAll(ChartPermissionId, uid int, orderSrt string) (items []*IndustrialManagement, err error) {
- o := orm.NewOrm()
- sql := `SELECT
- man.*,
- art.publish_date AS update_time,(
- SELECT COUNT( 1 ) FROM cygx_article_history_record AS rec WHERE rec.user_id = ` + strconv.Itoa(uid) + ` AND rec.article_id = art.article_id ) AS readnum
- FROM
- cygx_industrial_management AS man
- INNER JOIN cygx_report_mapping AS re ON re.chart_permission_id = man.chart_permission_id
- INNER JOIN cygx_industrial_article_group_management AS man_g ON man_g.industrial_management_id = man.industrial_management_id
- INNER JOIN cygx_article AS art ON art.article_id = man_g.article_id
- WHERE
- man.chart_permission_id = ?
- 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
- GROUP BY
- man.industry_name
- ORDER BY ` + orderSrt
- _, err = o.Raw(sql, ChartPermissionId).QueryRows(&items)
- return
- }
- //产业列表 -置顶
- func GetIndustrialManagementTopAll(ChartPermissionId, uid int) (items []*IndustrialManagement, err error) {
- o := orm.NewOrm()
- sql := `SELECT
- man.*
- FROM
- cygx_industrial_management AS man
- INNER JOIN cygx_industry_top as top ON man.industrial_management_id = top.industrial_management_id
- INNER JOIN cygx_report_mapping AS re ON re.chart_permission_id = man.chart_permission_id
- INNER JOIN cygx_industrial_article_group_management AS man_g ON man_g.industrial_management_id = man.industrial_management_id
- INNER JOIN cygx_article AS art ON art.article_id = man_g.article_id
- WHERE
- man.chart_permission_id = ` + strconv.Itoa(ChartPermissionId) + `
- AND top.user_id = ` + strconv.Itoa(uid) + `
- AND re.report_type = 2
- AND art.is_report = 1
- AND art.is_class = 1
- GROUP BY
- man.industry_name
- ORDER BY
- top.create_time DESC`
- _, err = o.Raw(sql).QueryRows(&items)
- return
- }
- //标的列表
- func GetIndustrialSubjectAll(IndustrialManagementId int) (items []*IndustrialSubject, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM cygx_industrial_subject WHERE industrial_management_id = ? `
- _, err = o.Raw(sql, IndustrialManagementId).QueryRows(&items)
- return
- }
- //分析师列表
- func GetIndustrialAnalystAll(IndustrialManagementId int) (items []*IndustrialAnalyst, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM cygx_industrial_analyst where industrial_management_id = ? `
- _, err = o.Raw(sql, IndustrialManagementId).QueryRows(&items)
- return
- }
- //获取产业数量
- func GetIndustrialManagementCount(IndustrialManagementId int) (count int, err error) {
- sqlCount := ` SELECT COUNT(1) AS count FROM cygx_industrial_management WHERE industrial_management_id=? `
- o := orm.NewOrm()
- err = o.Raw(sqlCount, IndustrialManagementId).QueryRow(&count)
- return
- }
- func GetIndustrialManagementDetail(industrialManagementId int) (items *IndustrialManagementRep, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM cygx_industrial_management WHERE industrial_management_id = ?`
- err = o.Raw(sql, industrialManagementId).QueryRow(&items)
- return
- }
- //获取该产业下最新的文章详情
- func GetIndustrialNewArticleDetail(industrialManagementId int) (item *ArticleDetail, err error) {
- o := orm.NewOrm()
- sql := `SELECT
- *
- FROM
- cygx_article
- WHERE
- article_id IN ( SELECT article_id FROM cygx_industrial_article_group_management WHERE industrial_management_id = ? )
- ORDER BY
- publish_date DESC
- LIMIT 0,1`
- err = o.Raw(sql, industrialManagementId).QueryRow(&item)
- return
- }
|