resource_data.go 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557
  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 := detail.CreateDate
  323. publishDate := time.Now().Format(utils.FormatDateTime)
  324. item := new(cygx.CygxResourceData)
  325. if detail.ArticleTypeId > 0 {
  326. item.SearchTag = detail.ArticleTypeName // 研选类型名称
  327. item.ChartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
  328. } else {
  329. item.SearchTag = detail.MatchTypeName
  330. //获取文章分类详情
  331. detailCategory, _ := cygx.GetCygxReportMappingCelueMaxDetailByCategoryId(detail.CategoryId)
  332. if detailCategory != nil {
  333. item.ChartPermissionId = detailCategory.ChartPermissionId
  334. }
  335. }
  336. var industrialName string
  337. var subjectName string
  338. //建立首页资源表,与产业的关系
  339. industrialList, e := cygx.GetIndustrialArticleGroupManagementList(sourceId)
  340. if e != nil && e.Error() != utils.ErrNoRow() {
  341. err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  342. return
  343. }
  344. for _, v := range industrialList {
  345. industrialName += v.IndustryName
  346. }
  347. //建立首页资源表,与标的 的关系
  348. subjectList, e := cygx.GetSubjectArticleGroupManagementList(sourceId)
  349. if e != nil && e.Error() != utils.ErrNoRow() {
  350. err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  351. return
  352. }
  353. for _, v := range subjectList {
  354. subjectName += v.SubjectName
  355. }
  356. item.SourceId = sourceId
  357. item.Source = source
  358. item.PublishDate = publishDate
  359. item.CreateTime = time.Now()
  360. item.SearchTitle = detail.Title
  361. annotation, e := utils.GetHtmlContentText(detail.Annotation)
  362. if e != nil && e.Error() != utils.ErrNoRow() {
  363. err = errors.New("GetHtmlContentText, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  364. return
  365. }
  366. abstract, e := utils.GetHtmlContentText(detail.Abstract)
  367. if e != nil && e.Error() != utils.ErrNoRow() {
  368. err = errors.New("GetHtmlContentText, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  369. return
  370. }
  371. item.SearchContent = annotation + abstract + detail.FieldName + detail.Stock + industrialName + subjectName
  372. item.SearchOrderTime = detail.PublishDate
  373. if totalData == 0 {
  374. newId, e := cygx.AddCygxResourceData(item)
  375. if e != nil {
  376. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  377. return
  378. }
  379. resourceDataId = int(newId)
  380. } else {
  381. e = cygx.UpdateResourceDataByItem(item)
  382. if e != nil {
  383. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  384. return
  385. }
  386. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  387. if e != nil {
  388. err = errors.New("GetCygxResourceDataByIdAndSource, Err: " + e.Error())
  389. return
  390. }
  391. resourceDataId = sourceDetail.Id
  392. }
  393. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  394. for _, v := range industrialList {
  395. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  396. industrialItem.SourceId = sourceId
  397. industrialItem.Source = source
  398. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  399. industrialItem.ResourceDataId = resourceDataId
  400. industrialItem.CreateTime = time.Now()
  401. industrialItems = append(industrialItems, industrialItem)
  402. industrialName += v.IndustryName
  403. }
  404. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  405. for _, v := range subjectList {
  406. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  407. subjectItem.SourceId = sourceId
  408. subjectItem.Source = source
  409. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  410. subjectItem.ResourceDataId = resourceDataId
  411. subjectItem.CreateTime = time.Now()
  412. subjectItems = append(subjectItems, subjectItem)
  413. subjectName += v.SubjectName
  414. }
  415. //插入关联信息
  416. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  417. if e != nil {
  418. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  419. return
  420. }
  421. }
  422. return
  423. }
  424. // 更新产品内测
  425. func UpdateProductInteriorResourceData(sourceId int) {
  426. var err error
  427. defer func() {
  428. if err != nil {
  429. fmt.Println("err:", err)
  430. go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateProductInteriorResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  431. }
  432. }()
  433. var source = utils.CYGX_OBJ_PRODUCTINTERIOR
  434. var condition string
  435. var pars []interface{}
  436. condition = ` AND visible_range = 1 AND product_interior_id = ? `
  437. pars = append(pars, sourceId)
  438. total, e := cygx.GetCygxProductInteriorCount(condition, pars)
  439. if e != nil {
  440. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  441. return
  442. }
  443. //如果取消发布了就做删除处理
  444. if total == 0 {
  445. e = cygx.DeleteResourceData(sourceId, source)
  446. if e != nil {
  447. err = errors.New("DeleteResourceData, Err: " + e.Error())
  448. return
  449. }
  450. //删除 cygx_resource_data 表关联的产业ID,标的ID
  451. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  452. if e != nil {
  453. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  454. return
  455. }
  456. } else {
  457. //判断是否存在,如果不存在就新增,存在就更新
  458. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  459. if e != nil {
  460. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  461. return
  462. }
  463. detail, e := cygx.GetCygxProductInteriorDetail(sourceId)
  464. if e != nil {
  465. err = errors.New("GetCygxReportSelectionInfoById, Err: " + err.Error())
  466. return
  467. }
  468. mapMatchTypeName := GetCygxReportMappingCygxListMap() //报告匹配类型
  469. var resourceDataId int
  470. publishDate := detail.CreateTime
  471. item := new(cygx.CygxResourceData)
  472. var industrialName string
  473. var subjectName string
  474. //建立首页资源表,与产业的关系
  475. industrialList, e := cygx.GetProductInteriorIndustrialGroupManagementList(sourceId)
  476. if e != nil && e.Error() != utils.ErrNoRow() {
  477. err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  478. return
  479. }
  480. for _, v := range industrialList {
  481. industrialName += v.IndustryName
  482. }
  483. //建立首页资源表,与标的 的关系
  484. subjectList, e := cygx.GetProductInteriorIndustrialGroupSubjecttList(sourceId)
  485. if e != nil && e.Error() != utils.ErrNoRow() {
  486. err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  487. return
  488. }
  489. for _, v := range subjectList {
  490. subjectName += v.SubjectName
  491. }
  492. item.SourceId = sourceId
  493. item.Source = source
  494. item.SearchTag = mapMatchTypeName[detail.MatchTypeId]
  495. item.PublishDate = publishDate
  496. item.ChartPermissionId = detail.ChartPermissionId
  497. item.CreateTime = time.Now()
  498. item.SearchTitle = detail.Title
  499. item.SearchContent = detail.Abstract + industrialName + subjectName
  500. item.SearchOrderTime = detail.PublishTime
  501. if totalData == 0 {
  502. newId, e := cygx.AddCygxResourceData(item)
  503. if e != nil {
  504. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  505. return
  506. }
  507. resourceDataId = int(newId)
  508. } else {
  509. e = cygx.UpdateResourceDataByItem(item)
  510. if e != nil {
  511. err = errors.New("UpdateResourceData, Err: " + e.Error())
  512. return
  513. }
  514. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  515. if e != nil {
  516. err = errors.New("UpdateResourceData, Err: " + e.Error())
  517. return
  518. }
  519. resourceDataId = sourceDetail.Id
  520. }
  521. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  522. for _, v := range industrialList {
  523. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  524. industrialItem.SourceId = sourceId
  525. industrialItem.Source = source
  526. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  527. industrialItem.ResourceDataId = resourceDataId
  528. industrialItem.CreateTime = time.Now()
  529. industrialItems = append(industrialItems, industrialItem)
  530. }
  531. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  532. for _, v := range subjectList {
  533. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  534. subjectItem.SourceId = sourceId
  535. subjectItem.Source = source
  536. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  537. subjectItem.ResourceDataId = resourceDataId
  538. subjectItem.CreateTime = time.Now()
  539. subjectItems = append(subjectItems, subjectItem)
  540. }
  541. //插入关联信息
  542. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  543. if e != nil {
  544. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  545. return
  546. }
  547. }
  548. return
  549. }
  550. // 更新晨会精华 (跟踪点评)
  551. func UpdateMeetingreviewchaptResourceData(sourceId int) {
  552. var err error
  553. defer func() {
  554. if err != nil {
  555. fmt.Println("err:", err)
  556. go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateMeetingreviewchaptResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  557. }
  558. }()
  559. var source = utils.CYGX_OBJ_MEETINGREVIEWCHAPT
  560. total, e := cygx.GetCygxMorningMeetingReviewChapterCount(sourceId)
  561. if e != nil {
  562. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  563. return
  564. }
  565. //如果取消发布了就做删除处理
  566. if total == 0 {
  567. e = cygx.DeleteResourceData(sourceId, source)
  568. if e != nil {
  569. err = errors.New("DeleteResourceData, Err: " + e.Error())
  570. return
  571. }
  572. //删除 cygx_resource_data 表关联的产业ID,标的ID
  573. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  574. if e != nil {
  575. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  576. return
  577. }
  578. } else {
  579. //判断是否存在,如果不存在就新增,存在就更新
  580. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  581. if e != nil {
  582. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  583. return
  584. }
  585. detail, e := cygx.GetCygxMorningMeetingReviewChapterDetail(sourceId)
  586. if e != nil {
  587. err = errors.New("GetCygxMorningMeetingReviewChapterDetail" + e.Error())
  588. return
  589. }
  590. var resourceDataId int
  591. publishDate := time.Now().Format(utils.FormatDateTime)
  592. item := new(cygx.CygxResourceData)
  593. var industrialName string
  594. var subjectName string
  595. //建立首页资源表,与产业的关系
  596. var condition string
  597. var pars []interface{}
  598. condition = " AND industrial_management_id = ? "
  599. pars = append(pars, detail.IndustryId)
  600. //建立首页资源表,与产业的关系
  601. industrialList, e := cygx.GetTopOneMonthArtReadNumIndustryAll(condition, pars)
  602. if e != nil && e.Error() != utils.ErrNoRow() {
  603. err = errors.New("GetTopOneMonthArtReadNumIndustryAll, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  604. return
  605. }
  606. for _, v := range industrialList {
  607. industrialName += v.IndustryName
  608. }
  609. if detail.IndustrialSubjectIds != "" {
  610. condition = ""
  611. pars = make([]interface{}, 0)
  612. condition = " AND industrial_subject_id IN (" + detail.IndustrialSubjectIds + ") "
  613. //建立首页资源表,与标的 的关系
  614. subjectList, e := cygx.GetCygxIndustrialSubjectListCondition(condition, pars)
  615. if e != nil && e.Error() != utils.ErrNoRow() {
  616. err = errors.New("GetCygxIndustrialSubjectListCondition, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  617. return
  618. }
  619. for _, v := range subjectList {
  620. subjectName += v.SubjectName
  621. }
  622. }
  623. item.SourceId = sourceId
  624. item.Source = source
  625. item.SearchTag = "晨会精华"
  626. item.PublishDate = publishDate
  627. item.ChartPermissionId = detail.ChartPermissionId
  628. item.CreateTime = time.Now()
  629. item.SearchTitle = industrialName + subjectName
  630. content, e := utils.GetHtmlContentText(detail.Content)
  631. if e != nil && e.Error() != utils.ErrNoRow() {
  632. err = errors.New("GetHtmlContentText, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  633. return
  634. }
  635. item.SearchContent = content
  636. item.SearchOrderTime = detail.MeetingTime.Format(utils.FormatDateTime)
  637. if totalData == 0 {
  638. newId, e := cygx.AddCygxResourceData(item)
  639. if e != nil {
  640. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  641. return
  642. }
  643. resourceDataId = int(newId)
  644. } else {
  645. e = cygx.UpdateResourceDataByItem(item)
  646. if e != nil {
  647. err = errors.New("UpdateResourceData, Err: " + e.Error())
  648. return
  649. }
  650. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  651. if e != nil {
  652. err = errors.New("UpdateResourceData, Err: " + e.Error())
  653. return
  654. }
  655. resourceDataId = sourceDetail.Id
  656. }
  657. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  658. for _, v := range industrialList {
  659. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  660. industrialItem.SourceId = sourceId
  661. industrialItem.Source = source
  662. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  663. industrialItem.ResourceDataId = resourceDataId
  664. industrialItem.CreateTime = time.Now()
  665. industrialItems = append(industrialItems, industrialItem)
  666. }
  667. //return
  668. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  669. //晨会精华如果关联的标的就做查询
  670. if detail.IndustrialSubjectIds != "" {
  671. condition = ""
  672. pars = make([]interface{}, 0)
  673. condition = " AND industrial_subject_id IN (" + detail.IndustrialSubjectIds + ") "
  674. //建立首页资源表,与标的 的关系
  675. subjectList, e := cygx.GetCygxIndustrialSubjectListCondition(condition, pars)
  676. if e != nil && e.Error() != utils.ErrNoRow() {
  677. err = errors.New("GetCygxIndustrialSubjectListCondition, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  678. return
  679. }
  680. for _, v := range subjectList {
  681. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  682. subjectItem.SourceId = sourceId
  683. subjectItem.Source = source
  684. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  685. subjectItem.ResourceDataId = resourceDataId
  686. subjectItem.CreateTime = time.Now()
  687. subjectItems = append(subjectItems, subjectItem)
  688. }
  689. }
  690. //插入关联信息
  691. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  692. if e != nil {
  693. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  694. return
  695. }
  696. }
  697. return
  698. }
  699. // 更新报告精选(重点公司)
  700. func UpdateReportSelectionResourceData(sourceId int) {
  701. var err error
  702. defer func() {
  703. if err != nil {
  704. fmt.Println("err:", err)
  705. go alarm_msg.SendAlarmMsg("更新报告精选(重点公司) 失败,UpdateReportSelectionResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  706. }
  707. }()
  708. var source = utils.CYGX_OBJ_REPORTSELECTION
  709. var condition string
  710. var pars []interface{}
  711. condition = ` AND visible_range = 1 AND article_id = ? `
  712. pars = append(pars, sourceId)
  713. total, e := cygx.GetCygxReportSelection(condition, pars)
  714. if e != nil {
  715. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  716. return
  717. }
  718. //如果取消发布了就做删除处理
  719. if total == 0 {
  720. e = cygx.DeleteResourceData(sourceId, source)
  721. if e != nil {
  722. err = errors.New("DeleteResourceData, Err: " + e.Error())
  723. return
  724. }
  725. } else {
  726. //判断是否存在,如果不存在就新增,存在就更新
  727. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  728. if e != nil {
  729. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  730. return
  731. }
  732. detail, e := cygx.GetCygxReportSelectionInfoById(sourceId)
  733. if e != nil {
  734. err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  735. return
  736. }
  737. publishDate := detail.PublishDate
  738. item := new(cygx.CygxResourceData)
  739. item.SourceId = sourceId
  740. item.Source = source
  741. item.SearchTag = "重点公司"
  742. item.PublishDate = publishDate
  743. item.CreateTime = time.Now()
  744. item.SearchTitle = detail.Title
  745. item.SearchContent = ""
  746. item.SearchOrderTime = detail.PublishDate
  747. if totalData == 0 {
  748. _, e := cygx.AddCygxResourceData(item)
  749. if e != nil {
  750. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  751. return
  752. }
  753. } else {
  754. e = cygx.UpdateResourceDataByItem(item)
  755. if e != nil {
  756. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  757. return
  758. }
  759. }
  760. }
  761. return
  762. }
  763. // 更新本周研究汇总
  764. func UpdateResearchSummaryResourceData(sourceId int) {
  765. var err error
  766. defer func() {
  767. if err != nil {
  768. fmt.Println("err:", err)
  769. go alarm_msg.SendAlarmMsg("更新本周研究汇总 失败,UpdateResearchSummaryResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  770. }
  771. }()
  772. var source = utils.CYGX_OBJ_RESEARCHSUMMARY
  773. var condition string
  774. var pars []interface{}
  775. condition = ` AND visible_range = 1 AND article_id = ? `
  776. pars = append(pars, sourceId)
  777. total, e := cygx.GetCygxResearchSummary(condition, pars)
  778. if e != nil {
  779. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  780. return
  781. }
  782. //如果取消发布了就做删除处理
  783. if total == 0 {
  784. e = cygx.DeleteResourceData(sourceId, source)
  785. if e != nil {
  786. err = errors.New("DeleteResourceData, Err: " + e.Error())
  787. return
  788. }
  789. } else {
  790. //判断是否存在,如果不存在就新增,存在就更新
  791. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  792. if e != nil {
  793. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  794. return
  795. }
  796. detail, e := cygx.GetCygxResearchSummaryInfoById(sourceId)
  797. if e != nil {
  798. err = errors.New("GetCygxResearchSummaryInfoById, Err: " + e.Error())
  799. return
  800. }
  801. publishDate := time.Now().Format(utils.FormatDateTime)
  802. item := new(cygx.CygxResourceData)
  803. item.SourceId = sourceId
  804. item.Source = source
  805. item.SearchTag = "本周研究汇总"
  806. item.PublishDate = publishDate
  807. item.CreateTime = time.Now()
  808. item.SearchTitle = detail.Title
  809. item.SearchContent = ""
  810. item.SearchOrderTime = detail.PublishDate
  811. if totalData == 0 {
  812. _, e := cygx.AddCygxResourceData(item)
  813. if e != nil {
  814. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  815. return
  816. }
  817. } else {
  818. e = cygx.UpdateResourceDataByItem(item)
  819. if e != nil {
  820. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  821. return
  822. }
  823. }
  824. }
  825. return
  826. }
  827. // 更新上周纪要汇总
  828. func UpdateMinutesSummaryResourceData(sourceId int) {
  829. var err error
  830. defer func() {
  831. if err != nil {
  832. fmt.Println("err:", err)
  833. go alarm_msg.SendAlarmMsg("更新上周纪要汇总 失败,UpdateMinutesSummaryResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  834. }
  835. }()
  836. var source = utils.CYGX_OBJ_MINUTESSUMMARY
  837. var condition string
  838. var pars []interface{}
  839. condition = ` AND visible_range = 1 AND article_id = ? `
  840. pars = append(pars, sourceId)
  841. total, e := cygx.GetCygxMinutesSummary(condition, pars)
  842. if e != nil {
  843. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  844. return
  845. }
  846. //如果取消发布了就做删除处理
  847. if total == 0 {
  848. e = cygx.DeleteResourceData(sourceId, source)
  849. if e != nil {
  850. err = errors.New("DeleteResourceData, Err: " + e.Error())
  851. return
  852. }
  853. } else {
  854. //判断是否存在,如果不存在就新增,存在就更新
  855. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  856. if e != nil {
  857. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  858. return
  859. }
  860. detail, e := cygx.GetCygxMinutesSummaryInfoById(sourceId)
  861. if e != nil {
  862. err = errors.New("GetCygxMinutesSummaryInfoById, Err: " + e.Error())
  863. return
  864. }
  865. publishDate := time.Now().Format(utils.FormatDateTime)
  866. item := new(cygx.CygxResourceData)
  867. item.SourceId = sourceId
  868. item.Source = source
  869. item.SearchTag = "上周纪要汇总"
  870. item.PublishDate = publishDate
  871. item.CreateTime = time.Now()
  872. item.SearchTitle = detail.Title
  873. item.SearchContent = ""
  874. item.SearchOrderTime = detail.PublishDate
  875. if totalData == 0 {
  876. _, e := cygx.AddCygxResourceData(item)
  877. if e != nil {
  878. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  879. return
  880. }
  881. } else {
  882. e = cygx.UpdateResourceDataByItem(item)
  883. if e != nil {
  884. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  885. return
  886. }
  887. }
  888. }
  889. return
  890. }
  891. // 更新活动音频
  892. func UpdateActivityVoiceResourceData(sourceId int) {
  893. time.Sleep(1 * time.Second) // 添加1秒的延迟
  894. var err error
  895. defer func() {
  896. if err != nil {
  897. fmt.Println("err:", err)
  898. go alarm_msg.SendAlarmMsg("更新更新活动音频 失败,UpdateActivityVoiceResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  899. }
  900. }()
  901. var source = utils.CYGX_OBJ_ACTIVITYVOICE
  902. var condition string
  903. var pars []interface{}
  904. condition = ` AND activity_voice_id = ? `
  905. pars = append(pars, sourceId)
  906. total, e := cygx.GetCygxActivityVoiceCount(condition, pars)
  907. if e != nil {
  908. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  909. return
  910. }
  911. //如果取消发布了就做删除处理
  912. if total == 0 {
  913. e = cygx.DeleteResourceData(sourceId, source)
  914. if e != nil {
  915. err = errors.New("DeleteResourceData, Err: " + e.Error())
  916. return
  917. }
  918. } else {
  919. //获取音频详情
  920. voiceDetail, e := cygx.GetCygxActivityVoiceReqDetailByActivityVoiceId(sourceId)
  921. if e != nil {
  922. err = errors.New("GetCygxActivityVoiceReqDetail" + e.Error())
  923. return
  924. }
  925. activityId := voiceDetail.ActivityId
  926. //获取活动详情
  927. activityInfo, e := cygx.GetAddActivityInfoById(activityId)
  928. if e != nil {
  929. err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
  930. return
  931. }
  932. //判断是否存在,如果不存在就新增,存在就更新
  933. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  934. if e != nil {
  935. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  936. return
  937. }
  938. publishDate := time.Now().Format(utils.FormatDateTime)
  939. item := new(cygx.CygxResourceData)
  940. var industrialName string
  941. var subjectName string
  942. //建立首页资源表,与产业的关系
  943. industrialList, e := cygx.GetIndustrialActivityGroupManagementList(activityId, 1)
  944. if e != nil && e.Error() != utils.ErrNoRow() {
  945. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(activityId))
  946. return
  947. }
  948. for _, v := range industrialList {
  949. industrialName += v.IndustryName
  950. }
  951. //建立首页资源表,与标的 的关系
  952. subjectList, e := cygx.GetSubjectActivityGroupManagementList(activityId, 1)
  953. if e != nil && e.Error() != utils.ErrNoRow() {
  954. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(activityId))
  955. return
  956. }
  957. for _, v := range subjectList {
  958. subjectName += v.SubjectName
  959. }
  960. item.SourceId = sourceId
  961. item.Source = source
  962. //易董办会的分析师电话会,为路演回放
  963. if voiceDetail.FileType == 1 {
  964. item.SearchTag = "路演回放"
  965. } else {
  966. item.SearchTag = "调研反馈"
  967. }
  968. item.PublishDate = publishDate
  969. item.ChartPermissionId = activityInfo.ChartPermissionId
  970. item.CreateTime = utils.StrDateToDate(activityInfo.ActivityTime)
  971. item.SearchTitle = voiceDetail.VoiceName
  972. item.SearchContent = activityInfo.Label + industrialName + subjectName
  973. item.SearchOrderTime = activityInfo.ActivityTime
  974. if totalData == 0 {
  975. _, e := cygx.AddCygxResourceData(item)
  976. if e != nil {
  977. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  978. return
  979. }
  980. } else {
  981. e = cygx.UpdateResourceDataByItem(item)
  982. if e != nil {
  983. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  984. return
  985. }
  986. }
  987. }
  988. return
  989. }
  990. // 更新活动视频
  991. func UpdateActivityVideoResourceData(sourceId int) {
  992. time.Sleep(1 * time.Second) // 添加1秒的延迟
  993. var err error
  994. defer func() {
  995. if err != nil {
  996. fmt.Println("err:", err)
  997. go alarm_msg.SendAlarmMsg("更新更新活动视频 失败,UpdateActivityVideoResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  998. }
  999. }()
  1000. var source = utils.CYGX_OBJ_ACTIVITYVIDEO
  1001. var condition string
  1002. var pars []interface{}
  1003. condition = ` AND v.video_id = ? `
  1004. pars = append(pars, sourceId)
  1005. total, e := cygx.GetActivityVideoCount(condition, pars)
  1006. if e != nil {
  1007. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  1008. return
  1009. }
  1010. //如果取消发布了就做删除处理
  1011. if total == 0 {
  1012. e = cygx.DeleteResourceData(sourceId, source)
  1013. if e != nil {
  1014. err = errors.New("DeleteResourceData, Err: " + e.Error())
  1015. return
  1016. }
  1017. } else {
  1018. videoDetail, e := cygx.GetCygxActivityVideoReqDetailByVideoId(sourceId)
  1019. if e != nil {
  1020. err = errors.New("GetCygxActivityVoiceReqDetail" + e.Error())
  1021. return
  1022. }
  1023. activityId := videoDetail.ActivityId
  1024. activityInfo, e := cygx.GetAddActivityInfoById(activityId)
  1025. if e != nil {
  1026. err = errors.New("GetAddActivityInfoById, Err: " + e.Error())
  1027. return
  1028. }
  1029. //判断是否存在,如果不存在就新增,存在就更新
  1030. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  1031. if e != nil {
  1032. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  1033. return
  1034. }
  1035. publishDate := time.Now().Format(utils.FormatDateTime)
  1036. item := new(cygx.CygxResourceData)
  1037. var industrialName string
  1038. var subjectName string
  1039. //建立首页资源表,与产业的关系
  1040. industrialList, e := cygx.GetIndustrialActivityGroupManagementList(activityId, 1)
  1041. if e != nil && e.Error() != utils.ErrNoRow() {
  1042. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(activityId))
  1043. return
  1044. }
  1045. for _, v := range industrialList {
  1046. industrialName += v.IndustryName
  1047. }
  1048. //建立首页资源表,与标的 的关系
  1049. subjectList, e := cygx.GetSubjectActivityGroupManagementList(activityId, 1)
  1050. if e != nil && e.Error() != utils.ErrNoRow() {
  1051. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(activityId))
  1052. return
  1053. }
  1054. for _, v := range subjectList {
  1055. subjectName += v.SubjectName
  1056. }
  1057. item.SourceId = sourceId
  1058. item.Source = source
  1059. //易董办会的分析师电话会,为路演回放
  1060. if videoDetail.FileType == 1 {
  1061. item.SearchTag = "路演回放"
  1062. } else {
  1063. item.SearchTag = "调研反馈"
  1064. }
  1065. item.PublishDate = publishDate
  1066. item.ChartPermissionId = activityInfo.ChartPermissionId
  1067. item.CreateTime = utils.StrDateToDate(activityInfo.ActivityTime)
  1068. item.SearchTitle = videoDetail.VideoName
  1069. item.SearchContent = activityInfo.Label + industrialName + subjectName
  1070. item.SearchOrderTime = activityInfo.ActivityTime
  1071. if totalData == 0 {
  1072. _, e := cygx.AddCygxResourceData(item)
  1073. if e != nil {
  1074. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  1075. return
  1076. }
  1077. } else {
  1078. e = cygx.UpdateResourceDataByItem(item)
  1079. if e != nil {
  1080. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  1081. return
  1082. }
  1083. }
  1084. }
  1085. return
  1086. }
  1087. // 更新产业视频
  1088. func UpdateMicroRoadshowResourceData(sourceId int) {
  1089. var err error
  1090. defer func() {
  1091. if err != nil {
  1092. fmt.Println("err:", err)
  1093. go alarm_msg.SendAlarmMsg("更新产业视频 失败,UpdateMicroRoadshowResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  1094. }
  1095. }()
  1096. var source = utils.CYGX_OBJ_ROADSHOW
  1097. var condition string
  1098. var pars []interface{}
  1099. condition = ` AND publish_status = 1 AND video_id = ? `
  1100. pars = append(pars, sourceId)
  1101. total, e := cygx.GetMicroRoadshowVideoListCount(condition, pars)
  1102. if e != nil {
  1103. err = errors.New("GetMicroRoadshowVideoListCount, Err: " + e.Error())
  1104. return
  1105. }
  1106. //如果取消发布了就做删除处理
  1107. if total == 0 {
  1108. e = cygx.DeleteResourceData(sourceId, source)
  1109. if e != nil {
  1110. err = errors.New("DeleteResourceData, Err: " + e.Error())
  1111. return
  1112. }
  1113. } else {
  1114. //判断是否存在,如果不存在就新增,存在就更新
  1115. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  1116. if e != nil {
  1117. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  1118. return
  1119. }
  1120. detail, e := cygx.GetMicroRoadshowVideoByVideoId(sourceId)
  1121. if e != nil {
  1122. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  1123. return
  1124. }
  1125. publishDate := time.Now().Format(utils.FormatDateTime)
  1126. item := new(cygx.CygxResourceData)
  1127. item.SourceId = sourceId
  1128. item.Source = source
  1129. item.SearchTag = ""
  1130. item.PublishDate = publishDate
  1131. item.ChartPermissionId = detail.ChartPermissionId
  1132. item.CreateTime = time.Now()
  1133. item.SearchTitle = detail.VideoName
  1134. item.SearchContent = detail.IndustryName
  1135. item.SearchOrderTime = detail.PublishDate.Format(utils.FormatDateTime)
  1136. if totalData == 0 {
  1137. _, e := cygx.AddCygxResourceData(item)
  1138. if e != nil {
  1139. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  1140. return
  1141. }
  1142. } else {
  1143. e = cygx.UpdateResourceDataByItem(item)
  1144. if e != nil {
  1145. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  1146. return
  1147. }
  1148. }
  1149. }
  1150. return
  1151. }
  1152. //func init() {
  1153. // UpdateAskserieVideoResourceData(7)
  1154. //}
  1155. // 更新问答系列 写入首页最新 cygx_resource_data 表
  1156. func UpdateAskserieVideoResourceData(sourceId int) {
  1157. var err error
  1158. defer func() {
  1159. if err != nil {
  1160. fmt.Println(err)
  1161. go alarm_msg.SendAlarmMsg(fmt.Sprint("更新问答系列ourceId: ", sourceId, err.Error()), 2)
  1162. }
  1163. }()
  1164. var source = utils.CYGX_OBJ_ASKSERIEVIDEO
  1165. var condition string
  1166. var pars []interface{}
  1167. condition = ` AND publish_status = 1 AND askserie_video_id = ? `
  1168. pars = append(pars, sourceId)
  1169. total, e := cygx.GetCygxAskserieVideoCount(condition, pars)
  1170. if e != nil {
  1171. err = errors.New("GetCygxAskserieVideoCount, Err: " + e.Error())
  1172. return
  1173. }
  1174. //如果取消发布了就做删除处理
  1175. if total == 0 {
  1176. e = cygx.DeleteResourceData(sourceId, source)
  1177. if e != nil {
  1178. err = errors.New("DeleteResourceData, Err: " + e.Error())
  1179. return
  1180. }
  1181. } else {
  1182. //判断是否存在,如果不存在就新增,存在就更新
  1183. totalData, e := cygx.GetCygxResourceDataBySourceAndIdCount(sourceId, source)
  1184. if e != nil {
  1185. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  1186. return
  1187. }
  1188. detail, e := cygx.GetCygxAskserieVideoDetail(sourceId)
  1189. if e != nil {
  1190. err = errors.New("GetCygxAskserieVideoDetail, Err: " + e.Error())
  1191. return
  1192. }
  1193. publishDate := time.Now().Format(utils.FormatDateTime)
  1194. item := new(cygx.CygxResourceData)
  1195. item.SourceId = sourceId
  1196. item.Source = source
  1197. item.PublishDate = publishDate
  1198. item.ChartPermissionId = detail.ChartPermissionId
  1199. item.CreateTime = time.Now()
  1200. item.SearchTitle = detail.VideoName
  1201. item.SearchContent = detail.IndustryName
  1202. item.SearchOrderTime = detail.PublishDate
  1203. if totalData == 0 {
  1204. _, e := cygx.AddCygxResourceData(item)
  1205. if e != nil {
  1206. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  1207. return
  1208. }
  1209. } else {
  1210. e = cygx.UpdateResourceDataByItem(item)
  1211. if e != nil {
  1212. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  1213. return
  1214. }
  1215. }
  1216. }
  1217. return
  1218. }
  1219. func init300() {
  1220. //var condition string
  1221. //var pars []interface{}
  1222. //
  1223. //{
  1224. // //活动
  1225. // var condition string
  1226. // var pars []interface{}
  1227. // condition = " AND publish_status = 1 AND activity_id NOT IN (SELECT source_id FROM cygx_resource_data WHERE source = 'activity') "
  1228. // list, err := cygx.GetActivityListAll(condition, pars, 0, 9999)
  1229. // if err != nil {
  1230. // fmt.Println(err)
  1231. // }
  1232. //
  1233. // //list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITY)
  1234. // //if err != nil {
  1235. // // fmt.Println(err)
  1236. // //}
  1237. // fmt.Println(len(list))
  1238. // for _, v := range list {
  1239. // fmt.Println(v.ActivityId)
  1240. // UpdateActivityResourceData(v.ActivityId)
  1241. // }
  1242. //}
  1243. //12.4
  1244. //{
  1245. // //活动
  1246. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITY)
  1247. // if err != nil {
  1248. // fmt.Println(err)
  1249. // }
  1250. //
  1251. // for _, v := range list {
  1252. // detail, e := cygx.GetAddActivityInfoById(v.SourceId)
  1253. // if e != nil {
  1254. // err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  1255. // fmt.Println(err)
  1256. // return
  1257. // }
  1258. // item := new(cygx.CygxResourceData)
  1259. // item.SourceId = v.SourceId
  1260. // item.Source = utils.CYGX_OBJ_ACTIVITY
  1261. // item.ChartPermissionId = detail.ChartPermissionId
  1262. // fmt.Println(v.Source)
  1263. // err = cygx.UpdateChartPermissionIdResourceDataByItem(item)
  1264. // if err != nil {
  1265. // fmt.Println(err)
  1266. // return
  1267. // }
  1268. // }
  1269. //}
  1270. //{
  1271. // //专项调研活动
  1272. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITYSPECIAL)
  1273. // if err != nil {
  1274. // fmt.Println(err)
  1275. // }
  1276. // for _, v := range list {
  1277. // fmt.Println(v.Source)
  1278. // UpdateActivitySpecialResourceData(v.SourceId)
  1279. // }
  1280. //}
  1281. //{
  1282. // var condition string
  1283. // var pars []interface{}
  1284. // condition = " AND publish_status = 1 AND article_id NOT IN (SELECT source_id FROM cygx_resource_data WHERE source = 'article') "
  1285. //
  1286. // list, err := cygx.GetArticleRoadshowEssenceList(condition, pars, 0, 9999)
  1287. // if err != nil {
  1288. // fmt.Println(err)
  1289. // return
  1290. // }
  1291. // fmt.Println(len(list))
  1292. // //return
  1293. // //文章
  1294. // //list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ARTICLE)
  1295. // //if err != nil {
  1296. // // fmt.Println(err)
  1297. // //}
  1298. // for _, v := range list {
  1299. // fmt.Println(v.ArticleId)
  1300. // UpdateArticleResourceData(v.ArticleId)
  1301. // }
  1302. //}
  1303. //{
  1304. // //文章//12.4
  1305. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ARTICLE)
  1306. // if err != nil {
  1307. // fmt.Println(err)
  1308. // return
  1309. // }
  1310. // for _, v := range list {
  1311. // detail, e := cygx.GetArticleDetailByArticleId(v.SourceId)
  1312. // if e != nil {
  1313. // err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  1314. // fmt.Println(err)
  1315. // return
  1316. // }
  1317. //
  1318. // item := new(cygx.CygxResourceData)
  1319. // if detail.ArticleTypeId > 0 {
  1320. // //item.SearchTag = detail.ArticleTypeName // 研选类型名称
  1321. // item.ChartPermissionId = utils.CHART_PERMISSION_ID_YANXUAN
  1322. // } else {
  1323. // //item.SearchTag = detail.MatchTypeName
  1324. // //获取文章分类详情
  1325. // detailCategory, _ := cygx.GetCygxReportMappingCelueMaxDetailByCategoryId(detail.CategoryId)
  1326. // if detailCategory != nil {
  1327. // item.ChartPermissionId = detailCategory.ChartPermissionId
  1328. // }else{
  1329. // detailCategoryTwo, _ := cygx.GetCygxReportMappingCelueMaxDetailByCategoryId(detail.CategoryIdTwo)
  1330. // if detailCategoryTwo != nil {
  1331. // item.ChartPermissionId = detailCategoryTwo.ChartPermissionId
  1332. // }
  1333. // }
  1334. // }
  1335. // item.SourceId = v.SourceId
  1336. // item.Source = utils.CYGX_OBJ_ARTICLE
  1337. // fmt.Println(v.Source)
  1338. // err = cygx.UpdateChartPermissionIdResourceDataByItem(item)
  1339. // if err != nil {
  1340. // fmt.Println(err)
  1341. // return
  1342. // }
  1343. // }
  1344. //}
  1345. //{
  1346. // //产品内测
  1347. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_PRODUCTINTERIOR)
  1348. // if err != nil {
  1349. // fmt.Println(err)
  1350. // }
  1351. // for _, v := range list {
  1352. // fmt.Println(v.Source)
  1353. // UpdateProductInteriorResourceData(v.SourceId)
  1354. // }
  1355. //}
  1356. //
  1357. //{
  1358. // //晨会精华
  1359. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MEETINGREVIEWCHAPT)
  1360. // if err != nil {
  1361. // fmt.Println(err)
  1362. // }
  1363. // for _, v := range list {
  1364. // fmt.Println(v.Source)
  1365. // UpdateMeetingreviewchaptResourceData(v.SourceId)
  1366. // }
  1367. //}
  1368. //
  1369. //{
  1370. // //重点公司
  1371. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_REPORTSELECTION)
  1372. // if err != nil {
  1373. // fmt.Println(err)
  1374. // }
  1375. // for _, v := range list {
  1376. // fmt.Println(v.Source)
  1377. // //UpdateReportSelectionResourceData(v.SourceId)
  1378. // }
  1379. //}
  1380. //
  1381. //{
  1382. // //更新本周研究汇总
  1383. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_RESEARCHSUMMARY)
  1384. // if err != nil {
  1385. // fmt.Println(err)
  1386. // }
  1387. // for _, v := range list {
  1388. // fmt.Println(v.Source)
  1389. // //UpdateResearchSummaryResourceData(v.SourceId)
  1390. // }
  1391. //}
  1392. //
  1393. //{
  1394. // //更新本周研究汇总
  1395. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MINUTESSUMMARY)
  1396. // if err != nil {
  1397. // fmt.Println(err)
  1398. // }
  1399. // for _, v := range list {
  1400. // fmt.Println(v.Source)
  1401. // //UpdateMinutesSummaryResourceData(v.SourceId)
  1402. // }
  1403. //}
  1404. //{
  1405. // //活动音频
  1406. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITYVOICE)
  1407. // if err != nil {
  1408. // fmt.Println(err)
  1409. // }
  1410. // for _, v := range list {
  1411. // fmt.Println(v.Source)
  1412. // UpdateActivityVoiceResourceData(v.SourceId)
  1413. // }
  1414. //}
  1415. //{
  1416. // //活动视频
  1417. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITYVIDEO)
  1418. // if err != nil {
  1419. // fmt.Println(err)
  1420. // }
  1421. // for _, v := range list {
  1422. // fmt.Println(v.SourceId)
  1423. // UpdateActivityVideoResourceData(v.SourceId)
  1424. // }
  1425. //}
  1426. //{
  1427. // //活动音频
  1428. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ROADSHOW)
  1429. // if err != nil {
  1430. // fmt.Println(err)
  1431. // }
  1432. // for _, v := range list {
  1433. // fmt.Println(v.Source)
  1434. // UpdateMicroRoadshowResourceData(v.SourceId)
  1435. // }
  1436. //}
  1437. //{
  1438. // //问答系列视频
  1439. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ASKSERIEVIDEO)
  1440. // if err != nil {
  1441. // fmt.Println(err)
  1442. // }
  1443. // for _, v := range list {
  1444. // fmt.Println(v.SourceId)
  1445. // UpdateAskserieVideoResourceData(v.SourceId)
  1446. // }
  1447. //}
  1448. //{
  1449. // //晨会精华
  1450. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MEETINGREVIEWCHAPT)
  1451. // if err != nil {
  1452. // fmt.Println(err)
  1453. // }
  1454. // for _, v := range list {
  1455. // fmt.Println(v.SourceId)
  1456. // UpdateMeetingreviewchaptResourceData(v.SourceId)
  1457. // }
  1458. //}
  1459. //{
  1460. // //研选专栏
  1461. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_YANXUANSPECIAL)
  1462. // if err != nil {
  1463. // fmt.Println(err)
  1464. // }
  1465. // for _, v := range list {
  1466. // fmt.Println(v.SourceId)
  1467. // UpdateYanxuanSpecialResourceData(v.SourceId)
  1468. // }
  1469. //}
  1470. }