resource_data.go 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499
  1. package cygx
  2. import (
  3. "errors"
  4. "fmt"
  5. "hongze/hz_crm_api/models/cygx"
  6. "hongze/hz_crm_api/services/alarm_msg"
  7. "hongze/hz_crm_api/utils"
  8. "strconv"
  9. "time"
  10. )
  11. //首页最新页面数据逻辑处理
  12. //activity
  13. //activityspecial
  14. //activityvideo
  15. //activityvoice
  16. //article
  17. //meetingreviewchapt
  18. //minutessummary
  19. //newchart
  20. //productinterior
  21. //reportselection
  22. //researchsummary
  23. //roadshow
  24. //func init() {
  25. // UpdateMicroRoadshowResourceData(7)
  26. //}
  27. // 更新活动
  28. func UpdateActivityResourceData(sourceId int) {
  29. var err error
  30. //time.Sleep(3*time.Second) // 有时候同时添加多个活动,延迟三秒
  31. defer func() {
  32. if err != nil {
  33. fmt.Println("err:", err)
  34. go alarm_msg.SendAlarmMsg("更新活动 失败,UpdateActivityResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  35. }
  36. }()
  37. var source = utils.CYGX_OBJ_ACTIVITY
  38. var condition string
  39. var pars []interface{}
  40. condition = ` AND publish_status = 1 AND activity_id = ? `
  41. pars = append(pars, sourceId)
  42. total, e := cygx.GetActivityCount(condition, pars)
  43. if e != nil {
  44. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  45. return
  46. }
  47. //如果取消发布了就做删除处理
  48. if total == 0 {
  49. e = cygx.DeleteResourceData(sourceId, source)
  50. if e != nil {
  51. err = errors.New("DeleteResourceData, Err: " + e.Error())
  52. return
  53. }
  54. //删除 cygx_resource_data 表关联的产业ID,标的ID
  55. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  56. if e != nil {
  57. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  58. return
  59. }
  60. } else {
  61. //判断是否存在,如果不存在就新增,存在就更新
  62. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  63. if e != nil {
  64. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  65. return
  66. }
  67. detail, e := cygx.GetAddActivityInfoById(sourceId)
  68. if e != nil {
  69. err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  70. return
  71. }
  72. var resourceDataId int
  73. publishDate := detail.CreateTime // 活动创建时间作为排序时间
  74. item := new(cygx.CygxResourceData)
  75. var industrialName string
  76. var subjectName string
  77. //建立首页资源表,与产业的关系
  78. industrialList, e := cygx.GetIndustrialActivityGroupManagementList(sourceId, 1)
  79. if e != nil && e.Error() != utils.ErrNoRow() {
  80. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
  81. return
  82. }
  83. for _, v := range industrialList {
  84. industrialName += v.IndustryName
  85. }
  86. //建立首页资源表,与标的 的关系
  87. subjectList, e := cygx.GetSubjectActivityGroupManagementList(sourceId, 1)
  88. if e != nil && e.Error() != utils.ErrNoRow() {
  89. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
  90. return
  91. }
  92. for _, v := range subjectList {
  93. subjectName += v.SubjectName
  94. }
  95. item.SourceId = sourceId
  96. item.Source = source
  97. //分析师电话会(C类)
  98. item.SearchTag = detail.ActivityTypeName
  99. item.ChartPermissionId = detail.ChartPermissionId
  100. item.PublishDate = publishDate
  101. item.SearchTitle = detail.ActivityName
  102. item.SearchContent = detail.Label + industrialName + subjectName
  103. item.SearchOrderTime = detail.ActivityTime
  104. item.CreateTime = time.Now()
  105. if totalData == 0 {
  106. newId, e := cygx.AddCygxResourceData(item)
  107. if e != nil {
  108. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  109. return
  110. }
  111. resourceDataId = int(newId)
  112. } else {
  113. e = cygx.UpdateResourceDataByItem(item)
  114. if e != nil {
  115. err = errors.New("UpdateResourceData, Err: " + e.Error())
  116. return
  117. }
  118. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  119. if e != nil {
  120. err = errors.New("UpdateResourceData, Err: " + e.Error())
  121. return
  122. }
  123. resourceDataId = sourceDetail.Id
  124. }
  125. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  126. for _, v := range industrialList {
  127. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  128. industrialItem.SourceId = sourceId
  129. industrialItem.Source = source
  130. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  131. industrialItem.ResourceDataId = resourceDataId
  132. industrialItem.CreateTime = time.Now()
  133. industrialItems = append(industrialItems, industrialItem)
  134. }
  135. //建立首页资源表,与标的 的关系
  136. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  137. for _, v := range subjectList {
  138. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  139. subjectItem.SourceId = sourceId
  140. subjectItem.Source = source
  141. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  142. subjectItem.ResourceDataId = resourceDataId
  143. subjectItem.CreateTime = time.Now()
  144. subjectItems = append(subjectItems, subjectItem)
  145. }
  146. //插入关联信息
  147. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  148. if e != nil {
  149. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  150. return
  151. }
  152. }
  153. return
  154. }
  155. // 更新专项调研活动
  156. func UpdateActivitySpecialResourceData(sourceId int) {
  157. var err error
  158. defer func() {
  159. if err != nil {
  160. fmt.Println("err:", err)
  161. go alarm_msg.SendAlarmMsg("更新活动 失败,UpdateActivitySpecialResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  162. }
  163. }()
  164. var source = utils.CYGX_OBJ_ACTIVITYSPECIAL
  165. var condition string
  166. var pars []interface{}
  167. condition = ` AND publish_status = 1 AND activity_id = ? `
  168. pars = append(pars, sourceId)
  169. total, e := cygx.GetActivityCount(condition, pars)
  170. if e != nil {
  171. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  172. return
  173. }
  174. activityInfo, e := cygx.GetAddActivityInfoSpecialById(sourceId)
  175. if e != nil {
  176. err = errors.New("GetAddActivityInfoSpecialById, Err: " + e.Error())
  177. return
  178. }
  179. //如果取消发布了就做删除处理
  180. if total == 0 {
  181. e = cygx.DeleteResourceData(sourceId, source)
  182. if e != nil {
  183. err = errors.New("DeleteResourceData, Err: " + e.Error())
  184. return
  185. }
  186. //删除 cygx_resource_data 表关联的产业ID,标的ID
  187. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  188. if e != nil {
  189. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  190. return
  191. }
  192. } else {
  193. //判断是否存在,如果不存在就新增,存在就更新
  194. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  195. if e != nil {
  196. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  197. return
  198. }
  199. var resourceDataId int
  200. publishDate := activityInfo.PublishDate
  201. item := new(cygx.CygxResourceData)
  202. item.SourceId = sourceId
  203. item.Source = source
  204. //分析师电话会(C类)
  205. item.SearchTag = ""
  206. item.PublishDate = publishDate
  207. item.ChartPermissionId = activityInfo.ChartPermissionId
  208. item.CreateTime = time.Now()
  209. item.SearchTitle = activityInfo.ResearchTheme
  210. item.SearchContent = activityInfo.Label + activityInfo.IndustrialName + activityInfo.IndustrialSubjectName
  211. if activityInfo.Days > 0 {
  212. item.SearchOrderTime = activityInfo.ActivityTime
  213. } else {
  214. item.SearchOrderTime = activityInfo.PublishDate
  215. }
  216. if totalData == 0 {
  217. newId, e := cygx.AddCygxResourceData(item)
  218. if e != nil {
  219. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  220. return
  221. }
  222. resourceDataId = int(newId)
  223. } else {
  224. e = cygx.UpdateResourceDataByItem(item)
  225. if e != nil {
  226. err = errors.New("UpdateResourceData, Err: " + e.Error())
  227. return
  228. }
  229. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  230. if e != nil {
  231. err = errors.New("UpdateResourceData, Err: " + e.Error())
  232. return
  233. }
  234. resourceDataId = sourceDetail.Id
  235. }
  236. //建立首页资源表,与产业的关系
  237. industrialList, e := cygx.GetIndustrialActivityGroupManagementList(sourceId, 2)
  238. if e != nil && e.Error() != utils.ErrNoRow() {
  239. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
  240. return
  241. }
  242. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  243. for _, v := range industrialList {
  244. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  245. industrialItem.SourceId = sourceId
  246. industrialItem.Source = source
  247. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  248. industrialItem.ResourceDataId = resourceDataId
  249. industrialItem.CreateTime = time.Now()
  250. industrialItems = append(industrialItems, industrialItem)
  251. }
  252. //建立首页资源表,与标的 的关系
  253. subjectList, e := cygx.GetSubjectArticleGroupManagementList(sourceId)
  254. if e != nil && e.Error() != utils.ErrNoRow() {
  255. err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  256. return
  257. }
  258. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  259. for _, v := range subjectList {
  260. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  261. subjectItem.SourceId = sourceId
  262. subjectItem.Source = source
  263. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  264. subjectItem.ResourceDataId = resourceDataId
  265. subjectItem.CreateTime = time.Now()
  266. subjectItems = append(subjectItems, subjectItem)
  267. }
  268. //插入关联信息
  269. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  270. if e != nil {
  271. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  272. return
  273. }
  274. }
  275. return
  276. }
  277. // 更新文章
  278. func UpdateArticleResourceData(sourceId int) {
  279. var err error
  280. defer func() {
  281. if err != nil {
  282. fmt.Println("err:", err)
  283. go alarm_msg.SendAlarmMsg("更新文章 失败,UpdateArticleResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  284. }
  285. }()
  286. var source = utils.CYGX_OBJ_ARTICLE
  287. var condition string
  288. var pars []interface{}
  289. condition = ` AND publish_status = 1 AND article_id = ? `
  290. pars = append(pars, sourceId)
  291. total, e := cygx.GetCygxArticleCount(condition, pars)
  292. if e != nil {
  293. err = errors.New("GetCygxReportSelection, Err: " + err.Error())
  294. return
  295. }
  296. //如果取消发布了就做删除处理
  297. if total == 0 {
  298. e = cygx.DeleteResourceData(sourceId, source)
  299. if e != nil {
  300. err = errors.New("DeleteResourceData, Err: " + e.Error())
  301. return
  302. }
  303. //删除 cygx_resource_data 表关联的产业ID,标的ID
  304. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  305. if e != nil {
  306. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  307. return
  308. }
  309. } else {
  310. //判断是否存在,如果不存在就新增,存在就更新
  311. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  312. if e != nil {
  313. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  314. return
  315. }
  316. detail, e := cygx.GetArticleDetailByArticleId(sourceId)
  317. if e != nil {
  318. err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  319. return
  320. }
  321. var resourceDataId int
  322. publishDate := time.Now().Format(utils.FormatDateTime)
  323. item := new(cygx.CygxResourceData)
  324. if detail.ArticleTypeId > 0 {
  325. item.SearchTag = detail.ArticleTypeName // 研选类型名称
  326. item.ChartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
  327. } else {
  328. item.SearchTag = detail.MatchTypeName
  329. //获取文章分类详情
  330. detailCategory, _ := cygx.GetCygxReportMappingCelueMaxDetailByCategoryId(detail.CategoryId)
  331. if detailCategory != nil {
  332. item.ChartPermissionId = detailCategory.ChartPermissionId
  333. }
  334. }
  335. var industrialName string
  336. var subjectName string
  337. //建立首页资源表,与产业的关系
  338. industrialList, e := cygx.GetIndustrialArticleGroupManagementList(sourceId)
  339. if e != nil && e.Error() != utils.ErrNoRow() {
  340. err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  341. return
  342. }
  343. for _, v := range industrialList {
  344. industrialName += v.IndustryName
  345. }
  346. //建立首页资源表,与标的 的关系
  347. subjectList, e := cygx.GetSubjectArticleGroupManagementList(sourceId)
  348. if e != nil && e.Error() != utils.ErrNoRow() {
  349. err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  350. return
  351. }
  352. for _, v := range subjectList {
  353. subjectName += v.SubjectName
  354. }
  355. item.SourceId = sourceId
  356. item.Source = source
  357. item.PublishDate = publishDate
  358. item.CreateTime = time.Now()
  359. item.SearchTitle = detail.Title
  360. annotation, e := utils.GetHtmlContentText(detail.Annotation)
  361. if e != nil && e.Error() != utils.ErrNoRow() {
  362. err = errors.New("GetHtmlContentText, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  363. return
  364. }
  365. abstract, e := utils.GetHtmlContentText(detail.Abstract)
  366. if e != nil && e.Error() != utils.ErrNoRow() {
  367. err = errors.New("GetHtmlContentText, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  368. return
  369. }
  370. item.SearchContent = annotation + abstract + detail.FieldName + detail.Stock + industrialName + subjectName
  371. item.SearchOrderTime = detail.PublishDate
  372. if totalData == 0 {
  373. newId, e := cygx.AddCygxResourceData(item)
  374. if e != nil {
  375. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  376. return
  377. }
  378. resourceDataId = int(newId)
  379. } else {
  380. e = cygx.UpdateResourceDataByItem(item)
  381. if e != nil {
  382. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  383. return
  384. }
  385. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  386. if e != nil {
  387. err = errors.New("GetCygxResourceDataByIdAndSource, Err: " + e.Error())
  388. return
  389. }
  390. resourceDataId = sourceDetail.Id
  391. }
  392. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  393. for _, v := range industrialList {
  394. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  395. industrialItem.SourceId = sourceId
  396. industrialItem.Source = source
  397. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  398. industrialItem.ResourceDataId = resourceDataId
  399. industrialItem.CreateTime = time.Now()
  400. industrialItems = append(industrialItems, industrialItem)
  401. industrialName += v.IndustryName
  402. }
  403. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  404. for _, v := range subjectList {
  405. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  406. subjectItem.SourceId = sourceId
  407. subjectItem.Source = source
  408. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  409. subjectItem.ResourceDataId = resourceDataId
  410. subjectItem.CreateTime = time.Now()
  411. subjectItems = append(subjectItems, subjectItem)
  412. subjectName += v.SubjectName
  413. }
  414. //插入关联信息
  415. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  416. if e != nil {
  417. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  418. return
  419. }
  420. }
  421. return
  422. }
  423. // 更新产品内测
  424. func UpdateProductInteriorResourceData(sourceId int) {
  425. var err error
  426. defer func() {
  427. if err != nil {
  428. fmt.Println("err:", err)
  429. go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateProductInteriorResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  430. }
  431. }()
  432. var source = utils.CYGX_OBJ_PRODUCTINTERIOR
  433. var condition string
  434. var pars []interface{}
  435. condition = ` AND visible_range = 1 AND product_interior_id = ? `
  436. pars = append(pars, sourceId)
  437. total, e := cygx.GetCygxProductInteriorCount(condition, pars)
  438. if e != nil {
  439. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  440. return
  441. }
  442. //如果取消发布了就做删除处理
  443. if total == 0 {
  444. e = cygx.DeleteResourceData(sourceId, source)
  445. if e != nil {
  446. err = errors.New("DeleteResourceData, Err: " + e.Error())
  447. return
  448. }
  449. //删除 cygx_resource_data 表关联的产业ID,标的ID
  450. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  451. if e != nil {
  452. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  453. return
  454. }
  455. } else {
  456. //判断是否存在,如果不存在就新增,存在就更新
  457. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  458. if e != nil {
  459. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  460. return
  461. }
  462. detail, e := cygx.GetCygxProductInteriorDetail(sourceId)
  463. if e != nil {
  464. err = errors.New("GetCygxReportSelectionInfoById, Err: " + err.Error())
  465. return
  466. }
  467. mapMatchTypeName := GetCygxReportMappingCygxListMap() //报告匹配类型
  468. var resourceDataId int
  469. publishDate := detail.CreateTime
  470. item := new(cygx.CygxResourceData)
  471. var industrialName string
  472. var subjectName string
  473. //建立首页资源表,与产业的关系
  474. industrialList, e := cygx.GetProductInteriorIndustrialGroupManagementList(sourceId)
  475. if e != nil && e.Error() != utils.ErrNoRow() {
  476. err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  477. return
  478. }
  479. for _, v := range industrialList {
  480. industrialName += v.IndustryName
  481. }
  482. //建立首页资源表,与标的 的关系
  483. subjectList, e := cygx.GetProductInteriorIndustrialGroupSubjecttList(sourceId)
  484. if e != nil && e.Error() != utils.ErrNoRow() {
  485. err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  486. return
  487. }
  488. for _, v := range subjectList {
  489. subjectName += v.SubjectName
  490. }
  491. item.SourceId = sourceId
  492. item.Source = source
  493. item.SearchTag = mapMatchTypeName[detail.MatchTypeId]
  494. item.PublishDate = publishDate
  495. item.ChartPermissionId = detail.ChartPermissionId
  496. item.CreateTime = time.Now()
  497. item.SearchTitle = detail.Title
  498. item.SearchContent = detail.Abstract + industrialName + subjectName
  499. item.SearchOrderTime = detail.PublishTime
  500. if totalData == 0 {
  501. newId, e := cygx.AddCygxResourceData(item)
  502. if e != nil {
  503. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  504. return
  505. }
  506. resourceDataId = int(newId)
  507. } else {
  508. e = cygx.UpdateResourceDataByItem(item)
  509. if e != nil {
  510. err = errors.New("UpdateResourceData, Err: " + e.Error())
  511. return
  512. }
  513. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  514. if e != nil {
  515. err = errors.New("UpdateResourceData, Err: " + e.Error())
  516. return
  517. }
  518. resourceDataId = sourceDetail.Id
  519. }
  520. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  521. for _, v := range industrialList {
  522. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  523. industrialItem.SourceId = sourceId
  524. industrialItem.Source = source
  525. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  526. industrialItem.ResourceDataId = resourceDataId
  527. industrialItem.CreateTime = time.Now()
  528. industrialItems = append(industrialItems, industrialItem)
  529. }
  530. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  531. for _, v := range subjectList {
  532. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  533. subjectItem.SourceId = sourceId
  534. subjectItem.Source = source
  535. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  536. subjectItem.ResourceDataId = resourceDataId
  537. subjectItem.CreateTime = time.Now()
  538. subjectItems = append(subjectItems, subjectItem)
  539. }
  540. //插入关联信息
  541. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  542. if e != nil {
  543. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  544. return
  545. }
  546. }
  547. return
  548. }
  549. // 更新晨会精华 (跟踪点评)
  550. func UpdateMeetingreviewchaptResourceData(sourceId int) {
  551. var err error
  552. defer func() {
  553. if err != nil {
  554. fmt.Println("err:", err)
  555. go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateMeetingreviewchaptResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  556. }
  557. }()
  558. var source = utils.CYGX_OBJ_MEETINGREVIEWCHAPT
  559. total, e := cygx.GetCygxMorningMeetingReviewChapterCount(sourceId)
  560. if e != nil {
  561. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  562. return
  563. }
  564. //如果取消发布了就做删除处理
  565. if total == 0 {
  566. e = cygx.DeleteResourceData(sourceId, source)
  567. if e != nil {
  568. err = errors.New("DeleteResourceData, Err: " + e.Error())
  569. return
  570. }
  571. //删除 cygx_resource_data 表关联的产业ID,标的ID
  572. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  573. if e != nil {
  574. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  575. return
  576. }
  577. } else {
  578. //判断是否存在,如果不存在就新增,存在就更新
  579. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  580. if e != nil {
  581. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  582. return
  583. }
  584. detail, e := cygx.GetCygxMorningMeetingReviewChapterDetail(sourceId)
  585. if e != nil {
  586. err = errors.New("GetCygxMorningMeetingReviewChapterDetail" + e.Error())
  587. return
  588. }
  589. var resourceDataId int
  590. publishDate := time.Now().Format(utils.FormatDateTime)
  591. item := new(cygx.CygxResourceData)
  592. var industrialName string
  593. var subjectName string
  594. //建立首页资源表,与产业的关系
  595. var condition string
  596. var pars []interface{}
  597. condition = " AND industrial_management_id = ? "
  598. pars = append(pars, detail.IndustryId)
  599. //建立首页资源表,与产业的关系
  600. industrialList, e := cygx.GetTopOneMonthArtReadNumIndustryAll(condition, pars)
  601. if e != nil && e.Error() != utils.ErrNoRow() {
  602. err = errors.New("GetTopOneMonthArtReadNumIndustryAll, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  603. return
  604. }
  605. for _, v := range industrialList {
  606. industrialName += v.IndustryName
  607. }
  608. if detail.IndustrialSubjectIds != "" {
  609. condition = ""
  610. pars = make([]interface{}, 0)
  611. condition = " AND industrial_subject_id IN (" + detail.IndustrialSubjectIds + ") "
  612. //建立首页资源表,与标的 的关系
  613. subjectList, e := cygx.GetCygxIndustrialSubjectListCondition(condition, pars)
  614. if e != nil && e.Error() != utils.ErrNoRow() {
  615. err = errors.New("GetCygxIndustrialSubjectListCondition, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  616. return
  617. }
  618. for _, v := range subjectList {
  619. subjectName += v.SubjectName
  620. }
  621. }
  622. item.SourceId = sourceId
  623. item.Source = source
  624. item.SearchTag = "晨会精华"
  625. item.PublishDate = publishDate
  626. item.ChartPermissionId = detail.ChartPermissionId
  627. item.CreateTime = time.Now()
  628. item.SearchTitle = industrialName + subjectName
  629. content, e := utils.GetHtmlContentText(detail.Content)
  630. if e != nil && e.Error() != utils.ErrNoRow() {
  631. err = errors.New("GetHtmlContentText, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  632. return
  633. }
  634. item.SearchContent = content
  635. item.SearchOrderTime = detail.MeetingTime.Format(utils.FormatDateTime)
  636. if totalData == 0 {
  637. newId, e := cygx.AddCygxResourceData(item)
  638. if e != nil {
  639. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  640. return
  641. }
  642. resourceDataId = int(newId)
  643. } else {
  644. e = cygx.UpdateResourceDataByItem(item)
  645. if e != nil {
  646. err = errors.New("UpdateResourceData, Err: " + e.Error())
  647. return
  648. }
  649. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  650. if e != nil {
  651. err = errors.New("UpdateResourceData, Err: " + e.Error())
  652. return
  653. }
  654. resourceDataId = sourceDetail.Id
  655. }
  656. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  657. for _, v := range industrialList {
  658. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  659. industrialItem.SourceId = sourceId
  660. industrialItem.Source = source
  661. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  662. industrialItem.ResourceDataId = resourceDataId
  663. industrialItem.CreateTime = time.Now()
  664. industrialItems = append(industrialItems, industrialItem)
  665. }
  666. //return
  667. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  668. //晨会精华如果关联的标的就做查询
  669. if detail.IndustrialSubjectIds != "" {
  670. condition = ""
  671. pars = make([]interface{}, 0)
  672. condition = " AND industrial_subject_id IN (" + detail.IndustrialSubjectIds + ") "
  673. //建立首页资源表,与标的 的关系
  674. subjectList, e := cygx.GetCygxIndustrialSubjectListCondition(condition, pars)
  675. if e != nil && e.Error() != utils.ErrNoRow() {
  676. err = errors.New("GetCygxIndustrialSubjectListCondition, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  677. return
  678. }
  679. for _, v := range subjectList {
  680. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  681. subjectItem.SourceId = sourceId
  682. subjectItem.Source = source
  683. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  684. subjectItem.ResourceDataId = resourceDataId
  685. subjectItem.CreateTime = time.Now()
  686. subjectItems = append(subjectItems, subjectItem)
  687. }
  688. }
  689. //插入关联信息
  690. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  691. if e != nil {
  692. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  693. return
  694. }
  695. }
  696. return
  697. }
  698. // 更新报告精选(重点公司)
  699. func UpdateReportSelectionResourceData(sourceId int) {
  700. var err error
  701. defer func() {
  702. if err != nil {
  703. fmt.Println("err:", err)
  704. go alarm_msg.SendAlarmMsg("更新报告精选(重点公司) 失败,UpdateReportSelectionResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  705. }
  706. }()
  707. var source = utils.CYGX_OBJ_REPORTSELECTION
  708. var condition string
  709. var pars []interface{}
  710. condition = ` AND visible_range = 1 AND article_id = ? `
  711. pars = append(pars, sourceId)
  712. total, e := cygx.GetCygxReportSelection(condition, pars)
  713. if e != nil {
  714. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  715. return
  716. }
  717. //如果取消发布了就做删除处理
  718. if total == 0 {
  719. e = cygx.DeleteResourceData(sourceId, source)
  720. if e != nil {
  721. err = errors.New("DeleteResourceData, Err: " + e.Error())
  722. return
  723. }
  724. } else {
  725. //判断是否存在,如果不存在就新增,存在就更新
  726. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  727. if e != nil {
  728. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  729. return
  730. }
  731. detail, e := cygx.GetCygxReportSelectionInfoById(sourceId)
  732. if e != nil {
  733. err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  734. return
  735. }
  736. publishDate := detail.PublishDate
  737. item := new(cygx.CygxResourceData)
  738. item.SourceId = sourceId
  739. item.Source = source
  740. item.SearchTag = "重点公司"
  741. item.PublishDate = publishDate
  742. item.CreateTime = time.Now()
  743. item.SearchTitle = detail.Title
  744. item.SearchContent = ""
  745. item.SearchOrderTime = detail.PublishDate
  746. if totalData == 0 {
  747. _, e := cygx.AddCygxResourceData(item)
  748. if e != nil {
  749. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  750. return
  751. }
  752. } else {
  753. e = cygx.UpdateResourceDataByItem(item)
  754. if e != nil {
  755. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  756. return
  757. }
  758. }
  759. }
  760. return
  761. }
  762. // 更新本周研究汇总
  763. func UpdateResearchSummaryResourceData(sourceId int) {
  764. var err error
  765. defer func() {
  766. if err != nil {
  767. fmt.Println("err:", err)
  768. go alarm_msg.SendAlarmMsg("更新本周研究汇总 失败,UpdateResearchSummaryResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  769. }
  770. }()
  771. var source = utils.CYGX_OBJ_RESEARCHSUMMARY
  772. var condition string
  773. var pars []interface{}
  774. condition = ` AND visible_range = 1 AND article_id = ? `
  775. pars = append(pars, sourceId)
  776. total, e := cygx.GetCygxResearchSummary(condition, pars)
  777. if e != nil {
  778. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  779. return
  780. }
  781. //如果取消发布了就做删除处理
  782. if total == 0 {
  783. e = cygx.DeleteResourceData(sourceId, source)
  784. if e != nil {
  785. err = errors.New("DeleteResourceData, Err: " + e.Error())
  786. return
  787. }
  788. } else {
  789. //判断是否存在,如果不存在就新增,存在就更新
  790. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  791. if e != nil {
  792. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  793. return
  794. }
  795. detail, e := cygx.GetCygxResearchSummaryInfoById(sourceId)
  796. if e != nil {
  797. err = errors.New("GetCygxResearchSummaryInfoById, Err: " + e.Error())
  798. return
  799. }
  800. publishDate := time.Now().Format(utils.FormatDateTime)
  801. item := new(cygx.CygxResourceData)
  802. item.SourceId = sourceId
  803. item.Source = source
  804. item.SearchTag = "本周研究汇总"
  805. item.PublishDate = publishDate
  806. item.CreateTime = time.Now()
  807. item.SearchTitle = detail.Title
  808. item.SearchContent = ""
  809. item.SearchOrderTime = detail.PublishDate
  810. if totalData == 0 {
  811. _, e := cygx.AddCygxResourceData(item)
  812. if e != nil {
  813. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  814. return
  815. }
  816. } else {
  817. e = cygx.UpdateResourceDataByItem(item)
  818. if e != nil {
  819. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  820. return
  821. }
  822. }
  823. }
  824. return
  825. }
  826. // 更新上周纪要汇总
  827. func UpdateMinutesSummaryResourceData(sourceId int) {
  828. var err error
  829. defer func() {
  830. if err != nil {
  831. fmt.Println("err:", err)
  832. go alarm_msg.SendAlarmMsg("更新上周纪要汇总 失败,UpdateMinutesSummaryResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  833. }
  834. }()
  835. var source = utils.CYGX_OBJ_MINUTESSUMMARY
  836. var condition string
  837. var pars []interface{}
  838. condition = ` AND visible_range = 1 AND article_id = ? `
  839. pars = append(pars, sourceId)
  840. total, e := cygx.GetCygxMinutesSummary(condition, pars)
  841. if e != nil {
  842. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  843. return
  844. }
  845. //如果取消发布了就做删除处理
  846. if total == 0 {
  847. e = cygx.DeleteResourceData(sourceId, source)
  848. if e != nil {
  849. err = errors.New("DeleteResourceData, Err: " + e.Error())
  850. return
  851. }
  852. } else {
  853. //判断是否存在,如果不存在就新增,存在就更新
  854. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  855. if e != nil {
  856. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  857. return
  858. }
  859. detail, e := cygx.GetCygxMinutesSummaryInfoById(sourceId)
  860. if e != nil {
  861. err = errors.New("GetCygxMinutesSummaryInfoById, Err: " + e.Error())
  862. return
  863. }
  864. publishDate := time.Now().Format(utils.FormatDateTime)
  865. item := new(cygx.CygxResourceData)
  866. item.SourceId = sourceId
  867. item.Source = source
  868. item.SearchTag = "上周纪要汇总"
  869. item.PublishDate = publishDate
  870. item.CreateTime = time.Now()
  871. item.SearchTitle = detail.Title
  872. item.SearchContent = ""
  873. item.SearchOrderTime = detail.PublishDate
  874. if totalData == 0 {
  875. _, e := cygx.AddCygxResourceData(item)
  876. if e != nil {
  877. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  878. return
  879. }
  880. } else {
  881. e = cygx.UpdateResourceDataByItem(item)
  882. if e != nil {
  883. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  884. return
  885. }
  886. }
  887. }
  888. return
  889. }
  890. // 更新活动音频
  891. func UpdateActivityVoiceResourceData(sourceId int) {
  892. time.Sleep(1 * time.Second) // 添加1秒的延迟
  893. var err error
  894. defer func() {
  895. if err != nil {
  896. fmt.Println("err:", err)
  897. go alarm_msg.SendAlarmMsg("更新更新活动音频 失败,UpdateActivityVoiceResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  898. }
  899. }()
  900. var source = utils.CYGX_OBJ_ACTIVITYVOICE
  901. var condition string
  902. var pars []interface{}
  903. condition = ` AND activity_voice_id = ? `
  904. pars = append(pars, sourceId)
  905. total, e := cygx.GetCygxActivityVoiceCount(condition, pars)
  906. if e != nil {
  907. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  908. return
  909. }
  910. //如果取消发布了就做删除处理
  911. if total == 0 {
  912. e = cygx.DeleteResourceData(sourceId, source)
  913. if e != nil {
  914. err = errors.New("DeleteResourceData, Err: " + e.Error())
  915. return
  916. }
  917. } else {
  918. //获取音频详情
  919. voiceDetail, e := cygx.GetCygxActivityVoiceReqDetailByActivityVoiceId(sourceId)
  920. if e != nil {
  921. err = errors.New("GetCygxActivityVoiceReqDetail" + e.Error())
  922. return
  923. }
  924. activityId := voiceDetail.ActivityId
  925. //获取活动详情
  926. activityInfo, e := cygx.GetAddActivityInfoById(activityId)
  927. if e != nil {
  928. err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
  929. return
  930. }
  931. //判断是否存在,如果不存在就新增,存在就更新
  932. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  933. if e != nil {
  934. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  935. return
  936. }
  937. publishDate := time.Now().Format(utils.FormatDateTime)
  938. item := new(cygx.CygxResourceData)
  939. var industrialName string
  940. var subjectName string
  941. //建立首页资源表,与产业的关系
  942. industrialList, e := cygx.GetIndustrialActivityGroupManagementList(activityId, 1)
  943. if e != nil && e.Error() != utils.ErrNoRow() {
  944. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(activityId))
  945. return
  946. }
  947. for _, v := range industrialList {
  948. industrialName += v.IndustryName
  949. }
  950. //建立首页资源表,与标的 的关系
  951. subjectList, e := cygx.GetSubjectActivityGroupManagementList(activityId, 1)
  952. if e != nil && e.Error() != utils.ErrNoRow() {
  953. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(activityId))
  954. return
  955. }
  956. for _, v := range subjectList {
  957. subjectName += v.SubjectName
  958. }
  959. item.SourceId = sourceId
  960. item.Source = source
  961. //易董办会的分析师电话会,为路演回放
  962. if voiceDetail.FileType == 1 {
  963. item.SearchTag = "路演回放"
  964. } else {
  965. item.SearchTag = "调研反馈"
  966. }
  967. item.PublishDate = publishDate
  968. item.ChartPermissionId = activityInfo.ChartPermissionId
  969. item.CreateTime = utils.StrDateToDate(activityInfo.ActivityTime)
  970. item.SearchTitle = voiceDetail.VoiceName
  971. item.SearchContent = activityInfo.Label + industrialName + subjectName
  972. item.SearchOrderTime = activityInfo.ActivityTime
  973. if totalData == 0 {
  974. _, e := cygx.AddCygxResourceData(item)
  975. if e != nil {
  976. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  977. return
  978. }
  979. } else {
  980. e = cygx.UpdateResourceDataByItem(item)
  981. if e != nil {
  982. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  983. return
  984. }
  985. }
  986. }
  987. return
  988. }
  989. // 更新活动视频
  990. func UpdateActivityVideoResourceData(sourceId int) {
  991. time.Sleep(1 * time.Second) // 添加1秒的延迟
  992. var err error
  993. defer func() {
  994. if err != nil {
  995. fmt.Println("err:", err)
  996. go alarm_msg.SendAlarmMsg("更新更新活动视频 失败,UpdateActivityVideoResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  997. }
  998. }()
  999. var source = utils.CYGX_OBJ_ACTIVITYVIDEO
  1000. var condition string
  1001. var pars []interface{}
  1002. condition = ` AND v.video_id = ? `
  1003. pars = append(pars, sourceId)
  1004. total, e := cygx.GetActivityVideoCount(condition, pars)
  1005. if e != nil {
  1006. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  1007. return
  1008. }
  1009. //如果取消发布了就做删除处理
  1010. if total == 0 {
  1011. e = cygx.DeleteResourceData(sourceId, source)
  1012. if e != nil {
  1013. err = errors.New("DeleteResourceData, Err: " + e.Error())
  1014. return
  1015. }
  1016. } else {
  1017. videoDetail, e := cygx.GetCygxActivityVideoReqDetailByVideoId(sourceId)
  1018. if e != nil {
  1019. err = errors.New("GetCygxActivityVoiceReqDetail" + e.Error())
  1020. return
  1021. }
  1022. activityId := videoDetail.ActivityId
  1023. activityInfo, e := cygx.GetAddActivityInfoById(activityId)
  1024. if e != nil {
  1025. err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
  1026. return
  1027. }
  1028. //判断是否存在,如果不存在就新增,存在就更新
  1029. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  1030. if e != nil {
  1031. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  1032. return
  1033. }
  1034. publishDate := time.Now().Format(utils.FormatDateTime)
  1035. item := new(cygx.CygxResourceData)
  1036. var industrialName string
  1037. var subjectName string
  1038. //建立首页资源表,与产业的关系
  1039. industrialList, e := cygx.GetIndustrialActivityGroupManagementList(activityId, 1)
  1040. if e != nil && e.Error() != utils.ErrNoRow() {
  1041. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(activityId))
  1042. return
  1043. }
  1044. for _, v := range industrialList {
  1045. industrialName += v.IndustryName
  1046. }
  1047. //建立首页资源表,与标的 的关系
  1048. subjectList, e := cygx.GetSubjectActivityGroupManagementList(activityId, 1)
  1049. if e != nil && e.Error() != utils.ErrNoRow() {
  1050. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(activityId))
  1051. return
  1052. }
  1053. for _, v := range subjectList {
  1054. subjectName += v.SubjectName
  1055. }
  1056. item.SourceId = sourceId
  1057. item.Source = source
  1058. //易董办会的分析师电话会,为路演回放
  1059. if videoDetail.FileType == 1 {
  1060. item.SearchTag = "路演回放"
  1061. } else {
  1062. item.SearchTag = "调研反馈"
  1063. }
  1064. item.PublishDate = publishDate
  1065. item.ChartPermissionId = activityInfo.ChartPermissionId
  1066. item.CreateTime = utils.StrDateToDate(activityInfo.ActivityTime)
  1067. item.SearchTitle = videoDetail.VideoName
  1068. item.SearchContent = activityInfo.Label + industrialName + subjectName
  1069. item.SearchOrderTime = activityInfo.ActivityTime
  1070. if totalData == 0 {
  1071. _, e := cygx.AddCygxResourceData(item)
  1072. if e != nil {
  1073. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  1074. return
  1075. }
  1076. } else {
  1077. e = cygx.UpdateResourceDataByItem(item)
  1078. if e != nil {
  1079. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  1080. return
  1081. }
  1082. }
  1083. }
  1084. return
  1085. }
  1086. // 更新产业视频
  1087. func UpdateMicroRoadshowResourceData(sourceId int) {
  1088. var err error
  1089. defer func() {
  1090. if err != nil {
  1091. fmt.Println("err:", err)
  1092. go alarm_msg.SendAlarmMsg("更新产业视频 失败,UpdateMicroRoadshowResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  1093. }
  1094. }()
  1095. var source = utils.CYGX_OBJ_ROADSHOW
  1096. var condition string
  1097. var pars []interface{}
  1098. condition = ` AND publish_status = 1 AND video_id = ? `
  1099. pars = append(pars, sourceId)
  1100. total, e := cygx.GetMicroRoadshowVideoListCount(condition, pars)
  1101. if e != nil {
  1102. err = errors.New("GetMicroRoadshowVideoListCount, Err: " + e.Error())
  1103. return
  1104. }
  1105. //如果取消发布了就做删除处理
  1106. if total == 0 {
  1107. e = cygx.DeleteResourceData(sourceId, source)
  1108. if e != nil {
  1109. err = errors.New("DeleteResourceData, Err: " + e.Error())
  1110. return
  1111. }
  1112. } else {
  1113. //判断是否存在,如果不存在就新增,存在就更新
  1114. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  1115. if e != nil {
  1116. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  1117. return
  1118. }
  1119. detail, e := cygx.GetMicroRoadshowVideoByVideoId(sourceId)
  1120. if e != nil {
  1121. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  1122. return
  1123. }
  1124. publishDate := time.Now().Format(utils.FormatDateTime)
  1125. item := new(cygx.CygxResourceData)
  1126. item.SourceId = sourceId
  1127. item.Source = source
  1128. item.SearchTag = ""
  1129. item.PublishDate = publishDate
  1130. item.ChartPermissionId = detail.ChartPermissionId
  1131. item.CreateTime = time.Now()
  1132. item.SearchTitle = detail.VideoName
  1133. item.SearchContent = detail.IndustryName
  1134. item.SearchOrderTime = detail.PublishDate.Format(utils.FormatDateTime)
  1135. if totalData == 0 {
  1136. _, e := cygx.AddCygxResourceData(item)
  1137. if e != nil {
  1138. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  1139. return
  1140. }
  1141. } else {
  1142. e = cygx.UpdateResourceDataByItem(item)
  1143. if e != nil {
  1144. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  1145. return
  1146. }
  1147. }
  1148. }
  1149. return
  1150. }
  1151. //func init() {
  1152. // UpdateAskserieVideoResourceData(7)
  1153. //}
  1154. // 更新问答系列 写入首页最新 cygx_resource_data 表
  1155. func UpdateAskserieVideoResourceData(sourceId int) {
  1156. var err error
  1157. defer func() {
  1158. if err != nil {
  1159. fmt.Println(err)
  1160. go alarm_msg.SendAlarmMsg(fmt.Sprint("更新问答系列ourceId: ", sourceId, err.Error()), 2)
  1161. }
  1162. }()
  1163. var source = utils.CYGX_OBJ_ASKSERIEVIDEO
  1164. var condition string
  1165. var pars []interface{}
  1166. condition = ` AND publish_status = 1 AND askserie_video_id = ? `
  1167. pars = append(pars, sourceId)
  1168. total, e := cygx.GetCygxAskserieVideoCount(condition, pars)
  1169. if e != nil {
  1170. err = errors.New("GetCygxAskserieVideoCount, Err: " + e.Error())
  1171. return
  1172. }
  1173. //如果取消发布了就做删除处理
  1174. if total == 0 {
  1175. e = cygx.DeleteResourceData(sourceId, source)
  1176. if e != nil {
  1177. err = errors.New("DeleteResourceData, Err: " + e.Error())
  1178. return
  1179. }
  1180. } else {
  1181. //判断是否存在,如果不存在就新增,存在就更新
  1182. totalData, e := cygx.GetCygxResourceDataBySourceAndIdCount(sourceId, source)
  1183. if e != nil {
  1184. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  1185. return
  1186. }
  1187. detail, e := cygx.GetCygxAskserieVideoDetail(sourceId)
  1188. if e != nil {
  1189. err = errors.New("GetCygxAskserieVideoDetail, Err: " + e.Error())
  1190. return
  1191. }
  1192. publishDate := time.Now().Format(utils.FormatDateTime)
  1193. item := new(cygx.CygxResourceData)
  1194. item.SourceId = sourceId
  1195. item.Source = source
  1196. item.PublishDate = publishDate
  1197. item.ChartPermissionId = detail.ChartPermissionId
  1198. item.CreateTime = time.Now()
  1199. item.SearchTitle = detail.VideoName
  1200. item.SearchContent = detail.IndustryName
  1201. item.SearchOrderTime = detail.PublishDate
  1202. if totalData == 0 {
  1203. _, e := cygx.AddCygxResourceData(item)
  1204. if e != nil {
  1205. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  1206. return
  1207. }
  1208. } else {
  1209. e = cygx.UpdateResourceDataByItem(item)
  1210. if e != nil {
  1211. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  1212. return
  1213. }
  1214. }
  1215. }
  1216. return
  1217. }
  1218. func init23() {
  1219. //var condition string
  1220. //var pars []interface{}
  1221. //
  1222. //{
  1223. // //活动
  1224. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITY)
  1225. // if err != nil {
  1226. // fmt.Println(err)
  1227. // }
  1228. // for _, v := range list {
  1229. // fmt.Println(v.Source)
  1230. // UpdateActivityResourceData(v.SourceId)
  1231. // }
  1232. //}
  1233. //12.4
  1234. //{
  1235. // //活动
  1236. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITY)
  1237. // if err != nil {
  1238. // fmt.Println(err)
  1239. // }
  1240. //
  1241. // for _, v := range list {
  1242. // detail, e := cygx.GetAddActivityInfoById(v.SourceId)
  1243. // if e != nil {
  1244. // err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  1245. // fmt.Println(err)
  1246. // return
  1247. // }
  1248. // item := new(cygx.CygxResourceData)
  1249. // item.SourceId = v.SourceId
  1250. // item.Source = utils.CYGX_OBJ_ACTIVITY
  1251. // item.ChartPermissionId = detail.ChartPermissionId
  1252. // fmt.Println(v.Source)
  1253. // err = cygx.UpdateChartPermissionIdResourceDataByItem(item)
  1254. // if err != nil {
  1255. // fmt.Println(err)
  1256. // return
  1257. // }
  1258. // }
  1259. //}
  1260. //{
  1261. // //专项调研活动
  1262. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITYSPECIAL)
  1263. // if err != nil {
  1264. // fmt.Println(err)
  1265. // }
  1266. // for _, v := range list {
  1267. // fmt.Println(v.Source)
  1268. // UpdateActivitySpecialResourceData(v.SourceId)
  1269. // }
  1270. //}
  1271. //{
  1272. // //文章
  1273. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ARTICLE)
  1274. // if err != nil {
  1275. // fmt.Println(err)
  1276. // }
  1277. // for _, v := range list {
  1278. // fmt.Println(v.Source)
  1279. // UpdateArticleResourceData(v.SourceId)
  1280. // }
  1281. //}
  1282. //{
  1283. // //文章//12.4
  1284. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ARTICLE)
  1285. // if err != nil {
  1286. // fmt.Println(err)
  1287. // return
  1288. // }
  1289. // for _, v := range list {
  1290. // detail, e := cygx.GetArticleDetailByArticleId(v.SourceId)
  1291. // if e != nil {
  1292. // err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  1293. // fmt.Println(err)
  1294. // return
  1295. // }
  1296. //
  1297. // item := new(cygx.CygxResourceData)
  1298. // if detail.ArticleTypeId > 0 {
  1299. // //item.SearchTag = detail.ArticleTypeName // 研选类型名称
  1300. // item.ChartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
  1301. // } else {
  1302. // //item.SearchTag = detail.MatchTypeName
  1303. // //获取文章分类详情
  1304. // detailCategory, _ := cygx.GetCygxReportMappingCelueMaxDetailByCategoryId(detail.CategoryId)
  1305. // if detailCategory != nil {
  1306. // item.ChartPermissionId = detailCategory.ChartPermissionId
  1307. // }else{
  1308. // detailCategoryTwo, _ := cygx.GetCygxReportMappingCelueMaxDetailByCategoryId(detail.CategoryIdTwo)
  1309. // if detailCategoryTwo != nil {
  1310. // item.ChartPermissionId = detailCategoryTwo.ChartPermissionId
  1311. // }
  1312. // }
  1313. // }
  1314. // item.SourceId = v.SourceId
  1315. // item.Source = utils.CYGX_OBJ_ARTICLE
  1316. // fmt.Println(v.Source)
  1317. // err = cygx.UpdateChartPermissionIdResourceDataByItem(item)
  1318. // if err != nil {
  1319. // fmt.Println(err)
  1320. // return
  1321. // }
  1322. // }
  1323. //}
  1324. //{
  1325. // //产品内测
  1326. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_PRODUCTINTERIOR)
  1327. // if err != nil {
  1328. // fmt.Println(err)
  1329. // }
  1330. // for _, v := range list {
  1331. // fmt.Println(v.Source)
  1332. // UpdateProductInteriorResourceData(v.SourceId)
  1333. // }
  1334. //}
  1335. //
  1336. //{
  1337. // //晨会精华
  1338. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MEETINGREVIEWCHAPT)
  1339. // if err != nil {
  1340. // fmt.Println(err)
  1341. // }
  1342. // for _, v := range list {
  1343. // fmt.Println(v.Source)
  1344. // UpdateMeetingreviewchaptResourceData(v.SourceId)
  1345. // }
  1346. //}
  1347. //
  1348. //{
  1349. // //重点公司
  1350. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_REPORTSELECTION)
  1351. // if err != nil {
  1352. // fmt.Println(err)
  1353. // }
  1354. // for _, v := range list {
  1355. // fmt.Println(v.Source)
  1356. // //UpdateReportSelectionResourceData(v.SourceId)
  1357. // }
  1358. //}
  1359. //
  1360. //{
  1361. // //更新本周研究汇总
  1362. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_RESEARCHSUMMARY)
  1363. // if err != nil {
  1364. // fmt.Println(err)
  1365. // }
  1366. // for _, v := range list {
  1367. // fmt.Println(v.Source)
  1368. // //UpdateResearchSummaryResourceData(v.SourceId)
  1369. // }
  1370. //}
  1371. //
  1372. //{
  1373. // //更新本周研究汇总
  1374. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MINUTESSUMMARY)
  1375. // if err != nil {
  1376. // fmt.Println(err)
  1377. // }
  1378. // for _, v := range list {
  1379. // fmt.Println(v.Source)
  1380. // //UpdateMinutesSummaryResourceData(v.SourceId)
  1381. // }
  1382. //}
  1383. //{
  1384. // //活动音频
  1385. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITYVOICE)
  1386. // if err != nil {
  1387. // fmt.Println(err)
  1388. // }
  1389. // for _, v := range list {
  1390. // fmt.Println(v.Source)
  1391. // UpdateActivityVoiceResourceData(v.SourceId)
  1392. // }
  1393. //}
  1394. //{
  1395. // //活动视频
  1396. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITYVIDEO)
  1397. // if err != nil {
  1398. // fmt.Println(err)
  1399. // }
  1400. // for _, v := range list {
  1401. // fmt.Println(v.Source)
  1402. // UpdateActivityVideoResourceData(v.SourceId)
  1403. // }
  1404. //}
  1405. //{
  1406. // //活动音频
  1407. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ROADSHOW)
  1408. // if err != nil {
  1409. // fmt.Println(err)
  1410. // }
  1411. // for _, v := range list {
  1412. // fmt.Println(v.Source)
  1413. // UpdateMicroRoadshowResourceData(v.SourceId)
  1414. // }
  1415. //}
  1416. }