calendar_meeting_user.go 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. package roadshow
  2. import (
  3. "encoding/json"
  4. "hongze/hz_crm_api/controllers"
  5. "hongze/hz_crm_api/models"
  6. "hongze/hz_crm_api/models/roadshow"
  7. "strconv"
  8. "strings"
  9. "time"
  10. )
  11. // 日历参会名单
  12. type CalendarMeetingUserController struct {
  13. controllers.BaseAuthController
  14. }
  15. // @Title 新增路演活动参会名单接口
  16. // @Description 新增路演活动参会名单接口
  17. // @Param request body roadshow.AddRsCalendarMeetingUserReq true "type json string"
  18. // @Success Ret=200 保存成功
  19. // @router /rs_calendar_meeting_user/add [post]
  20. func (this *CalendarMeetingUserController) Add() {
  21. br := new(models.BaseResponse).Init()
  22. defer func() {
  23. this.Data["json"] = br
  24. this.ServeJSON()
  25. }()
  26. sysUser := this.SysUser
  27. if sysUser == nil {
  28. br.Msg = "请登录"
  29. br.ErrMsg = "请登录,SysUser Is Empty"
  30. br.Ret = 408
  31. return
  32. }
  33. var req roadshow.AddRsCalendarMeetingUserReq
  34. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  35. if err != nil {
  36. br.Msg = "参数解析异常!"
  37. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  38. return
  39. }
  40. rsCalendarId := req.RsCalendarId
  41. userIds := req.UserId
  42. if rsCalendarId == 0 {
  43. br.Msg = "路演信息错误!"
  44. return
  45. }
  46. if len(userIds) == 0 {
  47. br.Msg = "参会人不能为空!"
  48. return
  49. }
  50. var userIdsStr []string
  51. for _, v := range userIds {
  52. userIdsStr = append(userIdsStr, strconv.Itoa(v))
  53. }
  54. listUser, err := models.GetWxUserListByUserIdsHaveCompany(strings.Join(userIdsStr, ","))
  55. if err != nil {
  56. br.Msg = "获取用户信息失败!"
  57. br.ErrMsg = "获取用户信息失败-GetWxUserListByUserIdsHaveCompany!Err:" + err.Error()
  58. return
  59. }
  60. var items []*roadshow.RsCalendarMeetingUser
  61. for _, v := range listUser {
  62. item := new(roadshow.RsCalendarMeetingUser)
  63. item.RsCalendarId = rsCalendarId
  64. item.UserId = v.UserId
  65. item.Mobile = v.Mobile
  66. item.Email = v.Email
  67. item.CompanyId = v.CompanyId
  68. item.CompanyName = v.CompanyName
  69. item.RealName = v.RealName
  70. item.Position = v.Position
  71. item.AdminId = sysUser.AdminId
  72. item.AdminName = sysUser.RealName
  73. item.CreateTime = time.Now()
  74. item.ModifyTime = time.Now()
  75. items = append(items, item)
  76. }
  77. err = roadshow.MultiAddRsCalendarMeetingUser(items)
  78. if err != nil {
  79. br.Msg = "操作失败!"
  80. br.ErrMsg = "操作失败-MultiAddRsCalendarMeetingUser!Err:" + err.Error()
  81. return
  82. }
  83. br.Ret = 200
  84. br.Success = true
  85. br.Msg = "添加成功"
  86. br.IsAddLog = true
  87. }
  88. // @Title 路演活动参会名单列表接口
  89. // @Description 路演活动参会名单列表接口
  90. // @Param RsCalendarId query int true "路演活动id"
  91. // @Success 200 {object} roadshow.CalendarListResp
  92. // @router /rs_calendar_meeting_user/list [get]
  93. func (this *CalendarMeetingUserController) List() {
  94. br := new(models.BaseResponse).Init()
  95. defer func() {
  96. this.Data["json"] = br
  97. this.ServeJSON()
  98. }()
  99. sysUser := this.SysUser
  100. if sysUser == nil {
  101. br.Msg = "请登录"
  102. br.ErrMsg = "请登录,SysUser Is Empty"
  103. br.Ret = 408
  104. return
  105. }
  106. rsCalendarId, _ := this.GetInt("RsCalendarId")
  107. resp := new(roadshow.RsCalendarMeetingUserListResp)
  108. list, err := roadshow.GetRsCalendarMeetingUserListByRsCalendarId(rsCalendarId)
  109. if err != nil {
  110. br.Msg = "获取失败!"
  111. br.ErrMsg = "操作失败-GetRsCalendarMeetingUserListByRsCalendarId!Err:" + err.Error()
  112. return
  113. }
  114. if len(list) == 0 {
  115. list = make([]*roadshow.RsCalendarMeetingUserResp, 0)
  116. }
  117. resp.List = list
  118. br.Ret = 200
  119. br.Success = true
  120. br.Data = resp
  121. br.Msg = "获取成功"
  122. }
  123. // @Title 路演活动参会删除接口
  124. // @Description 路演活动参会删除接口
  125. // @Param RsCalendarMeetingUserId query int true "参会名单主键ID"
  126. // @Success Ret=200 删除成功
  127. // @router /rs_calendar_meeting_user/delete [post]
  128. func (this *CalendarMeetingUserController) Delete() {
  129. br := new(models.BaseResponse).Init()
  130. defer func() {
  131. this.Data["json"] = br
  132. this.ServeJSON()
  133. }()
  134. sysUser := this.SysUser
  135. if sysUser == nil {
  136. br.Msg = "请登录"
  137. br.ErrMsg = "请登录,SysUser Is Empty"
  138. br.Ret = 408
  139. return
  140. }
  141. var req roadshow.DeleteRsCalendarMeetingUserReq
  142. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  143. if err != nil {
  144. br.Msg = "参数解析异常!"
  145. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  146. return
  147. }
  148. rsCalendarMeetingUserId := req.RsCalendarMeetingUserId
  149. err = roadshow.DeleteRsCalendarMeetingUser(rsCalendarMeetingUserId)
  150. if err != nil {
  151. br.Msg = "删除失败!"
  152. br.ErrMsg = "删除失败-DeleteRsCalendarMeetingUser!Err:" + err.Error()
  153. return
  154. }
  155. br.Ret = 200
  156. br.Success = true
  157. br.Msg = "删除成功"
  158. br.IsAddLog = true
  159. }