resource_data.go 10 KB

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