morning_meeting.go 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. package controllers
  2. import (
  3. "github.com/rdlucklib/rdluck_tools/paging"
  4. "hongze/hongze_cygx/models"
  5. "hongze/hongze_cygx/services"
  6. "hongze/hongze_cygx/utils"
  7. "strconv"
  8. "strings"
  9. )
  10. // 晨会精华
  11. type MorningMeetingController struct {
  12. BaseAuthController
  13. }
  14. // @Title 晨会精华汇总列表
  15. // @Description 晨会精华汇总列表接口
  16. // @Param PageSize query int true "每页数据条数"
  17. // @Param CurrentIndex query int true "当前页页码,从1开始"
  18. // @Success Ret=200 {object} cygx.GetCygxTacticsTimeLineResp
  19. // @router /gather/list [get]
  20. func (this *MorningMeetingController) GatherList() {
  21. br := new(models.BaseResponse).Init()
  22. defer func() {
  23. this.Data["json"] = br
  24. this.ServeJSON()
  25. }()
  26. user := this.User
  27. if user == nil {
  28. br.Msg = "请登录"
  29. br.ErrMsg = "请登录,用户信息为空"
  30. br.Ret = 408
  31. return
  32. }
  33. resp := new(models.CygxMorningMeetingGatherListResp)
  34. pageSize, _ := this.GetInt("PageSize")
  35. currentIndex, _ := this.GetInt("CurrentIndex")
  36. var startSize int
  37. if pageSize <= 0 {
  38. pageSize = utils.PageSize20
  39. }
  40. if currentIndex <= 0 {
  41. currentIndex = 1
  42. }
  43. startSize = utils.StartIndex(currentIndex, pageSize)
  44. var condition string
  45. var pars []interface{}
  46. condition += ` AND status = 1 AND meeting_ids != '' `
  47. total, err := models.GetCygxMorningMeetingGatherCount(condition, pars)
  48. if err != nil {
  49. br.Msg = "获取失败"
  50. br.ErrMsg = "获取失败,Err:" + err.Error()
  51. return
  52. }
  53. condition += " ORDER BY publish_time DESC ,id DESC "
  54. list, err := models.GetCygxMorningMeetingGatherList(condition, pars, startSize, pageSize)
  55. if err != nil {
  56. br.Msg = "获取失败"
  57. br.ErrMsg = "获取失败,Err:" + err.Error()
  58. return
  59. }
  60. var meetids string
  61. for _, v := range list {
  62. meetids += v.MeetingIds + ","
  63. }
  64. meetids = strings.TrimRight(meetids, ",")
  65. mapMeetName := make(map[string]string)
  66. if meetids != "" {
  67. pars = make([]interface{}, 0)
  68. condition = ` AND id IN(` + meetids + `) AND status = 1 `
  69. listMeet, err := models.GetCygxMorningMeetingReviewsList(condition, pars, 0, 10000)
  70. if err != nil {
  71. br.Msg = "获取失败"
  72. br.ErrMsg = "获取失败,Err:" + err.Error()
  73. }
  74. for _, v := range listMeet {
  75. mapMeetName[strconv.Itoa(v.Id)] = v.IndustryNames
  76. }
  77. }
  78. page := paging.GetPaging(currentIndex, pageSize, total)
  79. for _, v := range list {
  80. item := new(models.CygxMorningMeetingGatherResp)
  81. item.Id = v.Id
  82. item.Title = v.Title
  83. sliceMeetingIds := strings.Split(v.MeetingIds, ",")
  84. for _, vM := range sliceMeetingIds {
  85. if mapMeetName[vM] != "" {
  86. item.IndustryName += mapMeetName[vM] + ","
  87. }
  88. }
  89. item.IndustryName = strings.TrimRight(item.IndustryName, ",")
  90. item.IndustryName = strings.Replace(item.IndustryName, ",", "】,【", -1)
  91. item.IndustryName = "【" + item.IndustryName + "】"
  92. resp.List = append(resp.List, item)
  93. }
  94. resp.Paging = page
  95. br.Ret = 200
  96. br.Success = true
  97. br.Msg = "获取成功"
  98. br.Data = resp
  99. }
  100. // @Title 晨会精华汇总详情
  101. // @Description 晨会精华汇总详情接口
  102. // @Param Id query int true "Id"
  103. // @Success Ret=200 {object} cygx.GetCygxTacticsTimeLineResp
  104. // @router /gather/detail [get]
  105. func (this *MorningMeetingController) GatherDetail() {
  106. br := new(models.BaseResponse).Init()
  107. defer func() {
  108. this.Data["json"] = br
  109. this.ServeJSON()
  110. }()
  111. user := this.User
  112. if user == nil {
  113. br.Msg = "请登录"
  114. br.ErrMsg = "请登录,用户信息为空"
  115. br.Ret = 408
  116. return
  117. }
  118. id, _ := this.GetInt("Id")
  119. resp := new(models.CygxMorningMeetingGatherDetailResp)
  120. hasPermission, err := services.GetUserhasPermission(user)
  121. if err != nil {
  122. br.Msg = "获取信息失败"
  123. br.ErrMsg = "获取用户权限信息失败,Err:" + err.Error()
  124. }
  125. if user.UserId == 0 {
  126. hasPermission = 1 //用户未登录(绑定登录信息)的时候也能展示 v12.2.1
  127. }
  128. resp.HasPermission = hasPermission
  129. if hasPermission != 1 {
  130. br.Ret = 200
  131. br.Success = true
  132. br.Msg = "获取成功"
  133. br.Data = resp
  134. return
  135. }
  136. var condition string
  137. var pars []interface{}
  138. condition += ` AND status = 1 AND id = ? `
  139. pars = append(pars, id)
  140. total, err := models.GetCygxMorningMeetingGatherCount(condition, pars)
  141. if err != nil {
  142. br.Msg = "获取失败"
  143. br.ErrMsg = "获取失败,Err:" + err.Error()
  144. return
  145. }
  146. if total == 0 {
  147. br.Msg = "内容不存在,或未发布"
  148. }
  149. detail, err := models.GetCygxMorningMeetingGatherById(condition, pars)
  150. if err != nil {
  151. br.Msg = "获取失败"
  152. br.ErrMsg = "获取失败,Err:" + err.Error()
  153. return
  154. }
  155. var meetids string
  156. meetids = detail.MeetingIds
  157. detailResp := new(models.CygxMorningMeetingGatherDetail)
  158. if meetids != "" {
  159. pars = make([]interface{}, 0)
  160. condition = ` AND meeting_id IN(` + meetids + `) `
  161. listMeet, err := models.GetCygxMorningMeetingReviewChapterList(condition, pars)
  162. if err != nil {
  163. br.Msg = "获取失败"
  164. br.ErrMsg = "获取失败,Err:" + err.Error()
  165. }
  166. detailResp.List = listMeet
  167. //for _, v := range listMeet {
  168. // detailResp.List = append(detailResp.List, &models.CygxMorningMeetingGatherDetailListResp{
  169. // Id: v.Id,
  170. // IndustryId: v.IndustryId,
  171. // IndustryName: v.IndustryName,
  172. // ChartPermissionName: v.ChartPermissionName,
  173. // ChartPermissionId: v.ChartPermissionId,
  174. // MeetingId: int(v.MeetingId),
  175. // Content: v.Content,
  176. // })
  177. //}
  178. } else {
  179. detailResp.List = make([]*models.CygxMorningMeetingGatherDetailListResp, 0)
  180. }
  181. detailResp.Id = detail.Id
  182. detailResp.Title = detail.Title
  183. detailResp.PublishTime = utils.GetTimeDateRemoveYear(detail.PublishTime)
  184. detailResp.Department = "弘则产品组"
  185. resp.Detail = detailResp
  186. br.Ret = 200
  187. br.Success = true
  188. br.Msg = "获取成功"
  189. br.Data = resp
  190. }