package models import "rdluck_tools/orm" type ReportMapping struct { CategoryId int `description:"分类ID"` SubCategoryName string `description:"权限名称"` IsRed bool `description:"是否标红"` } type ReportMappingHome struct { CategoryId int `description:"分类ID"` SubCategoryName string `description:"权限名称"` IsRed bool `description:"是否标红"` Readnum int `description:"阅读数量"` } type TradeReportMapping struct { CategoryId int `description:"分类ID"` SubCategoryName string `description:"权限名称"` IsRed bool `description:"是否标红"` UpdateTime string `description:"更新时间"` Readnum int `description:"阅读数量"` } type ReportMappingResp struct { List []*ReportMapping } type ReportMappingHomeResp struct { List []*ReportMappingHome } type TradeReportMappingResp struct { List []*TradeReportMapping } //获取策略下面的所有分类 func GetReportMappingStrategyAll() (items []*ReportMapping, err error) { o := orm.NewOrm() sql := `SELECT * FROM cygx_report_mapping WHERE report_type=1 AND chart_permission_id=23 ORDER BY sort ASC ` _, err = o.Raw(sql).QueryRows(&items) return } //获取策略下面的所有分类 func GetReportMappingStrategyHomeAll(uid int) (items []*ReportMappingHome, err error) { o := orm.NewOrm() sql := `SELECT re.category_id,re.sub_category_name, ( SELECT COUNT( 1 ) FROM cygx_article_history_record AS rec WHERE rec.user_id = ? AND rec.article_id = art.article_id ) AS readnum FROM cygx_report_mapping AS re INNER JOIN cygx_article AS art ON art.category_id = re.category_id WHERE re.report_type = 1 AND re.chart_permission_id = 23 GROUP BY re.match_type_name ORDER BY sort DESC , art.publish_date DESC` _, err = o.Raw(sql, uid).QueryRows(&items) return } //行业列表 func GetTradeAll(uid, ChartPermissionId int) (items []*TradeReportMapping, err error) { o := orm.NewOrm() //sql := `SELECT * FROM cygx_report_mapping WHERE chart_permission_id = ? AND report_type = 1;` sql := `SELECT art.article_id,art.publish_date as update_time ,re.category_id,re.sub_category_name,( SELECT COUNT( 1 ) FROM cygx_article_history_record AS rec WHERE rec.user_id = ? AND rec.article_id = art.article_id ) AS readnum FROM cygx_report_mapping as re INNER JOIN cygx_article as art ON re.category_id = art.category_id WHERE re.chart_permission_id = ? AND re.report_type = 1 ORDER BY art.publish_date DESC LIMIT 0,1` _, err = o.Raw(sql, uid, ChartPermissionId).QueryRows(&items) return } type IndustrialToArticleCategoryRep struct { CategoryId int `description:"分类ID"` MatchTypeName string `description:"权限名称"` IsRed bool `description:"是否标红"` } type IndustrialToArticleCategoryListRep struct { LayoutTime string `description:"布局时间"` IndustryName string `description:"产业名称"` List []*IndustrialToArticleCategoryRep } //产业下所关联的文章分类列表 func IndustrialToArticleCategory(industrialManagementId int) (items []*IndustrialToArticleCategoryRep, err error) { o := orm.NewOrm() sql := `SELECT map.match_type_name,map.category_id FROM cygx_report_mapping AS map INNER JOIN cygx_article AS art ON art.category_id = map.category_id INNER JOIN cygx_industrial_article_group_management AS man_g ON man_g.article_id = art.article_id WHERE map.report_type = 2 AND man_g.industrial_management_id =? GROUP BY map.match_type_name` _, err = o.Raw(sql, industrialManagementId).QueryRows(&items) return }