report.go 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  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. ChartPermissionId, _ := this.GetInt("ChartPermissionId")
  92. orderColumn := this.GetString("OrderColumn")
  93. isNewLabel := this.GetString("IsNewLabel")
  94. isDeepLabel := this.GetString("IsDeepLabel")
  95. keyWord := this.GetString("KeyWord")
  96. pageSize, _ := this.GetInt("PageSize")
  97. currentIndex, _ := this.GetInt("CurrentIndex")
  98. var orderSrt string
  99. var condition string
  100. var startSize int
  101. resp := new(models.IndustrialManagementList)
  102. if pageSize <= 0 {
  103. pageSize = utils.PageSize20
  104. }
  105. if currentIndex <= 0 {
  106. currentIndex = 1
  107. }
  108. startSize = paging.StartIndex(currentIndex, pageSize)
  109. if isNewLabel == "1" {
  110. condition += ` AND is_new_label = ` + isNewLabel
  111. }
  112. if isDeepLabel == "1" {
  113. condition += ` AND is_deep_label = ` + isDeepLabel
  114. }
  115. if keyWord != "" {
  116. keyWordArr, err := services.GetIndustryMapNameSliceV2(keyWord)
  117. if err != nil {
  118. br.Msg = "获取信息失败"
  119. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  120. return
  121. }
  122. var conditionkeyWord string
  123. conditionkeyWord += ` subject_names LIKE '%` + keyWord + `%'`
  124. keyWordArr = services.RemoveDuplicatesAndEmpty(keyWordArr)
  125. keyWordLen := len(keyWordArr)
  126. if keyWordLen <= 0 {
  127. keyWordArr = append(keyWordArr, keyWord)
  128. keyWordLen = len(keyWordArr)
  129. }
  130. for _, v := range keyWordArr {
  131. conditionkeyWord += ` OR subject_names LIKE '%` + v + `%'`
  132. }
  133. industrialManagementIds, err := models.GetIndustrialManagementIdsBykeyWord(conditionkeyWord)
  134. if err != nil {
  135. br.Msg = "获取信息失败"
  136. br.ErrMsg = "获取客户信息失败,Err:" + err.Error()
  137. return
  138. }
  139. if industrialManagementIds == "" {
  140. br.Ret = 200
  141. br.Success = true
  142. br.Msg = "获取成功"
  143. br.Data = resp
  144. return
  145. }
  146. condition += ` AND man.industrial_management_id IN (` + industrialManagementIds + `)`
  147. }
  148. var sqlChartPermissionId string
  149. if ChartPermissionId > 0 {
  150. sqlChartPermissionId += ` AND man_g.industrial_management_id IN ( SELECT industrial_management_id FROM cygx_industrial_management WHERE chart_permission_id = ` + strconv.Itoa(ChartPermissionId) + ` ) `
  151. condition += ` AND man.chart_permission_id IN (` + strconv.Itoa(ChartPermissionId) + `)`
  152. }
  153. var total int
  154. var list []*models.IndustrialManagement
  155. totalTopList, errTop := models.GetIndustrialManagemenCountTop(sqlChartPermissionId, uid, condition)
  156. totalTop := len(totalTopList)
  157. if errTop != nil {
  158. br.Msg = "获取信息失败"
  159. br.ErrMsg = "获取品种信息失败,Err:" + errTop.Error()
  160. return
  161. }
  162. totalNoTopList, errNoTop := models.GetIndustrialManagemenCountNoTop(sqlChartPermissionId, uid, condition)
  163. totalNoTop := len(totalNoTopList)
  164. if errNoTop != nil {
  165. br.Msg = "获取信息失败"
  166. br.ErrMsg = "获取品种信息失败,Err:" + errNoTop.Error()
  167. return
  168. }
  169. total = totalTop + totalNoTop
  170. page := paging.GetPaging(currentIndex, pageSize, total)
  171. if orderColumn == "" {
  172. orderColumn = "NewTime"
  173. }
  174. if orderColumn == "NewTime" {
  175. orderSrt = "update_time DESC"
  176. } else {
  177. orderSrt = "man.recommended_index DESC,update_time DESC"
  178. }
  179. fmt.Println(orderSrt)
  180. //全部都是置顶
  181. //if totalTop >= currentIndex*pageSize {
  182. // listTop, err := models.GetIndustrialManagementTopAll(uid, condition, startSize, pageSize)
  183. // for k, _ := range listTop {
  184. // listTop[k].IsTop = true
  185. // }
  186. // if err != nil {
  187. // br.Msg = "获取信息失败"
  188. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  189. // return
  190. // }
  191. // list = listTop
  192. //} else if totalTop < (currentIndex-1)*pageSize { //全部都是不置顶
  193. // listNoTop, err := models.GetIndustrialManagementAll(uid, condition, orderSrt, startSize-totalTop, pageSize)
  194. // if err != nil {
  195. // br.Msg = "获取信息失败"
  196. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  197. // return
  198. // }
  199. // list = listNoTop
  200. //} else { //部分置顶,部分不置顶
  201. // listTop, err := models.GetIndustrialManagementTopAll(uid, condition, startSize, pageSize)
  202. // if err != nil {
  203. // br.Msg = "获取信息失败"
  204. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  205. // return
  206. // }
  207. // for k, _ := range listTop {
  208. // listTop[k].IsTop = true
  209. // }
  210. // listNoTop, err := models.GetIndustrialManagementAll(uid, condition, orderSrt, 0, pageSize-len(listTop))
  211. // if err != nil {
  212. // br.Msg = "获取信息失败"
  213. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  214. // return
  215. // }
  216. // list = append(listTop, listNoTop...)
  217. //}
  218. list, err := models.GetIndustrialManagementAll(uid, condition, orderSrt, startSize, pageSize)
  219. if err != nil {
  220. br.Msg = "获取信息失败"
  221. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  222. return
  223. }
  224. for k, v := range list {
  225. //var analystStr string
  226. //analystList, err := models.GetIndustrialAnalystAll(v.IndustrialManagementId)
  227. //if err != nil {
  228. // br.Msg = "获取信息失败"
  229. // br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  230. // return
  231. //}
  232. industrialSubjectList, err := models.GetIndustrialSubjectAll(v.IndustrialManagementId)
  233. if err != nil {
  234. br.Msg = "获取信息失败"
  235. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  236. return
  237. }
  238. list[k].IndustrialSubjectList = industrialSubjectList
  239. //if len(analystList) > 0 {
  240. // for _, v2 := range analystList {
  241. // analystStr += v2.AnalystName + "/"
  242. // }
  243. // analystStr = strings.TrimRight(analystStr, "/")
  244. //}
  245. //list[k].Analyst = analystStr
  246. list[k].LayoutTime = utils.TimeRemoveHms(v.LayoutTime)
  247. newArtinfo, err := models.GetIndustrialNewArticleDetail(v.IndustrialManagementId)
  248. if err != nil {
  249. br.Msg = "获取信息失败"
  250. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  251. return
  252. }
  253. list[k].UpdateTime = utils.TimeRemoveHms(newArtinfo.PublishDate)
  254. recordCount, err := models.GetUserToArticleCount(uid, newArtinfo.ArticleId)
  255. if err != nil && err.Error() != utils.ErrNoRow() {
  256. br.Msg = "获取信息失败"
  257. br.ErrMsg = "获取信息失败,Err:" + strconv.Itoa(uid) + ";articleId" + strconv.Itoa(newArtinfo.ArticleId)
  258. return
  259. }
  260. if recordCount == 0 && user.CreatedTime.Before(utils.StrTimeToTime(newArtinfo.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(newArtinfo.PublishDate)) {
  261. list[k].IsRed = true
  262. }
  263. }
  264. resp.List = list
  265. resp.Paging = page
  266. br.Ret = 200
  267. br.Success = true
  268. br.Msg = "获取成功"
  269. br.Data = resp
  270. }
  271. // @Title 产业下所关联的文章分类列表
  272. // @Description 产业下所关联的文章分类列表接口
  273. // @Param IndustrialManagementId query int true "产业ID"
  274. // @Success 200 {object} models.IndustrialToArticleCategoryListRep
  275. // @router /toArticleCategoryList [get]
  276. func (this *ReportController) ArticleCategoryList() {
  277. br := new(models.BaseResponse).Init()
  278. defer func() {
  279. this.Data["json"] = br
  280. this.ServeJSON()
  281. }()
  282. user := this.User
  283. if user == nil {
  284. br.Msg = "请重新登录"
  285. br.Ret = 408
  286. return
  287. }
  288. uid := user.UserId
  289. industrialManagementId, _ := this.GetInt("IndustrialManagementId")
  290. if industrialManagementId < 1 {
  291. br.Msg = "请输入分类ID"
  292. return
  293. }
  294. list, err := models.IndustrialToArticleCategory(industrialManagementId)
  295. if err != nil {
  296. br.Msg = "获取信息失败"
  297. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  298. return
  299. }
  300. for k, v := range list {
  301. recordCount, err := models.IndustrialUserRecordArticleCount(uid, industrialManagementId, v.CategoryId)
  302. if err != nil && err.Error() != utils.ErrNoRow() {
  303. br.Msg = "获取信息失败"
  304. br.ErrMsg = "判断是否已申请过试用失败,Err:" + err.Error()
  305. return
  306. }
  307. Newdetail, err := models.GetNewIndustrialUserRecordArticle(industrialManagementId, v.CategoryId)
  308. if err != nil {
  309. br.Msg = "获取信息失败"
  310. br.ErrMsg = "获取信息失败,Err:" + err.Error()
  311. return
  312. }
  313. if recordCount == 0 && user.CreatedTime.Before(utils.StrTimeToTime(Newdetail.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(Newdetail.PublishDate)) {
  314. list[k].IsRed = true
  315. }
  316. }
  317. detail, err := models.GetIndustrialManagementDetail(industrialManagementId)
  318. if err != nil {
  319. br.Msg = "获取信息失败"
  320. br.ErrMsg = "获取信息失败,Err:" + err.Error()
  321. return
  322. }
  323. resp := new(models.IndustrialToArticleCategoryListRep)
  324. resp.List = list
  325. resp.LayoutTime = utils.TimeRemoveHms(detail.LayoutTime)
  326. resp.IndustryName = detail.IndustryName
  327. resp.IndustrialManagementId = industrialManagementId
  328. br.Ret = 200
  329. br.Success = true
  330. br.Msg = "获取成功"
  331. br.Data = resp
  332. }
  333. // @Title 产业文章列表接口
  334. // @Description 获取产业文章列表接口
  335. // @Param PageSize query int true "每页数据条数"
  336. // @Param CurrentIndex query int true "当前页页码,从1开始"
  337. // @Param CategoryId query int true "分类ID"
  338. // @Param IndustrialManagementId query int true "产业ID"
  339. // @Success 200 {object} models.TacticsListResp
  340. // @router /industry/ArticleList [get]
  341. func (this *ReportController) List() {
  342. br := new(models.BaseResponse).Init()
  343. defer func() {
  344. this.Data["json"] = br
  345. this.ServeJSON()
  346. }()
  347. user := this.User
  348. if user == nil {
  349. br.Msg = "请重新登录"
  350. br.Ret = 408
  351. return
  352. }
  353. uid := user.UserId
  354. pageSize, _ := this.GetInt("PageSize")
  355. currentIndex, _ := this.GetInt("CurrentIndex")
  356. categoryId, _ := this.GetInt("CategoryId")
  357. industrialManagementId, _ := this.GetInt("IndustrialManagementId")
  358. var startSize int
  359. if pageSize <= 0 {
  360. pageSize = utils.PageSize20
  361. }
  362. if currentIndex <= 0 {
  363. currentIndex = 1
  364. }
  365. startSize = paging.StartIndex(currentIndex, pageSize)
  366. var pars []interface{}
  367. var total int
  368. resp := new(models.TacticsListResp)
  369. page := paging.GetPaging(currentIndex, pageSize, total)
  370. if categoryId < 1 {
  371. br.Msg = "请输入分类ID"
  372. return
  373. }
  374. if industrialManagementId < 1 {
  375. br.Msg = "请输入产业ID"
  376. return
  377. }
  378. total, err := models.GetReportIndustrialCount(categoryId, industrialManagementId)
  379. if err != nil {
  380. br.Msg = "获取信息失败"
  381. br.ErrMsg = "获取帖子总数失败,Err:" + err.Error()
  382. return
  383. }
  384. page = paging.GetPaging(currentIndex, pageSize, total)
  385. list, err := models.GetReportIndustrialList(pars, categoryId, industrialManagementId, uid, startSize, pageSize)
  386. if err != nil {
  387. br.Msg = "获取信息失败"
  388. br.ErrMsg = "获取帖子数据失败,Err:" + err.Error()
  389. return
  390. }
  391. lenList := len(list)
  392. for i := 0; i < lenList; i++ {
  393. item := list[i]
  394. list[i].Body, _ = services.GetReportContentTextSub(item.Body)
  395. //list[i].Abstract = html.UnescapeString(item.Abstract)
  396. list[i].Abstract, _ = services.GetReportContentTextSub(item.Abstract)
  397. }
  398. for k, v := range list {
  399. if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
  400. list[k].IsRed = true
  401. }
  402. }
  403. resp.List = list
  404. resp.Paging = page
  405. br.Ret = 200
  406. br.Success = true
  407. br.Msg = "获取成功"
  408. br.Data = resp
  409. }
  410. // @Title 置顶/取消置顶
  411. // @Description 置顶
  412. // @Param request body models.CygxIndustryTopRep true "type json string"
  413. // @Success 200
  414. // @router /top [post]
  415. func (this *ReportController) ArticleCollect() {
  416. br := new(models.BaseResponse).Init()
  417. defer func() {
  418. this.Data["json"] = br
  419. this.ServeJSON()
  420. }()
  421. user := this.User
  422. if user == nil {
  423. br.Msg = "请重新登录"
  424. br.Ret = 408
  425. return
  426. }
  427. uid := user.UserId
  428. var req models.CygxIndustryTopRep
  429. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  430. if err != nil {
  431. br.Msg = "参数解析异常!"
  432. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  433. return
  434. }
  435. industrialManagementId := req.IndustrialManagementId
  436. fmt.Println(industrialManagementId)
  437. countIndustrial, err := models.GetIndustrialManagementCount(industrialManagementId)
  438. if err != nil {
  439. br.Msg = "获取数据失败!"
  440. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  441. return
  442. }
  443. if countIndustrial == 0 {
  444. br.Msg = "产业不存在!"
  445. br.ErrMsg = "产业ID不存在:" + strconv.Itoa(industrialManagementId)
  446. return
  447. }
  448. count, err := models.GetCygxIndustryTop(uid, industrialManagementId)
  449. if err != nil {
  450. br.Msg = "获取数据失败!"
  451. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  452. return
  453. }
  454. resp := new(models.ArticleCollectResp)
  455. if count <= 0 {
  456. item := new(models.CygxIndustryTop)
  457. item.IndustrialManagementId = req.IndustrialManagementId
  458. item.UserId = uid
  459. item.CreateTime = time.Now()
  460. _, err = models.AddCygxIndustryTop(item)
  461. if err != nil {
  462. br.Msg = "置顶失败"
  463. br.ErrMsg = "置顶失败,Err:" + err.Error()
  464. return
  465. }
  466. br.Msg = "置顶成功"
  467. resp.Status = 1
  468. } else {
  469. err = models.RemoveCygxIndustryTop(uid, industrialManagementId)
  470. if err != nil {
  471. br.Msg = "取消置顶失败"
  472. br.ErrMsg = "取消置顶失败,Err:" + err.Error()
  473. return
  474. }
  475. br.Msg = "已取消置顶"
  476. resp.Status = 2
  477. }
  478. br.Ret = 200
  479. br.Success = true
  480. br.Data = resp
  481. }
  482. // @Title 关注/取消关注
  483. // @Description 关注/取消关注 接口
  484. // @Param request body models.CygxIndustryFllowRep true "type json string"
  485. // @Success 200
  486. // @router /fllow [post]
  487. func (this *ReportController) Fllow() {
  488. br := new(models.BaseResponse).Init()
  489. defer func() {
  490. this.Data["json"] = br
  491. this.ServeJSON()
  492. }()
  493. user := this.User
  494. if user == nil {
  495. br.Msg = "请重新登录"
  496. br.Ret = 408
  497. return
  498. }
  499. uid := user.UserId
  500. var req models.CygxIndustryFllowRep
  501. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  502. if err != nil {
  503. br.Msg = "参数解析异常!"
  504. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  505. return
  506. }
  507. industrialManagementId := req.IndustrialManagementId
  508. var condition string
  509. countIndustrial, err := models.GetIndustrialManagementCount(industrialManagementId)
  510. if err != nil {
  511. br.Msg = "获取数据失败!"
  512. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  513. return
  514. }
  515. if countIndustrial == 0 {
  516. br.Msg = "产业不存在!"
  517. br.ErrMsg = "产业ID不存在:" + strconv.Itoa(industrialManagementId)
  518. return
  519. }
  520. count, err := models.GetCountCygxIndustryFllow(uid, industrialManagementId, condition)
  521. if err != nil {
  522. br.Msg = "获取数据失败!"
  523. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  524. return
  525. }
  526. //
  527. //
  528. //IndustrialManagementId int `description:"产业D"`
  529. //UserId int `description:"用户ID"`
  530. //CreateTime time.Time `description:"创建时间"`
  531. //Mobile string `description:"手机号"`
  532. //Email string `description:"邮箱"`
  533. //CompanyId int `description:"公司id"`
  534. //CompanyName string `description:"公司名称"`
  535. //Type int `description:"操作方式,1报名,2取消报名"`
  536. //ModifyTime time.Time `description:"更新时间"`
  537. resp := new(models.ArticleCollectResp)
  538. if count == 0 {
  539. item := new(models.CygxIndustryFllow)
  540. item.IndustrialManagementId = industrialManagementId
  541. item.UserId = uid
  542. item.Email = user.Email
  543. item.Mobile = user.Mobile
  544. item.CompanyId = user.CompanyId
  545. item.CompanyName = user.CompanyName
  546. item.Type = 1
  547. item.CreateTime = time.Now()
  548. item.ModifyTime = time.Now()
  549. _, err = models.AddCygxIndustryFllow(item)
  550. if err != nil {
  551. br.Msg = "置顶失败"
  552. br.ErrMsg = "置顶失败,Err:" + err.Error()
  553. return
  554. }
  555. br.Msg = "置顶成功"
  556. resp.Status = 1
  557. } else {
  558. var doType int
  559. condition = ` AND type = 1`
  560. count, err = models.GetCountCygxIndustryFllow(uid, industrialManagementId, condition)
  561. if err != nil {
  562. br.Msg = "获取数据失败!"
  563. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  564. return
  565. }
  566. if count == 1 {
  567. br.Msg = "已取消关注"
  568. resp.Status = 2
  569. doType = 2
  570. } else {
  571. br.Msg = "已关注"
  572. resp.Status = 1
  573. doType = 1
  574. }
  575. err = models.RemoveCygxIndustryFllow(uid, industrialManagementId, doType)
  576. if err != nil {
  577. br.Msg = "取消关注失败"
  578. br.ErrMsg = "取消置顶失败,Err:" + err.Error()
  579. return
  580. }
  581. }
  582. br.Ret = 200
  583. br.Success = true
  584. br.Data = resp
  585. }