123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- package models
- import (
- "github.com/beego/beego/v2/client/orm"
- "github.com/rdlucklib/rdluck_tools/paging"
- "time"
- )
- type CygxResourceData struct {
- Id int `orm:"column(id);pk"`
- ChartPermissionId int `description:"行业ID"`
- SourceId int `description:"资源ID"`
- Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
- Title string `description:"标题"`
- Annotation string `description:"核心观点"`
- CreateTime time.Time `description:"创建时间"`
- PublishDate string `description:"发布时间"`
- Abstract string `description:"摘要"`
- SearchTag string `description:"搜索标签"`
- SearchTitle string `description:"搜索匹配用的标题"`
- SearchContent string `description:"搜索匹配用的内容"`
- SearchOrderTime string `description:"搜索排序时间"`
- }
- type CygxResourceDataResp struct {
- Id int `orm:"column(id);pk"`
- BodyHighlight []string `description:"搜索高亮展示结果"`
- IsSummary int `description:"是否是纪要"`
- SourceId int `description:"资源ID"`
- Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
- PublishDate string `description:"发布时间"`
- Article *HomeArticle `description:"文章"`
- Roadshow *MicroRoadShowPageList `description:"微路演"`
- Activity *ActivityDetail `description:"活动"`
- Activityvideo *MicroRoadShowPageList `description:"活动视频"`
- Activityvoice *MicroRoadShowPageList `description:"活动音频"`
- Activityspecial *CygxActivitySpecialDetail `description:"专项调研活动"`
- Researchsummary *CygxReportSelectionRep `description:"本周研究汇总"`
- Minutessummary *CygxReportSelectionRep `description:"上周纪要汇总"`
- Meetingreviewchapt *CygxMorningMeetingGatherDetailListResp `description:"晨会精华"`
- ProductInterior *CygxProductInteriorResp `description:"产品内测"`
- IndustrialResource *IndustrialManagementHotResp `description:"产业资源包"`
- ReportSelection *CygxReportSelectionRep `description:"重点公司(原报告精选)"`
- YanxuanSpecial *CygxYanxuanSpecialCenterResp `description:"研选专栏"`
- AskserieVideo *MicroRoadShowPageList `description:"活动音频"`
- YanxuanSpecialAuthor *CygxYanxuanSpecialAuthorItem `description:"活动音频"`
- }
- // Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
- type HomeResourceDataListResp struct {
- Paging *paging.PagingItem
- List []*CygxResourceDataResp `description:"列表"`
- }
- // 列表
- func GetResourceDataList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxResourceData, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM cygx_resource_data WHERE 1= 1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY publish_date DESC , id DESC LIMIT ?,? `
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
- return
- }
- // 获取用户报名成功数量
- func GetResourceDataCount(condition string, pars []interface{}) (count int, err error) {
- sqlCount := `SELECT COUNT(1) AS count FROM cygx_resource_data WHERE 1= 1 ` + condition
- o := orm.NewOrm()
- err = o.Raw(sqlCount, pars).QueryRow(&count)
- return
- }
- // 获取首页最新表,与研选专栏作者表的数量
- func GetResourceDataAndYanxuanSpecialAuthorCount(condition string, pars []interface{}, conditionContentYxAuthor string, parsContentYxAuthor []interface{}) (count int, err error) {
- sqlCount := `SELECT
- COUNT( 1 ) total FROM
- ( SELECT id FROM cygx_resource_data WHERE 1 = 1 ` + condition + `
- UNION ALL
- SELECT id FROM cygx_yanxuan_special_author WHERE 1 = 1 ` + conditionContentYxAuthor + `
- ) z`
- o := orm.NewOrm()
- err = o.Raw(sqlCount, pars, parsContentYxAuthor).QueryRow(&count)
- return
- }
- // 添加
- func AddCygxResourceData(item *CygxResourceData) (lastId int64, err error) {
- o := orm.NewOrm()
- lastId, err = o.Insert(item)
- return
- }
- // 删除数据
- func DeleteResourceData(sourceId int, source string) (err error) {
- o := orm.NewOrm()
- sql := ` DELETE FROM cygx_resource_data WHERE source_id = ? AND source =? `
- _, err = o.Raw(sql, sourceId, source).Exec()
- return
- }
- // 修改数据
- func UpdateResourceData(sourceId int, source, publishDate string) (err error) {
- o := orm.NewOrm()
- sql := `UPDATE cygx_resource_data SET publish_date=? WHERE source_id=? AND source =? `
- _, err = o.Raw(sql, publishDate, sourceId, source).Exec()
- return
- }
- // 修改
- func UpdateResourceDataByItem(item *CygxResourceData) (err error) {
- o := orm.NewOrm()
- updateParams := make(map[string]interface{})
- updateParams["PublishDate"] = item.PublishDate
- updateParams["SearchTag"] = item.SearchTag
- ptrStructOrTableName := "cygx_resource_data"
- whereParam := map[string]interface{}{"source_id": item.SourceId, "source": item.Source}
- qs := o.QueryTable(ptrStructOrTableName)
- for expr, exprV := range whereParam {
- qs = qs.Filter(expr, exprV)
- }
- _, err = qs.Update(updateParams)
- if err != nil {
- return
- }
- return
- }
- // 批量删除
- func DeleteResourceDataList(condition string, pars []interface{}) (err error) {
- if condition == "" {
- return
- }
- o := orm.NewOrm()
- sql := `DELETE FROM cygx_resource_data WHERE 1=1 ` + condition
- _, err = o.Raw(sql, pars).Exec()
- return
- }
- // 获取数量
- func GetCygxReportSelectionBySourceAndId(sourceId int, source string) (count int, err error) {
- o := orm.NewOrm()
- sqlCount := ` SELECT COUNT(1) AS count FROM cygx_resource_data WHERE source_id = ? AND source =? `
- err = o.Raw(sqlCount, sourceId, source).QueryRow(&count)
- return
- }
- // 通过ID跟资源获取详情
- func GetCygxResourceDataByIdAndSource(sourceId int, source string) (item *CygxResourceData, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM cygx_resource_data WHERE source_id = ? AND source =? `
- err = o.Raw(sql, sourceId, source).QueryRow(&item)
- return
- }
- // 获取数量
- func GetCygxResourceDataBySourceAndIdCount(sourceId int, source string) (count int, err error) {
- o := orm.NewOrm()
- sqlCount := ` SELECT COUNT(1) AS count FROM cygx_resource_data WHERE source_id = ? AND source =? `
- err = o.Raw(sqlCount, sourceId, source).QueryRow(&count)
- return
- }
- // 列表
- func GetResourceDataListCondition(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxResourceData, err error) {
- o := orm.NewOrm()
- sql := `SELECT * FROM cygx_resource_data WHERE 1= 1 `
- if condition != "" {
- sql += condition
- }
- sql += ` ORDER BY search_order_time DESC LIMIT ?,? `
- _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
- return
- }
- // 获取首页最新表,与研选专栏作者表的列表
- func GetResourceDataAndYanxuanSpecialAuthorListCondition(condition string, pars []interface{}, conditionContentYxAuthor string, parsContentYxAuthor []interface{}, startSize, pageSize int) (items []*CygxResourceData, err error) {
- o := orm.NewOrm()
- sql := `SELECT
- title,
- publish_date,
- abstract,
- annotation,
- source_id,
- source,
- create_time,
- search_tag,
- search_order_time
- FROM
- cygx_resource_data
- WHERE
- 1 = 1 ` + condition + `
- UNION ALL
- SELECT
- '' AS title,
- '' AS publish_date,
- '' AS abstract,
- '' AS annotation,
- id AS source_id,
- 'yanxuanspecialauthor',
- '' AS create_time,
- '' AS search_tag,
- modify_time AS search_order_time
- FROM
- cygx_yanxuan_special_author
- WHERE
- 1 = 1 ` + conditionContentYxAuthor
- sql += ` ORDER BY search_order_time DESC LIMIT ?,? `
- _, err = o.Raw(sql, pars, parsContentYxAuthor, startSize, pageSize).QueryRows(&items)
- return
- }
|