report.go 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660
  1. package controllers
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "hongze/hongze_cygx/models"
  6. "hongze/hongze_cygx/services"
  7. "hongze/hongze_cygx/utils"
  8. "rdluck_tools/paging"
  9. "strconv"
  10. "time"
  11. )
  12. //报告
  13. type ReportController struct {
  14. BaseAuthController
  15. }
  16. type ReportCommonController struct {
  17. BaseCommonController
  18. }
  19. // @Title 行业报告分类列表接口
  20. // @Description 获取行业报告分类列表接口
  21. // @Param ChartPermissionId query int true "分类ID"
  22. // @Success 200 {object} models.IndustrialManagementList
  23. // @router /home/tradeList [get]
  24. func (this *ReportController) TradeList() {
  25. br := new(models.BaseResponse).Init()
  26. defer func() {
  27. this.Data["json"] = br
  28. this.ServeJSON()
  29. }()
  30. user := this.User
  31. if user == nil {
  32. br.Msg = "请重新登录"
  33. br.Ret = 408
  34. return
  35. }
  36. uid := user.UserId
  37. ChartPermissionId, _ := this.GetInt("ChartPermissionId")
  38. if ChartPermissionId < 1 {
  39. br.Msg = "请输入分类ID"
  40. return
  41. }
  42. list, err := models.GetTradeAll(ChartPermissionId)
  43. if err != nil {
  44. br.Msg = "获取信息失败"
  45. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  46. return
  47. }
  48. for k, v := range list {
  49. list[k].UpdateTime = utils.TimeRemoveHms(v.UpdateTime)
  50. count, err := models.CheckThisCategoryNewArticleIsRead(uid, v.CategoryId)
  51. if err != nil {
  52. br.Msg = "获取信息失败"
  53. br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
  54. return
  55. }
  56. if count == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.UpdateTime)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.UpdateTime)) {
  57. list[k].IsRed = true
  58. }
  59. }
  60. resp := new(models.TradeReportMappingResp)
  61. resp.List = list
  62. br.Ret = 200
  63. br.Success = true
  64. br.Msg = "获取成功"
  65. br.Data = resp
  66. }
  67. // @Title 产业报告分类列表接口
  68. // @Description 获取产业报告分类列表接口
  69. // @Param ChartPermissionId query int true "分类ID"
  70. // @Param IsNewLabel query string true "是否属于新标签,1是,0否"
  71. // @Param IsDeepLabel query string true "是否属于深标签,1是,0否"
  72. // @Param KeyWord query string true "搜索关键词"
  73. // @Param OrderColumn query int true "排序字段 ,NewTime 最近更新 ,Recommend弘则推荐"
  74. // @Param PageSize query int true "每页数据条数"
  75. // @Param CurrentIndex query int true "当前页页码,从1开始"
  76. // @Success 200 {object} models.IndustrialManagementList
  77. // @router /home/industryList [get]
  78. func (this *ReportController) IndustryList() {
  79. br := new(models.BaseResponse).Init()
  80. defer func() {
  81. this.Data["json"] = br
  82. this.ServeJSON()
  83. }()
  84. user := this.User
  85. if user == nil {
  86. br.Msg = "请重新登录"
  87. br.Ret = 408
  88. return
  89. }
  90. uid := user.UserId
  91. fmt.Println(uid)
  92. ChartPermissionId, _ := this.GetInt("ChartPermissionId")
  93. orderColumn := this.GetString("OrderColumn")
  94. isNewLabel := this.GetString("IsNewLabel")
  95. isDeepLabel := this.GetString("IsDeepLabel")
  96. keyWord := this.GetString("KeyWord")
  97. pageSize, _ := this.GetInt("PageSize")
  98. currentIndex, _ := this.GetInt("CurrentIndex")
  99. var orderSrt string
  100. var condition string
  101. var startSize int
  102. resp := new(models.IndustrialManagementList)
  103. if pageSize <= 0 {
  104. pageSize = utils.PageSize20
  105. }
  106. if currentIndex <= 0 {
  107. currentIndex = 1
  108. }
  109. startSize = paging.StartIndex(currentIndex, pageSize)
  110. if isNewLabel == "1" {
  111. condition += ` AND is_new_label = ` + isNewLabel
  112. }
  113. if isDeepLabel == "1" {
  114. condition += ` AND is_deep_label = ` + isDeepLabel
  115. }
  116. if keyWord != "" {
  117. keyWordArr, err := services.GetIndustryMapNameSliceV2(keyWord)
  118. if err != nil {
  119. br.Msg = "获取信息失败"
  120. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  121. return
  122. }
  123. var conditionkeyWord string
  124. conditionkeyWord += ` subject_names LIKE '%` + keyWord + `%'`
  125. keyWordArr = services.RemoveDuplicatesAndEmpty(keyWordArr)
  126. keyWordLen := len(keyWordArr)
  127. if keyWordLen <= 0 {
  128. keyWordArr = append(keyWordArr, keyWord)
  129. keyWordLen = len(keyWordArr)
  130. }
  131. for _, v := range keyWordArr {
  132. conditionkeyWord += ` OR subject_names LIKE '%` + v + `%'`
  133. }
  134. industrialManagementIds, err := models.GetIndustrialManagementIdsBykeyWord(conditionkeyWord)
  135. if err != nil {
  136. br.Msg = "获取信息失败"
  137. br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
  138. return
  139. }
  140. if industrialManagementIds == "" {
  141. br.Ret = 200
  142. br.Success = true
  143. br.Msg = "获取成功"
  144. br.Data = resp
  145. return
  146. }
  147. condition += ` AND man.industrial_management_id IN (` + industrialManagementIds + `)`
  148. }
  149. var sqlChartPermissionId string
  150. if ChartPermissionId > 0 {
  151. sqlChartPermissionId += ` AND man_g.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industrial_management WHERE chart_permission_id = ` + strconv.Itoa(ChartPermissionId) + ` ) `
  152. condition += ` AND man.chart_permission_id IN (` + strconv.Itoa(ChartPermissionId) + `)`
  153. }
  154. var total int
  155. var list []*models.IndustrialManagement
  156. totalTopList, errTop := models.GetIndustrialManagemenCountTop(sqlChartPermissionId, uid, condition)
  157. totalTop := len(totalTopList)
  158. if errTop != nil {
  159. br.Msg = "获取信息失败"
  160. br.ErrMsg = "获取品种信息失败,Err:" + errTop.Error()
  161. return
  162. }
  163. totalNoTopList, errNoTop := models.GetIndustrialManagemenCountNoTop(sqlChartPermissionId, uid, condition)
  164. totalNoTop := len(totalNoTopList)
  165. if errNoTop != nil {
  166. br.Msg = "获取信息失败"
  167. br.ErrMsg = "获取品种信息失败,Err:" + errNoTop.Error()
  168. return
  169. }
  170. total = totalTop + totalNoTop
  171. page := paging.GetPaging(currentIndex, pageSize, total)
  172. if orderColumn == "" {
  173. orderColumn = "NewTime"
  174. }
  175. if orderColumn == "NewTime" {
  176. orderSrt = "update_time DESC"
  177. } else {
  178. orderSrt = "man.recommended_index DESC,update_time DESC"
  179. }
  180. fmt.Println(orderSrt)
  181. //全部都是置顶
  182. //if totalTop >= currentIndex*pageSize {
  183. // listTop, err := models.GetIndustrialManagementTopAll(uid, condition, startSize, pageSize)
  184. // for k, _ := range listTop {
  185. // listTop[k].IsTop = true
  186. // }
  187. // if err != nil {
  188. // br.Msg = "获取信息失败"
  189. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  190. // return
  191. // }
  192. // list = listTop
  193. //} else if totalTop < (currentIndex-1)*pageSize { //全部都是不置顶
  194. // listNoTop, err := models.GetIndustrialManagementAll(uid, condition, orderSrt, startSize-totalTop, pageSize)
  195. // if err != nil {
  196. // br.Msg = "获取信息失败"
  197. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  198. // return
  199. // }
  200. // list = listNoTop
  201. //} else { //部分置顶,部分不置顶
  202. // listTop, err := models.GetIndustrialManagementTopAll(uid, condition, startSize, pageSize)
  203. // if err != nil {
  204. // br.Msg = "获取信息失败"
  205. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  206. // return
  207. // }
  208. // for k, _ := range listTop {
  209. // listTop[k].IsTop = true
  210. // }
  211. // listNoTop, err := models.GetIndustrialManagementAll(uid, condition, orderSrt, 0, pageSize-len(listTop))
  212. // if err != nil {
  213. // br.Msg = "获取信息失败"
  214. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  215. // return
  216. // }
  217. // list = append(listTop, listNoTop...)
  218. //}
  219. list, err := models.GetIndustrialManagementAll(uid, condition, orderSrt, startSize, pageSize)
  220. if err != nil {
  221. br.Msg = "获取信息失败"
  222. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  223. return
  224. }
  225. for k, v := range list {
  226. //var analystStr string
  227. //analystList, err := models.GetIndustrialAnalystAll(v.IndustrialManagementId)
  228. //if err != nil {
  229. // br.Msg = "获取信息失败"
  230. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  231. // return
  232. //}
  233. industrialSubjectList, err := models.GetIndustrialSubjectAll(v.IndustrialManagementId)
  234. if err != nil {
  235. br.Msg = "获取信息失败"
  236. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  237. return
  238. }
  239. list[k].IndustrialSubjectList = industrialSubjectList
  240. //if len(analystList) > 0 {
  241. // for _, v2 := range analystList {
  242. // analystStr += v2.AnalystName + "/"
  243. // }
  244. // analystStr = strings.TrimRight(analystStr, "/")
  245. //}
  246. //list[k].Analyst = analystStr
  247. list[k].LayoutTime = utils.TimeRemoveHms(v.LayoutTime)
  248. newArtinfo, err := models.GetIndustrialNewArticleDetail(v.IndustrialManagementId)
  249. if err != nil {
  250. br.Msg = "获取信息失败"
  251. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  252. return
  253. }
  254. list[k].UpdateTime = utils.TimeRemoveHms(newArtinfo.PublishDate)
  255. recordCount, err := models.GetUserToArticleCount(uid, newArtinfo.ArticleId)
  256. if err != nil && err.Error() != utils.ErrNoRow() {
  257. br.Msg = "获取信息失败"
  258. br.ErrMsg = "获取信息失败,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(newArtinfo.ArticleId)
  259. return
  260. }
  261. if recordCount == 0 && user.CreatedTime.Before(utils.StrTimeToTime(newArtinfo.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(newArtinfo.PublishDate)) {
  262. list[k].IsRed = true
  263. }
  264. }
  265. resp.List = list
  266. resp.Paging = page
  267. br.Ret = 200
  268. br.Success = true
  269. br.Msg = "获取成功"
  270. br.Data = resp
  271. }
  272. // @Title 产业下所关联的文章分类列表
  273. // @Description 产业下所关联的文章分类列表接口
  274. // @Param IndustrialManagementId query int true "产业ID"
  275. // @Success 200 {object} models.IndustrialToArticleCategoryListRep
  276. // @router /toArticleCategoryList [get]
  277. func (this *ReportController) ArticleCategoryList() {
  278. br := new(models.BaseResponse).Init()
  279. defer func() {
  280. this.Data["json"] = br
  281. this.ServeJSON()
  282. }()
  283. user := this.User
  284. if user == nil {
  285. br.Msg = "请重新登录"
  286. br.Ret = 408
  287. return
  288. }
  289. uid := user.UserId
  290. industrialManagementId, _ := this.GetInt("IndustrialManagementId")
  291. if industrialManagementId < 1 {
  292. br.Msg = "请输入分类ID"
  293. return
  294. }
  295. list, err := models.IndustrialToArticleCategory(industrialManagementId)
  296. if err != nil {
  297. br.Msg = "获取信息失败"
  298. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  299. return
  300. }
  301. for k, v := range list {
  302. recordCount, err := models.IndustrialUserRecordArticleCount(uid, industrialManagementId, v.CategoryId)
  303. if err != nil && err.Error() != utils.ErrNoRow() {
  304. br.Msg = "获取信息失败"
  305. br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
  306. return
  307. }
  308. Newdetail, err := models.GetNewIndustrialUserRecordArticle(industrialManagementId, v.CategoryId)
  309. if err != nil {
  310. br.Msg = "获取信息失败"
  311. br.ErrMsg = "获取信息失败,Err:" + err.Error()
  312. return
  313. }
  314. if recordCount == 0 && user.CreatedTime.Before(utils.StrTimeToTime(Newdetail.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(Newdetail.PublishDate)) {
  315. list[k].IsRed = true
  316. }
  317. }
  318. detail, err := models.GetIndustrialManagementDetail(industrialManagementId)
  319. if err != nil {
  320. br.Msg = "获取信息失败"
  321. br.ErrMsg = "获取信息失败,Err:" + err.Error()
  322. return
  323. }
  324. resp := new(models.IndustrialToArticleCategoryListRep)
  325. resp.List = list
  326. resp.LayoutTime = utils.TimeRemoveHms(detail.LayoutTime)
  327. resp.IndustryName = detail.IndustryName
  328. resp.IndustrialManagementId = industrialManagementId
  329. br.Ret = 200
  330. br.Success = true
  331. br.Msg = "获取成功"
  332. br.Data = resp
  333. }
  334. // @Title 产业文章列表接口
  335. // @Description 获取产业文章列表接口
  336. // @Param PageSize query int true "每页数据条数"
  337. // @Param CurrentIndex query int true "当前页页码,从1开始"
  338. // @Param CategoryId query int true "分类ID"
  339. // @Param IndustrialManagementId query int true "产业ID"
  340. // @Success 200 {object} models.TacticsListResp
  341. // @router /industry/ArticleList [get]
  342. func (this *ReportController) List() {
  343. br := new(models.BaseResponse).Init()
  344. defer func() {
  345. this.Data["json"] = br
  346. this.ServeJSON()
  347. }()
  348. user := this.User
  349. if user == nil {
  350. br.Msg = "请重新登录"
  351. br.Ret = 408
  352. return
  353. }
  354. uid := user.UserId
  355. pageSize, _ := this.GetInt("PageSize")
  356. currentIndex, _ := this.GetInt("CurrentIndex")
  357. categoryId, _ := this.GetInt("CategoryId")
  358. industrialManagementId, _ := this.GetInt("IndustrialManagementId")
  359. var startSize int
  360. if pageSize <= 0 {
  361. pageSize = utils.PageSize20
  362. }
  363. if currentIndex <= 0 {
  364. currentIndex = 1
  365. }
  366. startSize = paging.StartIndex(currentIndex, pageSize)
  367. var pars []interface{}
  368. var total int
  369. resp := new(models.TacticsListResp)
  370. page := paging.GetPaging(currentIndex, pageSize, total)
  371. if categoryId < 1 {
  372. br.Msg = "请输入分类ID"
  373. return
  374. }
  375. if industrialManagementId < 1 {
  376. br.Msg = "请输入产业ID"
  377. return
  378. }
  379. total, err := models.GetReportIndustrialCount(categoryId, industrialManagementId)
  380. if err != nil {
  381. br.Msg = "获取信息失败"
  382. br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
  383. return
  384. }
  385. page = paging.GetPaging(currentIndex, pageSize, total)
  386. list, err := models.GetReportIndustrialList(pars, categoryId, industrialManagementId, uid, startSize, pageSize)
  387. if err != nil {
  388. br.Msg = "获取信息失败"
  389. br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
  390. return
  391. }
  392. lenList := len(list)
  393. for i := 0; i < lenList; i++ {
  394. item := list[i]
  395. list[i].Body, _ = services.GetReportContentTextSub(item.Body)
  396. //list[i].Abstract = html.UnescapeString(item.Abstract)
  397. list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
  398. }
  399. for k, v := range list {
  400. if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
  401. list[k].IsRed = true
  402. }
  403. }
  404. resp.List = list
  405. resp.Paging = page
  406. br.Ret = 200
  407. br.Success = true
  408. br.Msg = "获取成功"
  409. br.Data = resp
  410. }
  411. // @Title 置顶/取消置顶
  412. // @Description 置顶
  413. // @Param request body models.CygxIndustryTopRep true "type json string"
  414. // @Success 200
  415. // @router /top [post]
  416. func (this *ReportController) ArticleCollect() {
  417. br := new(models.BaseResponse).Init()
  418. defer func() {
  419. this.Data["json"] = br
  420. this.ServeJSON()
  421. }()
  422. user := this.User
  423. if user == nil {
  424. br.Msg = "请重新登录"
  425. br.Ret = 408
  426. return
  427. }
  428. uid := user.UserId
  429. var req models.CygxIndustryTopRep
  430. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  431. if err != nil {
  432. br.Msg = "参数解析异常!"
  433. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  434. return
  435. }
  436. industrialManagementId := req.IndustrialManagementId
  437. fmt.Println(industrialManagementId)
  438. countIndustrial, err := models.GetIndustrialManagementCount(industrialManagementId)
  439. if err != nil {
  440. br.Msg = "获取数据失败!"
  441. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  442. return
  443. }
  444. if countIndustrial == 0 {
  445. br.Msg = "产业不存在!"
  446. br.ErrMsg = "产业ID不存在:" + strconv.Itoa(industrialManagementId)
  447. return
  448. }
  449. count, err := models.GetCygxIndustryTop(uid, industrialManagementId)
  450. if err != nil {
  451. br.Msg = "获取数据失败!"
  452. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  453. return
  454. }
  455. resp := new(models.ArticleCollectResp)
  456. if count <= 0 {
  457. item := new(models.CygxIndustryTop)
  458. item.IndustrialManagementId = req.IndustrialManagementId
  459. item.UserId = uid
  460. item.CreateTime = time.Now()
  461. _, err = models.AddCygxIndustryTop(item)
  462. if err != nil {
  463. br.Msg = "置顶失败"
  464. br.ErrMsg = "置顶失败,Err:" + err.Error()
  465. return
  466. }
  467. br.Msg = "置顶成功"
  468. resp.Status = 1
  469. } else {
  470. err = models.RemoveCygxIndustryTop(uid, industrialManagementId)
  471. if err != nil {
  472. br.Msg = "取消置顶失败"
  473. br.ErrMsg = "取消置顶失败,Err:" + err.Error()
  474. return
  475. }
  476. br.Msg = "已取消置顶"
  477. resp.Status = 2
  478. }
  479. br.Ret = 200
  480. br.Success = true
  481. br.Data = resp
  482. }
  483. // @Title 关注/取消关注
  484. // @Description 关注/取消关注 接口
  485. // @Param request body models.CygxIndustryFllowRep true "type json string"
  486. // @Success 200
  487. // @router /fllow [post]
  488. func (this *ReportController) Fllow() {
  489. br := new(models.BaseResponse).Init()
  490. defer func() {
  491. this.Data["json"] = br
  492. this.ServeJSON()
  493. }()
  494. user := this.User
  495. if user == nil {
  496. br.Msg = "请重新登录"
  497. br.Ret = 408
  498. return
  499. }
  500. uid := user.UserId
  501. var req models.CygxIndustryFllowRep
  502. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  503. if err != nil {
  504. br.Msg = "参数解析异常!"
  505. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  506. return
  507. }
  508. industrialManagementId := req.IndustrialManagementId
  509. var condition string
  510. countIndustrial, err := models.GetIndustrialManagementCount(industrialManagementId)
  511. if err != nil {
  512. br.Msg = "获取数据失败!"
  513. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  514. return
  515. }
  516. if countIndustrial == 0 {
  517. br.Msg = "产业不存在!"
  518. br.ErrMsg = "产业ID不存在:" + strconv.Itoa(industrialManagementId)
  519. return
  520. }
  521. count, err := models.GetCountCygxIndustryFllow(uid, industrialManagementId, condition)
  522. if err != nil {
  523. br.Msg = "获取数据失败!"
  524. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  525. return
  526. }
  527. resp := new(models.CygxIndustryFllowResp)
  528. if count == 0 {
  529. item := new(models.CygxIndustryFllow)
  530. item.IndustrialManagementId = industrialManagementId
  531. item.UserId = uid
  532. item.Email = user.Email
  533. item.Mobile = user.Mobile
  534. item.CompanyId = user.CompanyId
  535. item.CompanyName = user.CompanyName
  536. item.Type = 1
  537. item.CreateTime = time.Now()
  538. item.ModifyTime = time.Now()
  539. _, err = models.AddCygxIndustryFllow(item)
  540. if err != nil {
  541. br.Msg = "操作失败"
  542. br.ErrMsg = "操作失败,Err:" + err.Error()
  543. return
  544. }
  545. resp.GoFllow = true
  546. resp.Status = 1
  547. } else {
  548. var doType int
  549. condition = ` AND type = 1`
  550. count, err = models.GetCountCygxIndustryFllow(uid, industrialManagementId, condition)
  551. if err != nil {
  552. br.Msg = "操作失败!"
  553. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  554. return
  555. }
  556. if count == 1 {
  557. resp.Status = 2
  558. doType = 2
  559. } else {
  560. resp.Status = 1
  561. doType = 1
  562. }
  563. err = models.RemoveCygxIndustryFllow(uid, industrialManagementId, doType)
  564. if err != nil {
  565. br.Msg = "操作失败"
  566. br.ErrMsg = "取消关注失败,Err:" + err.Error()
  567. return
  568. }
  569. }
  570. br.Msg = "操作成功"
  571. br.Ret = 200
  572. br.Success = true
  573. br.Data = resp
  574. }
  575. // @Title 产业报告分类关联作者列表接口
  576. // @Description 获取产业报告分类关联作者列表接口
  577. // @Param ChartPermissionId query int true "分类ID"
  578. // @Param PageSize query int true "每页数据条数"
  579. // @Param CurrentIndex query int true "当前页页码,从1开始"
  580. // @Success 200 {object} models.CygxArticleDepartmentList
  581. // @router /industryListByDepartment [get]
  582. func (this *ReportController) IndustryListByDepartment() {
  583. br := new(models.BaseResponse).Init()
  584. defer func() {
  585. this.Data["json"] = br
  586. this.ServeJSON()
  587. }()
  588. user := this.User
  589. if user == nil {
  590. br.Msg = "请重新登录"
  591. br.Ret = 408
  592. return
  593. }
  594. uid := user.UserId
  595. fmt.Println(uid)
  596. pageSize, _ := this.GetInt("PageSize")
  597. currentIndex, _ := this.GetInt("CurrentIndex")
  598. chartPermissionId, _ := this.GetInt("ChartPermissionId")
  599. var startSize int
  600. var condition string
  601. condition = ` AND m.chart_permission_id =` + strconv.Itoa(chartPermissionId)
  602. if pageSize <= 0 {
  603. pageSize = utils.PageSize20
  604. }
  605. if currentIndex <= 0 {
  606. currentIndex = 1
  607. }
  608. startSize = paging.StartIndex(currentIndex, pageSize)
  609. total, err := models.GetArticleDepartmentCount(condition)
  610. page := paging.GetPaging(currentIndex, pageSize, total)
  611. //获取作者信息,并排序
  612. list, err := models.GetCygxArticleDepartmentList(startSize, pageSize, condition)
  613. if err != nil {
  614. br.Msg = "获取信息失败"
  615. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  616. return
  617. }
  618. for k, v := range list {
  619. list[k].List, err = models.GetIndustrialSubjectByDepartment(v.DepartmentId)
  620. if err != nil {
  621. br.Msg = "获取信息失败"
  622. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  623. return
  624. }
  625. }
  626. resp := new(models.CygxArticleDepartmentList)
  627. resp.ListnNew, err = models.GetIndustrialSubjectByDepartmentNew(chartPermissionId)
  628. if err != nil {
  629. br.Msg = "获取信息失败"
  630. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  631. return
  632. }
  633. resp.List = list
  634. resp.Paging = page
  635. br.Ret = 200
  636. br.Success = true
  637. br.Msg = "获取成功"
  638. br.Data = resp
  639. }