resource_data.go 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "time"
  6. )
  7. type CygxResourceData struct {
  8. Id int `orm:"column(id);pk"`
  9. SourceId int `description:"资源ID"`
  10. Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
  11. Title string `description:"标题"`
  12. Annotation string `description:"核心观点"`
  13. CreateTime time.Time `description:"创建时间"`
  14. PublishDate string `description:"发布时间"`
  15. Abstract string `description:"摘要"`
  16. SearchTag string `description:"搜索标签"`
  17. }
  18. type CygxResourceDataResp struct {
  19. Id int `orm:"column(id);pk"`
  20. SourceId int `description:"资源ID"`
  21. Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
  22. Title string `description:"标题"`
  23. IsResearch bool `description:"是否属于研选"`
  24. BodyImg string `description:"文章封面图片"`
  25. Pv int `description:"PV"`
  26. Annotation string `description:"核心观点"`
  27. PublishDate string `description:"发布时间"`
  28. Abstract string `description:"摘要"`
  29. IsTop bool `description:"是否置顶"`
  30. IsCollection bool `description:"是否收藏 "`
  31. BackgroundImg string `description:"背景图"`
  32. City string `description:"城市"`
  33. IsSignup int `description:"是否已报名 1是 ,0 否"`
  34. IsAppointment int `description:"是否已预约纪要 1是 ,0 否"`
  35. IsCancelMeetingReminder int `description:"是否添加了消息消息提醒 1是 ,0 否"`
  36. ActiveState string `description:"活动进行状态 未开始:1、进行中2、已结束3"`
  37. ImgUrl string `description:"行业图片链接"`
  38. ImgUrlText string `description:"活动类型图片链接"`
  39. ActivityType int `description:"活动线上线下类型 1线上,0 线下,2线下"`
  40. IsShowOutboundCall bool `description:"是否展示预约外呼"`
  41. IsShowMeetingReminder bool `description:"是否展示会议提醒"`
  42. IsShowHelpSsk bool `description:"是否展示帮我带问"`
  43. IsShowSignup bool `description:"是否展示我要报名"`
  44. IsShowAppointment bool `description:"是否展示预约纪要"`
  45. IsLimitPeople int `description:"是否限制人数 1是,0否"`
  46. IsShowDetails bool `description:"是否展示查看详情按钮"`
  47. YidongActivityUrl string `description:"易董活动跳转地址"`
  48. IsYidongActivity bool `description:"是否属于易董同步过来的活动"`
  49. TripStatus int `description:"行程进行状态 1:预报名,2:确定行程"`
  50. IsTrip int `description:"确定行程是否报名 1是 ,0 否"`
  51. ActivityTimeText string `description:"活动预期时间带文字"`
  52. TripImgLink string `description:"行程图片链接"`
  53. ChartPermissionId int `description:"权限id"`
  54. Expert string `description:"专家"`
  55. Speaker string `description:"主讲人"`
  56. DistinguishedGuest string `description:"嘉宾"`
  57. ActivityTime string `description:"活动预期时间"`
  58. ResourceUrl string `description:"链接"`
  59. AuthInfo *UserPermissionAuthInfo
  60. VoiceDetail *CygxActivityVoiceReq `description:"音频数据"`
  61. VideoDetail *CygxActivityVideoListResp `description:"视频数据"`
  62. AudioLink bool `description:"是否展示回放按钮"`
  63. FileType int `description:"类型: 1-音频; 2-视频"`
  64. SignupType int `description:"报名方式,1预约外呼,2自主拨入,3我要报名"`
  65. ActivityTypeId int `description:"活动类型id"`
  66. IsYidongConduct bool `description:"是否属于易董办会 1:是 、0:否"`
  67. IsCanOutboundCall int `description:"是否提供外呼 1:是 、0:否"`
  68. TencentConferenceNumber string `description:"腾讯会议号"`
  69. IsResearchSpecial bool `description:"是否属于特殊的研选"`
  70. IsExternalLabel bool `description:"是否为外部资源"`
  71. IsResearchPoints bool `description:"是否为研选扣点"`
  72. SiginupDeadline string `description:"报名截止时间"`
  73. }
  74. type HomeResourceDataListResp struct {
  75. Paging *paging.PagingItem
  76. List []*CygxResourceDataResp `description:"列表"`
  77. }
  78. // Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
  79. type HomeResourceDataListNewResp struct {
  80. Paging *paging.PagingItem
  81. List []*CygxResourceDataNewResp `description:"列表"`
  82. }
  83. type CygxResourceDataNewResp struct {
  84. Id int `orm:"column(id);pk"`
  85. BodyHighlight []string `description:"搜索高亮展示结果"`
  86. TitleHighlight string `description:"搜索高亮展示结果"`
  87. SourceId int `description:"资源ID"`
  88. Source string `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`
  89. PublishDate string `description:"发布时间"`
  90. Article *ArticleListResp `description:"文章"`
  91. Newchart *HomeChartListResp `description:"图表"`
  92. Roadshow *MicroRoadShowPageList `description:"微路演"`
  93. Activity *ActivityListResp `description:"活动"`
  94. Activityvideo *MicroRoadShowPageList `description:"活动视频"`
  95. Activityvoice *MicroRoadShowPageList `description:"活动音频"`
  96. Activityspecial *CygxActivitySpecialDetail `description:"专项调研活动"`
  97. Researchsummary *CygxReportSelectionRep `description:"本周研究汇总"`
  98. Minutessummary *CygxReportSelectionRep `description:"上周纪要汇总"`
  99. Meetingreviewchapt *CygxMorningMeetingGatherDetailListResp `description:"晨会精华"`
  100. ProductInterior *CygxProductInteriorResp `description:"产品内测"`
  101. IndustrialResource *IndustrialManagement `description:"产业资源包"`
  102. ReportSelection *CygxReportSelectionRep `description:"重点公司(原报告精选)"`
  103. YanxuanSpecial *CygxYanxuanSpecialItem `description:"研选专栏"`
  104. AskserieVideo *MicroRoadShowPageList `description:"活动音频"`
  105. }
  106. // 列表
  107. func GetResourceDataList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxResourceDataNewResp, err error) {
  108. o := orm.NewOrm()
  109. sql := `SELECT * FROM cygx_resource_data WHERE 1= 1 `
  110. if condition != "" {
  111. sql += condition
  112. }
  113. sql += ` ORDER BY publish_date DESC , id DESC LIMIT ?,? `
  114. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  115. return
  116. }
  117. // 获取用户报名成功数量
  118. func GetResourceDataCount(condition string, pars []interface{}) (count int, err error) {
  119. sqlCount := `SELECT COUNT(1) AS count FROM cygx_resource_data WHERE 1= 1 ` + condition
  120. o := orm.NewOrm()
  121. err = o.Raw(sqlCount, pars).QueryRow(&count)
  122. return
  123. }
  124. // 删除数据
  125. func DeleteResourceData(sourceId int, source string) (err error) {
  126. o := orm.NewOrm()
  127. sql := ` DELETE FROM cygx_resource_data WHERE source_id = ? AND source =? `
  128. _, err = o.Raw(sql, sourceId, source).Exec()
  129. return
  130. }
  131. // 获取数量
  132. func GetCygxResourceDataBySourceAndIdCount(sourceId int, source string) (count int, err error) {
  133. o := orm.NewOrm()
  134. sqlCount := ` SELECT COUNT(1) AS count FROM cygx_resource_data WHERE source_id = ? AND source =? `
  135. err = o.Raw(sqlCount, sourceId, source).QueryRow(&count)
  136. return
  137. }
  138. // 添加
  139. func AddCygxResourceData(item *CygxResourceData) (lastId int64, err error) {
  140. o := orm.NewOrm()
  141. lastId, err = o.Insert(item)
  142. return
  143. }
  144. // 修改
  145. func UpdateResourceDataByItem(item *CygxResourceData) (err error) {
  146. o := orm.NewOrm()
  147. updateParams := make(map[string]interface{})
  148. updateParams["PublishDate"] = item.PublishDate
  149. updateParams["SearchTag"] = item.SearchTag
  150. ptrStructOrTableName := "cygx_resource_data"
  151. whereParam := map[string]interface{}{"source_id": item.SourceId, "source": item.Source}
  152. qs := o.QueryTable(ptrStructOrTableName)
  153. for expr, exprV := range whereParam {
  154. qs = qs.Filter(expr, exprV)
  155. }
  156. _, err = qs.Update(updateParams)
  157. if err != nil {
  158. return
  159. }
  160. return
  161. }