resource_data.go 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904
  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. // UpdateMeetingreviewchaptResourceData(141)
  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 := time.Now().Format(utils.FormatDateTime)
  74. item := new(cygx.CygxResourceData)
  75. item.SourceId = sourceId
  76. item.Source = source
  77. //分析师电话会(C类)
  78. item.SearchTag = detail.ActivityTypeName
  79. item.PublishDate = publishDate
  80. item.CreateTime = time.Now()
  81. if totalData == 0 {
  82. newId, e := cygx.AddCygxResourceData(item)
  83. if e != nil {
  84. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  85. return
  86. }
  87. resourceDataId = int(newId)
  88. } else {
  89. e = cygx.UpdateResourceDataByItem(item)
  90. if e != nil {
  91. err = errors.New("UpdateResourceData, Err: " + e.Error())
  92. return
  93. }
  94. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  95. if e != nil {
  96. err = errors.New("UpdateResourceData, Err: " + e.Error())
  97. return
  98. }
  99. resourceDataId = sourceDetail.Id
  100. }
  101. //建立首页资源表,与产业的关系
  102. industrialList, e := cygx.GetIndustrialActivityGroupManagementList(sourceId, 1)
  103. if e != nil && e.Error() != utils.ErrNoRow() {
  104. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
  105. return
  106. }
  107. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  108. for _, v := range industrialList {
  109. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  110. industrialItem.SourceId = sourceId
  111. industrialItem.Source = source
  112. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  113. industrialItem.ResourceDataId = resourceDataId
  114. industrialItem.CreateTime = time.Now()
  115. industrialItems = append(industrialItems, industrialItem)
  116. }
  117. //建立首页资源表,与标的 的关系
  118. subjectList, e := cygx.GetSubjectActivityGroupManagementList(sourceId, 1)
  119. if e != nil && e.Error() != utils.ErrNoRow() {
  120. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
  121. return
  122. }
  123. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  124. for _, v := range subjectList {
  125. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  126. subjectItem.SourceId = sourceId
  127. subjectItem.Source = source
  128. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  129. subjectItem.ResourceDataId = resourceDataId
  130. subjectItem.CreateTime = time.Now()
  131. subjectItems = append(subjectItems, subjectItem)
  132. }
  133. //插入关联信息
  134. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  135. if e != nil {
  136. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  137. return
  138. }
  139. }
  140. return
  141. }
  142. // 更新专项调研活动
  143. func UpdateActivitySpecialResourceData(sourceId int) {
  144. var err error
  145. defer func() {
  146. if err != nil {
  147. fmt.Println("err:", err)
  148. go alarm_msg.SendAlarmMsg("更新活动 失败,UpdateActivitySpecialResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  149. }
  150. }()
  151. var source = utils.CYGX_OBJ_ACTIVITYSPECIAL
  152. var condition string
  153. var pars []interface{}
  154. condition = ` AND publish_status = 1 AND activity_id = ? `
  155. pars = append(pars, sourceId)
  156. total, e := cygx.GetActivityCount(condition, pars)
  157. if e != nil {
  158. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  159. return
  160. }
  161. //如果取消发布了就做删除处理
  162. if total == 0 {
  163. e = cygx.DeleteResourceData(sourceId, source)
  164. if e != nil {
  165. err = errors.New("DeleteResourceData, Err: " + e.Error())
  166. return
  167. }
  168. //删除 cygx_resource_data 表关联的产业ID,标的ID
  169. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  170. if e != nil {
  171. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  172. return
  173. }
  174. } else {
  175. //判断是否存在,如果不存在就新增,存在就更新
  176. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  177. if e != nil {
  178. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  179. return
  180. }
  181. var resourceDataId int
  182. publishDate := time.Now().Format(utils.FormatDateTime)
  183. item := new(cygx.CygxResourceData)
  184. item.SourceId = sourceId
  185. item.Source = source
  186. //分析师电话会(C类)
  187. item.SearchTag = ""
  188. item.PublishDate = publishDate
  189. item.CreateTime = time.Now()
  190. if totalData == 0 {
  191. newId, e := cygx.AddCygxResourceData(item)
  192. if e != nil {
  193. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  194. return
  195. }
  196. resourceDataId = int(newId)
  197. } else {
  198. e = cygx.UpdateResourceDataByItem(item)
  199. if e != nil {
  200. err = errors.New("UpdateResourceData, Err: " + e.Error())
  201. return
  202. }
  203. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  204. if e != nil {
  205. err = errors.New("UpdateResourceData, Err: " + e.Error())
  206. return
  207. }
  208. resourceDataId = sourceDetail.Id
  209. }
  210. //建立首页资源表,与产业的关系
  211. industrialList, e := cygx.GetIndustrialActivityGroupManagementList(sourceId, 2)
  212. if e != nil && e.Error() != utils.ErrNoRow() {
  213. err = errors.New("GetIndustrialActivityGroupManagementList, Err: " + e.Error() + "activityId:" + strconv.Itoa(sourceId))
  214. return
  215. }
  216. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  217. for _, v := range industrialList {
  218. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  219. industrialItem.SourceId = sourceId
  220. industrialItem.Source = source
  221. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  222. industrialItem.ResourceDataId = resourceDataId
  223. industrialItem.CreateTime = time.Now()
  224. industrialItems = append(industrialItems, industrialItem)
  225. }
  226. //建立首页资源表,与标的 的关系
  227. subjectList, e := cygx.GetSubjectArticleGroupManagementList(sourceId)
  228. if e != nil && e.Error() != utils.ErrNoRow() {
  229. err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  230. return
  231. }
  232. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  233. for _, v := range subjectList {
  234. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  235. subjectItem.SourceId = sourceId
  236. subjectItem.Source = source
  237. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  238. subjectItem.ResourceDataId = resourceDataId
  239. subjectItem.CreateTime = time.Now()
  240. subjectItems = append(subjectItems, subjectItem)
  241. }
  242. //插入关联信息
  243. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  244. if e != nil {
  245. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  246. return
  247. }
  248. }
  249. return
  250. }
  251. // 更新文章
  252. func UpdateArticleResourceData(sourceId int) {
  253. var err error
  254. defer func() {
  255. if err != nil {
  256. fmt.Println("err:", err)
  257. go alarm_msg.SendAlarmMsg("更新文章 失败,UpdateArticleResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  258. }
  259. }()
  260. var source = utils.CYGX_OBJ_ARTICLE
  261. var condition string
  262. var pars []interface{}
  263. condition = ` AND publish_status = 1 AND article_id = ? `
  264. pars = append(pars, sourceId)
  265. total, e := cygx.GetCygxArticleCount(condition, pars)
  266. if e != nil {
  267. err = errors.New("GetCygxReportSelection, Err: " + err.Error())
  268. return
  269. }
  270. //如果取消发布了就做删除处理
  271. if total == 0 {
  272. e = cygx.DeleteResourceData(sourceId, source)
  273. if e != nil {
  274. err = errors.New("DeleteResourceData, Err: " + e.Error())
  275. return
  276. }
  277. //删除 cygx_resource_data 表关联的产业ID,标的ID
  278. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  279. if e != nil {
  280. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  281. return
  282. }
  283. } else {
  284. //判断是否存在,如果不存在就新增,存在就更新
  285. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  286. if e != nil {
  287. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  288. return
  289. }
  290. detail, e := cygx.GetArticleDetailByArticleId(sourceId)
  291. if e != nil {
  292. err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  293. return
  294. }
  295. var resourceDataId int
  296. publishDate := time.Now().Format(utils.FormatDateTime)
  297. item := new(cygx.CygxResourceData)
  298. if detail.ArticleTypeId > 0 {
  299. item.SearchTag = detail.ArticleTypeName // 研选类型名称
  300. } else {
  301. item.SearchTag = detail.MatchTypeName
  302. }
  303. item.SourceId = sourceId
  304. item.Source = source
  305. item.PublishDate = publishDate
  306. item.CreateTime = time.Now()
  307. if totalData == 0 {
  308. newId, e := cygx.AddCygxResourceData(item)
  309. if e != nil {
  310. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  311. return
  312. }
  313. resourceDataId = int(newId)
  314. } else {
  315. e = cygx.UpdateResourceDataByItem(item)
  316. if e != nil {
  317. err = errors.New("UpdateResourceData, Err: " + e.Error())
  318. return
  319. }
  320. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  321. if e != nil {
  322. err = errors.New("UpdateResourceData, Err: " + e.Error())
  323. return
  324. }
  325. resourceDataId = sourceDetail.Id
  326. }
  327. //建立首页资源表,与产业的关系
  328. industrialList, e := cygx.GetIndustrialArticleGroupManagementList(sourceId)
  329. if e != nil && e.Error() != utils.ErrNoRow() {
  330. err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  331. return
  332. }
  333. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  334. for _, v := range industrialList {
  335. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  336. industrialItem.SourceId = sourceId
  337. industrialItem.Source = source
  338. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  339. industrialItem.ResourceDataId = resourceDataId
  340. industrialItem.CreateTime = time.Now()
  341. industrialItems = append(industrialItems, industrialItem)
  342. }
  343. //建立首页资源表,与标的 的关系
  344. subjectList, e := cygx.GetSubjectArticleGroupManagementList(sourceId)
  345. if e != nil && e.Error() != utils.ErrNoRow() {
  346. err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  347. return
  348. }
  349. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  350. for _, v := range subjectList {
  351. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  352. subjectItem.SourceId = sourceId
  353. subjectItem.Source = source
  354. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  355. subjectItem.ResourceDataId = resourceDataId
  356. subjectItem.CreateTime = time.Now()
  357. subjectItems = append(subjectItems, subjectItem)
  358. }
  359. //插入关联信息
  360. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  361. if e != nil {
  362. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  363. return
  364. }
  365. }
  366. return
  367. }
  368. // 更新产品内测
  369. func UpdateProductInteriorResourceData(sourceId int) {
  370. var err error
  371. defer func() {
  372. if err != nil {
  373. fmt.Println("err:", err)
  374. go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateProductInteriorResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  375. }
  376. }()
  377. var source = utils.CYGX_OBJ_PRODUCTINTERIOR
  378. var condition string
  379. var pars []interface{}
  380. condition = ` AND visible_range = 1 AND product_interior_id = ? `
  381. pars = append(pars, sourceId)
  382. total, e := cygx.GetCygxProductInteriorCount(condition, pars)
  383. if e != nil {
  384. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  385. return
  386. }
  387. //如果取消发布了就做删除处理
  388. if total == 0 {
  389. e = cygx.DeleteResourceData(sourceId, source)
  390. if e != nil {
  391. err = errors.New("DeleteResourceData, Err: " + e.Error())
  392. return
  393. }
  394. //删除 cygx_resource_data 表关联的产业ID,标的ID
  395. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  396. if e != nil {
  397. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  398. return
  399. }
  400. } else {
  401. //判断是否存在,如果不存在就新增,存在就更新
  402. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  403. if e != nil {
  404. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  405. return
  406. }
  407. detail, e := cygx.GetCygxProductInteriorDetail(sourceId)
  408. if e != nil {
  409. err = errors.New("GetCygxReportSelectionInfoById, Err: " + err.Error())
  410. return
  411. }
  412. mapMatchTypeName := GetCygxReportMappingCygxListMap() //报告匹配类型
  413. var resourceDataId int
  414. publishDate := time.Now().Format(utils.FormatDateTime)
  415. item := new(cygx.CygxResourceData)
  416. item.SourceId = sourceId
  417. item.Source = source
  418. item.SearchTag = mapMatchTypeName[detail.MatchTypeId]
  419. item.PublishDate = publishDate
  420. item.CreateTime = time.Now()
  421. if totalData == 0 {
  422. newId, e := cygx.AddCygxResourceData(item)
  423. if e != nil {
  424. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  425. return
  426. }
  427. resourceDataId = int(newId)
  428. } else {
  429. e = cygx.UpdateResourceDataByItem(item)
  430. if e != nil {
  431. err = errors.New("UpdateResourceData, Err: " + e.Error())
  432. return
  433. }
  434. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  435. if e != nil {
  436. err = errors.New("UpdateResourceData, Err: " + e.Error())
  437. return
  438. }
  439. resourceDataId = sourceDetail.Id
  440. }
  441. //建立首页资源表,与产业的关系
  442. industrialList, e := cygx.GetProductInteriorIndustrialGroupManagementList(sourceId)
  443. if e != nil && e.Error() != utils.ErrNoRow() {
  444. err = errors.New("GetIndustrialArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  445. return
  446. }
  447. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  448. for _, v := range industrialList {
  449. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  450. industrialItem.SourceId = sourceId
  451. industrialItem.Source = source
  452. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  453. industrialItem.ResourceDataId = resourceDataId
  454. industrialItem.CreateTime = time.Now()
  455. industrialItems = append(industrialItems, industrialItem)
  456. }
  457. //建立首页资源表,与标的 的关系
  458. subjectList, e := cygx.GetProductInteriorIndustrialGroupSubjecttList(sourceId)
  459. if e != nil && e.Error() != utils.ErrNoRow() {
  460. err = errors.New("GetSubjectArticleGroupManagementList, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  461. return
  462. }
  463. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  464. for _, v := range subjectList {
  465. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  466. subjectItem.SourceId = sourceId
  467. subjectItem.Source = source
  468. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  469. subjectItem.ResourceDataId = resourceDataId
  470. subjectItem.CreateTime = time.Now()
  471. subjectItems = append(subjectItems, subjectItem)
  472. }
  473. //插入关联信息
  474. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  475. if e != nil {
  476. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  477. return
  478. }
  479. }
  480. return
  481. }
  482. // 更新晨会精华
  483. func UpdateMeetingreviewchaptResourceData(sourceId int) {
  484. var err error
  485. defer func() {
  486. if err != nil {
  487. fmt.Println("err:", err)
  488. go alarm_msg.SendAlarmMsg("更新产品内测 失败,UpdateMeetingreviewchaptResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  489. }
  490. }()
  491. var source = utils.CYGX_OBJ_MEETINGREVIEWCHAPT
  492. total, e := cygx.GetCygxMorningMeetingReviewChapterCount(sourceId)
  493. if e != nil {
  494. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  495. return
  496. }
  497. //如果取消发布了就做删除处理
  498. if total == 0 {
  499. e = cygx.DeleteResourceData(sourceId, source)
  500. if e != nil {
  501. err = errors.New("DeleteResourceData, Err: " + e.Error())
  502. return
  503. }
  504. //删除 cygx_resource_data 表关联的产业ID,标的ID
  505. e = cygx.DeleteCygxResourceDataGroup(sourceId, source)
  506. if e != nil {
  507. err = errors.New("DeleteCygxResourceDataGroup, Err: " + e.Error())
  508. return
  509. }
  510. } else {
  511. //判断是否存在,如果不存在就新增,存在就更新
  512. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  513. if e != nil {
  514. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  515. return
  516. }
  517. detail, e := cygx.GetCygxMorningMeetingReviewChapterDetail(sourceId)
  518. if e != nil {
  519. err = errors.New("GetCygxMorningMeetingReviewChapterDetail" + e.Error())
  520. return
  521. }
  522. var resourceDataId int
  523. publishDate := time.Now().Format(utils.FormatDateTime)
  524. item := new(cygx.CygxResourceData)
  525. item.SourceId = sourceId
  526. item.Source = source
  527. item.SearchTag = "晨会精华"
  528. item.PublishDate = publishDate
  529. item.CreateTime = time.Now()
  530. if totalData == 0 {
  531. newId, e := cygx.AddCygxResourceData(item)
  532. if e != nil {
  533. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  534. return
  535. }
  536. resourceDataId = int(newId)
  537. } else {
  538. e = cygx.UpdateResourceDataByItem(item)
  539. if e != nil {
  540. err = errors.New("UpdateResourceData, Err: " + e.Error())
  541. return
  542. }
  543. sourceDetail, e := cygx.GetCygxResourceDataByIdAndSource(sourceId, source)
  544. if e != nil {
  545. err = errors.New("UpdateResourceData, Err: " + e.Error())
  546. return
  547. }
  548. resourceDataId = sourceDetail.Id
  549. }
  550. var condition string
  551. var pars []interface{}
  552. condition = " AND industrial_management_id = ? "
  553. pars = append(pars, detail.IndustryId)
  554. //建立首页资源表,与产业的关系
  555. industrialList, e := cygx.GetTopOneMonthArtReadNumIndustryAll(condition, pars)
  556. if e != nil && e.Error() != utils.ErrNoRow() {
  557. err = errors.New("GetTopOneMonthArtReadNumIndustryAll, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  558. return
  559. }
  560. var industrialItems []*cygx.CygxResourceDataIndustrialGroupManagement
  561. for _, v := range industrialList {
  562. var industrialItem = new(cygx.CygxResourceDataIndustrialGroupManagement)
  563. industrialItem.SourceId = sourceId
  564. industrialItem.Source = source
  565. industrialItem.IndustrialManagementId = v.IndustrialManagementId
  566. industrialItem.ResourceDataId = resourceDataId
  567. industrialItem.CreateTime = time.Now()
  568. industrialItems = append(industrialItems, industrialItem)
  569. }
  570. //return
  571. var subjectItems []*cygx.CygxResourceDataIndustrialGroupSubject
  572. //晨会精华如果关联的标的就做查询
  573. if detail.IndustrialSubjectIds != "" {
  574. condition = ""
  575. pars = make([]interface{}, 0)
  576. condition = " AND industrial_subject_id IN (" + detail.IndustrialSubjectIds + ") "
  577. //建立首页资源表,与标的 的关系
  578. subjectList, e := cygx.GetCygxIndustrialSubjectListCondition(condition, pars)
  579. if e != nil && e.Error() != utils.ErrNoRow() {
  580. err = errors.New("GetCygxIndustrialSubjectListCondition, Err: " + e.Error() + "sourceId:" + strconv.Itoa(sourceId))
  581. return
  582. }
  583. for _, v := range subjectList {
  584. var subjectItem = new(cygx.CygxResourceDataIndustrialGroupSubject)
  585. subjectItem.SourceId = sourceId
  586. subjectItem.Source = source
  587. subjectItem.IndustrialSubjectId = v.IndustrialSubjectId
  588. subjectItem.ResourceDataId = resourceDataId
  589. subjectItem.CreateTime = time.Now()
  590. subjectItems = append(subjectItems, subjectItem)
  591. }
  592. }
  593. //插入关联信息
  594. e = cygx.AddCygxResourceDataGroup(sourceId, source, industrialItems, subjectItems)
  595. if e != nil {
  596. err = errors.New("AddCygxResourceDataGroup, Err: " + e.Error())
  597. return
  598. }
  599. }
  600. return
  601. }
  602. // 更新报告精选(重点公司)
  603. func UpdateReportSelectionResourceData(sourceId int) {
  604. var err error
  605. defer func() {
  606. if err != nil {
  607. fmt.Println("err:", err)
  608. go alarm_msg.SendAlarmMsg("更新报告精选(重点公司) 失败,UpdateReportSelectionResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  609. }
  610. }()
  611. var source = utils.CYGX_OBJ_REPORTSELECTION
  612. var condition string
  613. var pars []interface{}
  614. condition = ` AND visible_range = 1 AND article_id = ? `
  615. pars = append(pars, sourceId)
  616. total, e := cygx.GetCygxReportSelection(condition, pars)
  617. if e != nil {
  618. err = errors.New("GetCygxReportSelection, Err: " + e.Error())
  619. return
  620. }
  621. //如果取消发布了就做删除处理
  622. if total == 0 {
  623. e = cygx.DeleteResourceData(sourceId, source)
  624. if e != nil {
  625. err = errors.New("DeleteResourceData, Err: " + e.Error())
  626. return
  627. }
  628. } else {
  629. //判断是否存在,如果不存在就新增,存在就更新
  630. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  631. if e != nil {
  632. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  633. return
  634. }
  635. detail, e := cygx.GetCygxReportSelectionInfoById(sourceId)
  636. if e != nil {
  637. err = errors.New("GetCygxReportSelectionInfoById, Err: " + e.Error())
  638. return
  639. }
  640. publishDate := detail.PublishDate
  641. item := new(cygx.CygxResourceData)
  642. item.SourceId = sourceId
  643. item.Source = source
  644. item.SearchTag = "重点公司"
  645. item.PublishDate = publishDate
  646. item.CreateTime = time.Now()
  647. if totalData == 0 {
  648. _, e := cygx.AddCygxResourceData(item)
  649. if e != nil {
  650. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  651. return
  652. }
  653. } else {
  654. e = cygx.UpdateResourceDataByItem(item)
  655. if e != nil {
  656. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  657. return
  658. }
  659. }
  660. }
  661. return
  662. }
  663. // 更新本周研究汇总
  664. func UpdateResearchSummaryResourceData(sourceId int) {
  665. var err error
  666. defer func() {
  667. if err != nil {
  668. fmt.Println("err:", err)
  669. go alarm_msg.SendAlarmMsg("更新本周研究汇总 失败,UpdateResearchSummaryResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  670. }
  671. }()
  672. var source = utils.CYGX_OBJ_RESEARCHSUMMARY
  673. var condition string
  674. var pars []interface{}
  675. condition = ` AND visible_range = 1 AND article_id = ? `
  676. pars = append(pars, sourceId)
  677. total, e := cygx.GetCygxResearchSummary(condition, pars)
  678. if e != nil {
  679. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  680. return
  681. }
  682. //如果取消发布了就做删除处理
  683. if total == 0 {
  684. e = cygx.DeleteResourceData(sourceId, source)
  685. if e != nil {
  686. err = errors.New("DeleteResourceData, Err: " + e.Error())
  687. return
  688. }
  689. } else {
  690. //判断是否存在,如果不存在就新增,存在就更新
  691. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  692. if e != nil {
  693. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  694. return
  695. }
  696. publishDate := time.Now().Format(utils.FormatDateTime)
  697. item := new(cygx.CygxResourceData)
  698. item.SourceId = sourceId
  699. item.Source = source
  700. item.SearchTag = "本周研究汇总"
  701. item.PublishDate = publishDate
  702. item.CreateTime = time.Now()
  703. if totalData == 0 {
  704. _, e := cygx.AddCygxResourceData(item)
  705. if e != nil {
  706. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  707. return
  708. }
  709. } else {
  710. e = cygx.UpdateResourceDataByItem(item)
  711. if e != nil {
  712. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  713. return
  714. }
  715. }
  716. }
  717. return
  718. }
  719. // 更新上周纪要汇总
  720. func UpdateMinutesSummaryResourceData(sourceId int) {
  721. var err error
  722. defer func() {
  723. if err != nil {
  724. fmt.Println("err:", err)
  725. go alarm_msg.SendAlarmMsg("更新上周纪要汇总 失败,UpdateMinutesSummaryResourceData Err:"+err.Error()+"资源ID"+strconv.Itoa(sourceId), 3)
  726. }
  727. }()
  728. var source = utils.CYGX_OBJ_MINUTESSUMMARY
  729. var condition string
  730. var pars []interface{}
  731. condition = ` AND visible_range = 1 AND article_id = ? `
  732. pars = append(pars, sourceId)
  733. total, e := cygx.GetCygxMinutesSummary(condition, pars)
  734. if e != nil {
  735. err = errors.New("GetCygxResearchSummary, Err: " + e.Error())
  736. return
  737. }
  738. //如果取消发布了就做删除处理
  739. if total == 0 {
  740. e = cygx.DeleteResourceData(sourceId, source)
  741. if e != nil {
  742. err = errors.New("DeleteResourceData, Err: " + e.Error())
  743. return
  744. }
  745. } else {
  746. //判断是否存在,如果不存在就新增,存在就更新
  747. totalData, e := cygx.GetCygxReportSelectionBySourceAndId(sourceId, source)
  748. if e != nil {
  749. err = errors.New("GetCygxReportSelectionBySourceAndId, Err: " + e.Error())
  750. return
  751. }
  752. publishDate := time.Now().Format(utils.FormatDateTime)
  753. item := new(cygx.CygxResourceData)
  754. item.SourceId = sourceId
  755. item.Source = source
  756. item.SearchTag = "上周纪要汇总"
  757. item.PublishDate = publishDate
  758. item.CreateTime = time.Now()
  759. if totalData == 0 {
  760. _, e := cygx.AddCygxResourceData(item)
  761. if e != nil {
  762. err = errors.New("AddCygxResourceData, Err: " + e.Error())
  763. return
  764. }
  765. } else {
  766. e = cygx.UpdateResourceDataByItem(item)
  767. if e != nil {
  768. err = errors.New("UpdateResourceDataByItem, Err: " + e.Error())
  769. return
  770. }
  771. }
  772. }
  773. return
  774. }
  775. func init1123232() {
  776. //var condition string
  777. //var pars []interface{}
  778. //
  779. //{
  780. // //活动
  781. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITY)
  782. // if err != nil {
  783. // fmt.Println(err)
  784. // }
  785. // for _, v := range list {
  786. // fmt.Println(v.Source)
  787. // //UpdateActivityResourceData(v.SourceId)
  788. // }
  789. //}
  790. //{
  791. // //专项调研活动
  792. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ACTIVITYSPECIAL)
  793. // if err != nil {
  794. // fmt.Println(err)
  795. // }
  796. // for _, v := range list {
  797. // fmt.Println(v.Source)
  798. // UpdateActivitySpecialResourceData(v.SourceId)
  799. // }
  800. //}
  801. //{
  802. // //文章
  803. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_ARTICLE)
  804. // if err != nil {
  805. // fmt.Println(err)
  806. // }
  807. // for _, v := range list {
  808. // fmt.Println(v.Source)
  809. // UpdateArticleResourceData(v.SourceId)
  810. // }
  811. //}
  812. //{
  813. // //产品内测
  814. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_PRODUCTINTERIOR)
  815. // if err != nil {
  816. // fmt.Println(err)
  817. // }
  818. // for _, v := range list {
  819. // fmt.Println(v.Source)
  820. // //UpdateProductInteriorResourceData(v.SourceId)
  821. // }
  822. //}
  823. //
  824. //{
  825. // //晨会精华
  826. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MEETINGREVIEWCHAPT)
  827. // if err != nil {
  828. // fmt.Println(err)
  829. // }
  830. // for _, v := range list {
  831. // fmt.Println(v.Source)
  832. // UpdateMeetingreviewchaptResourceData(v.SourceId)
  833. // }
  834. //}
  835. //
  836. //{
  837. // //重点公司
  838. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_REPORTSELECTION)
  839. // if err != nil {
  840. // fmt.Println(err)
  841. // }
  842. // for _, v := range list {
  843. // fmt.Println(v.Source)
  844. // //UpdateReportSelectionResourceData(v.SourceId)
  845. // }
  846. //}
  847. //
  848. //{
  849. // //更新本周研究汇总
  850. // list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_RESEARCHSUMMARY)
  851. // if err != nil {
  852. // fmt.Println(err)
  853. // }
  854. // for _, v := range list {
  855. // fmt.Println(v.Source)
  856. // //UpdateResearchSummaryResourceData(v.SourceId)
  857. // }
  858. //}
  859. //
  860. {
  861. //更新本周研究汇总
  862. list, err := cygx.GetCygxResourceDataListBysource(utils.CYGX_OBJ_MINUTESSUMMARY)
  863. if err != nil {
  864. fmt.Println(err)
  865. }
  866. for _, v := range list {
  867. fmt.Println(v.Source)
  868. //UpdateMinutesSummaryResourceData(v.SourceId)
  869. }
  870. }
  871. }