package models import ( "github.com/beego/beego/v2/client/orm" "github.com/rdlucklib/rdluck_tools/paging" "strconv" "time" ) type Tactics struct { ArticleId int `description:"文章id"` Title string `description:"标题"` TitleEn string `description:"英文标题"` UpdateFrequency string `description:"更新周期"` PublishDate time.Time `description:"发布时间"` PublishStatus int `description:"发布状态"` Department string `description:"作者"` Body string `description:"内容"` Abstract string `description:"摘要"` Annotation string `description:"注解"` CategoryName string `description:"分类"` SubCategoryName string `description:"子级分类"` CategoryId int `description:"分类id"` CreateDate string `description:"创建日期"` } func GetTacticsList(endDate string) (list []*Tactics, err error) { o := orm.NewOrmUsingDB("tactics") sql := `SELECT a.*,b.body,b.abstract,b.annotation,b.article_id,d.category_name,d.sub_category_name,c.category_id FROM article_articleinfo AS a INNER JOIN article_content AS b ON a.id=b.article_id INNER JOIN article_category AS c ON a.id=c.article_id INNER JOIN article_categoryinfo AS d ON c.category_id=d.id WHERE a.publish_status=1 AND a.publish_date>=? AND d.id IN (28,32,45,57,62,72,74,79,84,86,88,90,93,95,96,98) AND a.id NOT IN (3454,3456,3457,3459,2449,2450,2453,2454,2459,2530,2583,2663,2670,2699,2715,2732,2748,2759,2399,2356,2870,3173,2978,2826,3470) ` _, err = o.Raw(sql, endDate).QueryRows(&list) return } func GetTacticsListAll() (list []*Tactics, err error) { o := orm.NewOrmUsingDB("tactics") sql := `SELECT a.*,b.body,b.abstract,b.annotation,b.article_id,d.category_name,d.sub_category_name,c.category_id FROM article_articleinfo AS a INNER JOIN article_content AS b ON a.id=b.article_id INNER JOIN article_category AS c ON a.id=c.article_id INNER JOIN article_categoryinfo AS d ON c.category_id=d.id WHERE a.publish_status=1 AND d.id IN (28,32,45,57,62,72,74,79,84,86,88,90,93,95,96,98) AND a.id NOT IN (3454,3456,3457,3459,2449,2450,2453,2454,2459,2530,2583,2663,2670,2699,2715,2732,2748,2759,2399,2356,2870,3173,2978,2826,3470) ` //IN(85,71) _, err = o.Raw(sql).QueryRows(&list) return } func GetCygxArticleListAll() (list []*Tactics, err error) { o := orm.NewOrm() sql := `SELECT * FROM cygx_article ` _, err = o.Raw(sql).QueryRows(&list) return } type Tactics2 struct { ArticleId int `description:"文章id"` Title string `description:"标题"` TitleEn string `description:"英文标题"` UpdateFrequency string `description:"更新周期"` PublishDate time.Time `description:"发布时间"` PublishStatus int `description:"发布状态"` Department string `description:"作者"` Body string `description:"内容"` Abstract string `description:"摘要"` Annotation string `description:"注解"` CategoryName string `description:"分类"` SubCategoryName string `description:"子级分类"` CategoryId int `description:"分类id"` CategoryIdTwo int `description:"分类id"` CreateDate string `description:"创建日期"` IsClass int `description:"是否归类,1是,0否"` IsSummary int `description:"是否是纪要库,1是,0否"` IsReport int `description:"是否属于报告,1是,0否"` ReportType int `description:"报告类型,1行业报告,2产业报告,0无"` Stock string `description:"个股标签"` FieldName string `description:"产业标签"` SeriesName string `description:"系列名称"` File string `description:"Pdf下载链接"` TypeName string `description:"策略平台报告类型"` UpdateDate string `description:"策略平台报告更新时间"` CeLueFieldId int `description:"策略平台领域ID"` Cover string `description:"封面图片"` } func GetTacticsList2(endDate string) (list []*Tactics2, err error) { o := orm.NewOrmUsingDB("tactics") sql := `SELECT a.*,b.body,b.abstract,b.annotation,b.article_id,d.category_name,d.sub_category_name,c.category_id FROM article_articleinfo AS a INNER JOIN article_content AS b ON a.id=b.article_id INNER JOIN article_category AS c ON a.id=c.article_id INNER JOIN article_categoryinfo AS d ON c.category_id=d.id WHERE a.publish_status=1 AND a.publish_date>=? AND d.id IN (7,9,11,28,32,45,51,52,57,62,64,65,66,67,69,71,72,74,79,80,84,85,86,87,88,89,90,93,95,96,98,100,102)` //AND a.id NOT IN (3454,3456,3457,3459,2449,2450,2453,2454,2459,2530,2583,2663,2670,2699,2715,2732,2748,2759,2399,2356,2870,3173,2978,2826,3470) ` //IN(85,71) _, err = o.Raw(sql, endDate).QueryRows(&list) return } func GetTacticsListAll2() (list []*Tactics2, err error) { o := orm.NewOrmUsingDB("tactics") sql := `SELECT a.*,b.body,b.abstract,b.annotation,b.article_id,d.category_name,d.sub_category_name,c.category_id FROM article_articleinfo AS a INNER JOIN article_content AS b ON a.id=b.article_id INNER JOIN article_category AS c ON a.id=c.article_id INNER JOIN article_categoryinfo AS d ON c.category_id=d.id WHERE a.publish_status=1 AND d.id IN (7,9,11,28,32,45,51,52,57,62,64,65,66,67,69,71,72,74,79,80,84,85,86,87,88,89,90,93,95,96,98,100) ` //AND a.id NOT IN (3454,3456,3457,3459,2449,2450,2453,2454,2459,2530,2583,2663,2670,2699,2715,2732,2748,2759,2399,2356,2870,3173,2978,2826,3470) ` //IN(85,71) _, err = o.Raw(sql).QueryRows(&list) return } type TacticsListResp struct { Paging *paging.PagingItem MatchTypeName string `description:"匹配类型"` ChartPermissionId int `description:"行业ID"` CategoryImgUrlPc string `description:"图片"` IsShowAbstract bool `description:"是否展示摘要"` List []*ReportArticle } type TacticsListZhouqiResp struct { Paging *paging.PagingItem MatchTypeName string `description:"匹配类型"` ChartPermissionId int `description:"行业ID"` CategoryImgUrlPc string `description:"图片"` IsShowAbstract bool `description:"是否展示摘要"` List []*HomeArticle } func GetReportTacticsList(condition string, pars []interface{}, userId, startSize, pageSize int) (items []*ReportArticle, err error) { o := orm.NewOrm() sql := ` SELECT * ,(SELECT COUNT(1) FROM cygx_article_history_record AS rec WHERE rec.user_id = ` + strconv.Itoa(userId) + ` AND rec.article_id=a.article_id) AS readnum FROM cygx_article AS a WHERE a.publish_status=1 ` if condition != "" { sql += condition } sql += ` ORDER BY publish_date DESC LIMIT ?,? ` _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items) return } type TimeLineReportListResp struct { Paging *paging.PagingItem MatchTypeName string `description:"匹配类型"` CategoryImgUrlPc string `description:"图片"` List []*TimeLineReportItem }