rs_calendar_meeting_user.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package roadshow
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "hongze/hz_crm_api/utils"
  5. "time"
  6. )
  7. type AddRsCalendarMeetingUserReq struct {
  8. RsCalendarId int `description:"日程ID"`
  9. UserId []int // 用户ID
  10. }
  11. type RsCalendarMeetingUser struct {
  12. RsCalendarMeetingUserId int `orm:"column(rs_calendar_meeting_user_id);pk" description:"主键ID"`
  13. RsCalendarId int `description:"日程ID"`
  14. UserId int `description:"用户ID"`
  15. Mobile string `description:"手机号"`
  16. Email string `description:"邮箱"`
  17. CompanyId int `description:"公司ID"`
  18. CompanyName string `description:"公司名称"`
  19. RealName string `description:"用户实际名称"`
  20. Position string `description:"职位"`
  21. AdminId int `description:"管理员ID"`
  22. AdminName string `description:"管理员姓名"`
  23. CreateTime time.Time `description:"创建时间"`
  24. ModifyTime time.Time `description:"修改时间"`
  25. }
  26. type RsCalendarMeetingUserResp struct {
  27. RsCalendarMeetingUserId int `description:"参会名单主键ID"`
  28. RealName string `description:"用户实际名称"`
  29. Position string `description:"职位"`
  30. }
  31. type DeleteRsCalendarMeetingUserReq struct {
  32. RsCalendarMeetingUserId int `description:"参会名单主键ID"`
  33. }
  34. type RsCalendarMeetingUserListResp struct {
  35. List []*RsCalendarMeetingUserResp
  36. }
  37. // MultiAddRsCalendarMeetingUser 批量添加RsCalendarMeetingUser
  38. func MultiAddRsCalendarMeetingUser(items []*RsCalendarMeetingUser) (err error) {
  39. if len(items) == 0 {
  40. return
  41. }
  42. o := orm.NewOrm()
  43. _, err = o.InsertMulti(len(items), items)
  44. return
  45. }
  46. // 删除
  47. func DeleteRsCalendarMeetingUser(rsCalendarMeetingUserID int) (err error) {
  48. o := orm.NewOrm()
  49. sql := ` DELETE FROM rs_calendar_meeting_user WHERE rs_calendar_meeting_user_id=? `
  50. _, err = o.Raw(sql, rsCalendarMeetingUserID).Exec()
  51. return err
  52. }
  53. // 列表
  54. func GetRsCalendarMeetingUserList(condition string, pars []interface{}) (items *RsCalendarMeetingUserResp, err error) {
  55. o := orm.NewOrm()
  56. sql := `SELECT * FROM rs_calendar_meeting_user WHERE 1=1 `
  57. if condition != "" {
  58. sql += condition
  59. }
  60. err = o.Raw(sql, pars).QueryRow(&items)
  61. return
  62. }
  63. // 通过路演ID获取参会人员列表
  64. func GetRsCalendarMeetingUserListByRsCalendarId(rsCalendarId int) (items []*RsCalendarMeetingUserResp, err error) {
  65. o := orm.NewOrm()
  66. sql := `SELECT * FROM rs_calendar_meeting_user WHERE rs_calendar_id = ? `
  67. _, err = o.Raw(sql, rsCalendarId).QueryRows(&items)
  68. return
  69. }
  70. type RsCalendarMeetingUserCountResp struct {
  71. RsCalendarId int `description:"日程ID"`
  72. Total int `description:"数量"`
  73. }
  74. // 路演参会人员数量
  75. func GetRsCalendarMeetingUserListCount(rsCalendarIds []int) (items []*RsCalendarMeetingUserCountResp, err error) {
  76. lenNum := len(rsCalendarIds)
  77. if lenNum <= 0 {
  78. return
  79. }
  80. o := orm.NewOrm()
  81. sql := `SELECT rs_calendar_id ,COUNT(1) as total FROM rs_calendar_meeting_user WHERE rs_calendar_id IN ( ` + utils.GetOrmInReplace(lenNum) + `) GROUP BY rs_calendar_id `
  82. _, err = o.Raw(sql, rsCalendarIds).QueryRows(&items)
  83. return
  84. }