chart_permission.go 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368
  1. package controllers
  2. import (
  3. "hongze/hongze_cygx/models"
  4. "hongze/hongze_cygx/services"
  5. "hongze/hongze_cygx/utils"
  6. )
  7. // 品种
  8. type ChartPermissionController struct {
  9. BaseCommonController
  10. }
  11. type ChartPermissionAuthController struct {
  12. BaseAuthController
  13. }
  14. // @Title 获取所有品种
  15. // @Description 获取用户详情接口
  16. // @Success 200 {object} models.ChartPermissionResp
  17. // @router /all [get]
  18. func (this *ChartPermissionAuthController) Detail() {
  19. br := new(models.BaseResponse).Init()
  20. defer func() {
  21. this.Data["json"] = br
  22. this.ServeJSON()
  23. }()
  24. user := this.User
  25. if user == nil {
  26. br.Msg = "请重新登录"
  27. br.Ret = 408
  28. return
  29. }
  30. var condition string
  31. var userType int
  32. if user.CompanyId > 1 {
  33. total, err := models.GetCountCompanyDetailByIdGroup(user.CompanyId)
  34. if err != nil {
  35. br.Msg = "获取失败"
  36. br.ErrMsg = "获取失败,Err:" + err.Error()
  37. return
  38. }
  39. if total == 0 {
  40. userType = 0
  41. } else {
  42. companyDetail, err := models.GetCompanyDetailByIdGroup(user.CompanyId)
  43. if err != nil {
  44. br.Msg = "获取信息失败!"
  45. br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
  46. return
  47. }
  48. if companyDetail.Status == "永续" {
  49. userType = 1
  50. }
  51. }
  52. }
  53. if userType == 1 {
  54. condition += ` AND permission_name != '研选'`
  55. }
  56. list, err := models.GetChartPermissionAll(condition)
  57. if err != nil {
  58. br.Msg = "获取信息失败"
  59. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  60. return
  61. }
  62. resp := new(models.ChartPermissionResp)
  63. for k, v := range list {
  64. //研选订阅包不进行展示
  65. if v.ChartPermissionId == utils.YAN_XUAN_KOU_DIAN_BAO_ID {
  66. continue
  67. }
  68. //固收不进行展示
  69. if v.ChartPermissionId == utils.GU_SHOU_ID_CHART {
  70. continue
  71. }
  72. if userType == 1 {
  73. if v.PermissionName != "研选" {
  74. resp.List = append(resp.List, v)
  75. }
  76. } else {
  77. if v.PermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
  78. v.PermissionName = "买方研选"
  79. }
  80. resp.List = append(resp.List, v)
  81. }
  82. if services.GetShowSustainable() && v.PermissionName == "研选" {
  83. resp.List[k].IsShowSustainable = true
  84. }
  85. }
  86. //resp.List = list
  87. br.Ret = 200
  88. br.Success = true
  89. br.Msg = "获取成功"
  90. br.Data = resp
  91. }
  92. // @Title 获取报告所有品种
  93. // @Description 获取报告所有品种接口
  94. // @Success 200 {object} models.ChartPermissionResp
  95. // @router /reportall [get]
  96. func (this *ChartPermissionAuthController) ReportDetail() {
  97. br := new(models.BaseResponse).Init()
  98. defer func() {
  99. this.Data["json"] = br
  100. this.ServeJSON()
  101. }()
  102. user := this.User
  103. if user == nil {
  104. br.Msg = "请重新登录"
  105. br.Ret = 408
  106. return
  107. }
  108. var condition string
  109. var userType int
  110. if user.CompanyId > 1 {
  111. total, err := models.GetCountCompanyDetailByIdGroup(user.CompanyId)
  112. if err != nil {
  113. br.Msg = "获取失败"
  114. br.ErrMsg = "获取失败,Err:" + err.Error()
  115. return
  116. }
  117. if total == 0 {
  118. userType = 0
  119. } else {
  120. companyDetail, err := models.GetCompanyDetailByIdGroup(user.CompanyId)
  121. if err != nil {
  122. br.Msg = "获取信息失败!"
  123. br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
  124. return
  125. }
  126. if companyDetail.Status == "永续" {
  127. userType = 1
  128. }
  129. }
  130. }
  131. if userType == 1 {
  132. condition += ` AND permission_name != '买方研选'`
  133. }
  134. list, err := models.GetChartPermissionReportAll(condition)
  135. if err != nil {
  136. br.Msg = "获取信息失败"
  137. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  138. return
  139. }
  140. resp := new(models.ChartPermissionResp)
  141. for k, v := range list {
  142. if userType == 1 {
  143. if v.PermissionName != "研选" {
  144. resp.List = append(resp.List, v)
  145. }
  146. } else {
  147. resp.List = append(resp.List, v)
  148. }
  149. if services.GetShowSustainable() && v.PermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
  150. resp.List[k].IsShowSustainable = true
  151. }
  152. }
  153. br.Ret = 200
  154. br.Success = true
  155. br.Msg = "获取成功"
  156. br.Data = resp
  157. }
  158. // @Title 获取策略下的所有分类
  159. // @Description 获取策略下的所有分类接口
  160. // @Param ChartPermissionId query int false "行业id"
  161. // @Success 200 {object} models.ReportMappingResp
  162. // @router /strategyAll [get]
  163. func (this *ChartPermissionAuthController) StrategyDetail() {
  164. br := new(models.BaseResponse).Init()
  165. defer func() {
  166. this.Data["json"] = br
  167. this.ServeJSON()
  168. }()
  169. user := this.User
  170. if user == nil {
  171. br.Msg = "请重新登录"
  172. br.Ret = 408
  173. return
  174. }
  175. //默认给策略的ID
  176. chartPermissionId, _ := this.GetInt("ChartPermissionId")
  177. if chartPermissionId == 0 {
  178. chartPermissionId = utils.CE_LUE_ID
  179. }
  180. uid := user.UserId
  181. list, err := models.GetReportMappingStrategyHomeAllByCygx(chartPermissionId)
  182. if err != nil {
  183. br.Msg = "获取信息失败"
  184. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  185. return
  186. }
  187. for k, v := range list {
  188. count, err := models.GetUserIsReadThisNewCategoryArticleCount(v.CategoryId, uid)
  189. if err != nil && err.Error() != utils.ErrNoRow() {
  190. br.Msg = "获取信息失败"
  191. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  192. return
  193. }
  194. Newdetail, err := models.GetNewArticleByCategoryId(v.CategoryId)
  195. if err != nil {
  196. br.Msg = "获取信息失败"
  197. br.ErrMsg = "获取信息失败,Err:" + err.Error()
  198. return
  199. }
  200. if count == 0 && user.CreatedTime.Before(utils.StrTimeToTime(Newdetail.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(Newdetail.PublishDate)) {
  201. list[k].IsRed = true
  202. }
  203. }
  204. cf, err := models.GetConfigByCode(utils.CYGX_TACTICS_TIME_LINE_STATUS)
  205. if err != nil {
  206. br.Msg = "获取失败"
  207. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  208. return
  209. }
  210. resp := new(models.ReportMappingHomeResp)
  211. if chartPermissionId != utils.GU_SHOU_ID_CHART {
  212. if cf.ConfigValue == "1" || user.CompanyId == utils.HZ_COMPANY_ID {
  213. item := new(models.ReportMappingHome)
  214. item.CategoryId = utils.TIME_LINE_ID
  215. item.SubCategoryName = utils.TIME_LINE_NAME
  216. item.MatchTypeName = utils.TIME_LINE_NAME
  217. resp.List = append(resp.List, item)
  218. }
  219. }
  220. for _, v := range list {
  221. resp.List = append(resp.List, v)
  222. }
  223. br.Ret = 200
  224. br.Success = true
  225. br.Msg = "获取成功"
  226. br.Data = resp
  227. }
  228. // @Title 获取所有品种(无需token)
  229. // @Description 获取所有品种(无需token)
  230. // @Success 200 {object} models.ChartPermissionResp
  231. // @router /allPublic [get]
  232. func (this *ChartPermissionController) DetailPublic() {
  233. br := new(models.BaseResponse).Init()
  234. defer func() {
  235. this.Data["json"] = br
  236. this.ServeJSON()
  237. }()
  238. var condition string
  239. list, err := models.GetChartPermissionAll(condition)
  240. if err != nil {
  241. br.Msg = "获取信息失败"
  242. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  243. return
  244. }
  245. resp := new(models.ChartPermissionResp)
  246. for k, v := range list {
  247. resp.List = append(resp.List, v)
  248. if services.GetShowSustainable() && v.PermissionName == "研选" {
  249. resp.List[k].IsShowSustainable = true
  250. }
  251. }
  252. resp.List = list
  253. br.Ret = 200
  254. br.Success = true
  255. br.Msg = "获取成功"
  256. br.Data = resp
  257. }
  258. // @Title 获取报告所有品种7.0版本
  259. // @Description 获取报告所有品种接口7.0版本
  260. // @Success 200 {object} models.ChartPermissionResp
  261. // @router /reportallV7 [get]
  262. func (this *ChartPermissionAuthController) ReportDetailV7() {
  263. br := new(models.BaseResponse).Init()
  264. defer func() {
  265. this.Data["json"] = br
  266. this.ServeJSON()
  267. }()
  268. user := this.User
  269. if user == nil {
  270. br.Msg = "请重新登录"
  271. br.Ret = 408
  272. return
  273. }
  274. var condition string
  275. //var userType int
  276. //if user.CompanyId > 1 {
  277. // total, err := models.GetCountCompanyDetailByIdGroup(user.CompanyId)
  278. // if err != nil {
  279. // br.Msg = "获取失败"
  280. // br.ErrMsg = "获取失败,Err:" + err.Error()
  281. // return
  282. // }
  283. // if total == 0 {
  284. // userType = 0
  285. // } else {
  286. // companyDetail, err := models.GetCompanyDetailByIdGroup(user.CompanyId)
  287. // if err != nil {
  288. // br.Msg = "获取信息失败!"
  289. // br.ErrMsg = "获取客户详情失败,Err:" + err.Error()
  290. // return
  291. // }
  292. // if companyDetail.Status == "永续" {
  293. // userType = 1
  294. // }
  295. // }
  296. //}
  297. condition += ` AND chart_permission_id NOT IN (31,52)`
  298. list, err := models.GetChartPermissionReportAll(condition)
  299. if err != nil {
  300. br.Msg = "获取信息失败"
  301. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  302. return
  303. }
  304. resp := new(models.ChartPermissionResp)
  305. for k, v := range list {
  306. //if userType == 1 {
  307. // if v.PermissionName != "研选" {
  308. // resp.List = append(resp.List, v)
  309. // }
  310. //} else {
  311. // resp.List = append(resp.List, v)
  312. //}
  313. resp.List = append(resp.List, v)
  314. //if strings.Contains(v.PermissionName,"")
  315. if services.GetShowSustainable() && v.PermissionName == utils.CHART_PERMISSION_NAME_MF_YANXUAN {
  316. resp.List[k].IsShowSustainable = true
  317. }
  318. }
  319. //item := new(models.ChartPermission)
  320. //item.PermissionName = utils.GU_SHOU_NAME
  321. //item.ChartPermissionId = utils.GU_SHOU_ID
  322. //resp.List = append(resp.List, item)
  323. br.Ret = 200
  324. br.Success = true
  325. br.Msg = "获取成功"
  326. br.Data = resp
  327. }
  328. // @Title 获取报告医药、消费、科技、智造、策略权限列表(没有买方研选)
  329. // @Description 获取报告医药、消费、科技、智造、策略权限列表(没有买方研选)
  330. // @Success 200 {object} models.ChartPermissionResp
  331. // @router /noyx [get]
  332. func (this *ChartPermissionAuthController) Noyx() {
  333. br := new(models.BaseResponse).Init()
  334. defer func() {
  335. this.Data["json"] = br
  336. this.ServeJSON()
  337. }()
  338. user := this.User
  339. if user == nil {
  340. br.Msg = "请重新登录"
  341. br.Ret = 408
  342. return
  343. }
  344. var condition string
  345. condition += ` AND permission_name IN ('医药','消费','科技','智造','策略','固收') `
  346. list, err := models.GetChartPermissionReportAll(condition)
  347. if err != nil {
  348. br.Msg = "获取信息失败"
  349. br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
  350. return
  351. }
  352. resp := new(models.ChartPermissionResp)
  353. resp.List = list
  354. br.Ret = 200
  355. br.Success = true
  356. br.Msg = "获取成功"
  357. br.Data = resp
  358. }