activity.go 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. package roadshow
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "github.com/rdlucklib/rdluck_tools/paging"
  5. "hongze/hz_crm_api/utils"
  6. "time"
  7. )
  8. type AddActivitySellerReq struct {
  9. ActivityType string `description:"活动类型"`
  10. RoadshowType string `description:"路演形式"`
  11. RoadshowPlatform string `description:"路演平台"`
  12. CompanyId int `description:"客户id"`
  13. CompanyName string `description:"客户名称"`
  14. Theme string `description:"会议主题"`
  15. CooperationName string `description:"合作方名称"`
  16. ActivityCategory string `description:"活动类别"`
  17. //SellerList []*ActivitySellerReq
  18. EnglishCompany int `description:"是否为英文客户"`
  19. SellerId string `description:"销售id,多个用 ,隔开"`
  20. SellerName string `description:"销售名称"`
  21. StartDate string `description:"开始日期"`
  22. EndDate string `description:"结束日期"`
  23. StartTime string `description:"开始时间"`
  24. EndTime string `description:"结束时间"`
  25. StartWeek string `description:"开始日期对应周"`
  26. EndWeek string `description:"结束日期对应周"`
  27. }
  28. type RsActivityIdReq struct {
  29. RsActivityId int `description:"活动id"`
  30. }
  31. type ActivitySellerReq struct {
  32. SellerId int `description:"销售id"`
  33. SellerName string `description:"销售名称"`
  34. StartDate string `description:"开始日期"`
  35. EndDate string `description:"结束日期"`
  36. StartTime string `description:"开始时间"`
  37. EndTime string `description:"结束时间"`
  38. StartWeek string `description:"开始日期对应周"`
  39. EndWeek string `description:"结束日期对应周"`
  40. }
  41. type RsActivity struct {
  42. RsActivityId int `orm:"column(rs_activity_id);pk"`
  43. SysUserId int `description:"创建人id"`
  44. SysUserRealName string `description:"创建人名称"`
  45. ActivityType string `description:"活动类型"`
  46. CompanyId int `description:"客户id"`
  47. CompanyName string `description:"客户名称"`
  48. Theme string `description:"会议主题"`
  49. CreateTime time.Time
  50. ModifyTime time.Time
  51. EnglishCompany int `description:"是否为英文客户: 0-否; 1-是"`
  52. }
  53. // 添加RsActivity
  54. func AddRsActivity(item *RsActivity) (lastId int64, err error) {
  55. o := orm.NewOrm()
  56. lastId, err = o.Insert(item)
  57. return
  58. }
  59. type RsActivitySeller struct {
  60. RsActivitySellerId int `orm:"column(rs_activity_seller_id);pk"`
  61. RsActivityId int `description:"活动id"`
  62. SellerId int `description:"销售id"`
  63. SellerName string `description:"销售id"`
  64. StartDate string `description:"开始日期"`
  65. EndDate string `description:"结束日期"`
  66. StartTime string `description:"开始时间"`
  67. EndTime string `description:"结束时间"`
  68. StartWeek string `description:"开始日期对应周"`
  69. EndWeek string `description:"结束日期对应周"`
  70. CreateTime time.Time
  71. ModifyTime time.Time
  72. Status int `description:"状态:1:待接受,2:已接受,3:已拒绝,4:已删除,5:已撤回,6:已结束"`
  73. DeleteReason string `description:"删除理由"`
  74. DeleteTime time.Time `description:"删除时间"`
  75. }
  76. // 添加 RsActivitySeller
  77. func AddRsActivitySeller(item *RsActivitySeller) (lastId int64, err error) {
  78. o := orm.NewOrm()
  79. lastId, err = o.Insert(item)
  80. return
  81. }
  82. type RsActivitySellerResp struct {
  83. RsActivitySellerId int `orm:"column(rs_activity_seller_id);pk"`
  84. CompanyId int `description:"客户id"`
  85. CompanyName string `description:"客户名称"`
  86. RsActivityId int `description:"活动id"`
  87. ActivityType string `description:"活动类型"`
  88. SellerName string `description:"销售姓名"`
  89. StartDate string `description:"开始日期"`
  90. EndDate string `description:"结束日期"`
  91. StartTime string `description:"开始时间"`
  92. EndTime string `description:"结束时间"`
  93. StartWeek string `description:"开始日期对应周"`
  94. EndWeek string `description:"结束日期对应周"`
  95. Theme string `description:"会议主题"`
  96. CreateTime string `description:"创建时间"`
  97. SysUserRealName string `description:"创建人名称"`
  98. RoadshowType string `description:"路演形式"`
  99. }
  100. type RsActivitySellerListResp struct {
  101. Paging *paging.PagingItem
  102. List []*RsActivitySellerResp
  103. }
  104. func GetRsActivitySellerList(condition string, pars []interface{}, startSize, pageSize int) (items []*RsActivitySellerResp, err error) {
  105. sql := `SELECT
  106. a.*,
  107. b.sys_user_real_name,
  108. b.theme,
  109. b.activity_type,
  110. b.company_id,
  111. b.company_name
  112. FROM
  113. rs_activity_seller AS a
  114. INNER JOIN rs_activity AS b ON a.rs_activity_id = b.rs_activity_id
  115. WHERE
  116. 1 = 1 `
  117. if condition != "" {
  118. sql += condition
  119. }
  120. sql += ` GROUP BY a.rs_activity_id ORDER BY b.create_time DESC LIMIT ?,? `
  121. o := orm.NewOrm()
  122. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  123. return
  124. }
  125. func GetRsActivitySellerList2(condition string, pars []interface{}) (list []*RsActivitySellerResp, err error) {
  126. o := orm.NewOrm()
  127. sql := `SELECT
  128. a.*,
  129. b.sys_user_real_name,
  130. b.theme,
  131. b.activity_type,
  132. b.company_id,
  133. b.company_name
  134. FROM
  135. rs_activity_seller AS a
  136. INNER JOIN rs_activity AS b ON a.rs_activity_id = b.rs_activity_id
  137. WHERE
  138. 1 = 1`
  139. if condition != "" {
  140. sql += condition
  141. }
  142. sql += ` ORDER BY a.create_time DESC `
  143. _, err = o.Raw(sql, pars).QueryRows(&list)
  144. return
  145. }
  146. // 根据活动ID获取销售列表
  147. func GetRsActivitySellerListByActivityIds(rsActivityIds []int) (items []*RsActivitySeller, err error) {
  148. lenArr := len(rsActivityIds)
  149. if lenArr == 0 {
  150. return
  151. }
  152. o := orm.NewOrm()
  153. sql := `SELECT
  154. *
  155. FROM
  156. rs_activity_seller AS a
  157. WHERE
  158. 1 = 1 AND rs_activity_id IN (` + utils.GetOrmInReplace(lenArr) + `) `
  159. _, err = o.Raw(sql, rsActivityIds).QueryRows(&items)
  160. return
  161. }
  162. func GetRsActivitySellerListCount(condition string, pars []interface{}) (count int, err error) {
  163. o := orm.NewOrm()
  164. sql := `SELECT
  165. COUNT( * ) as count
  166. FROM
  167. (
  168. SELECT
  169. COUNT( * )
  170. FROM
  171. rs_activity AS b
  172. INNER JOIN rs_activity_seller AS a ON a.rs_activity_id = b.rs_activity_id
  173. WHERE
  174. 1 = 1 ` + condition + ` GROUP BY a.rs_activity_id ) b `
  175. err = o.Raw(sql, pars).QueryRow(&count)
  176. return
  177. }
  178. // 删除
  179. func DeleteRsActivitySeller(rsActivityId int) (err error) {
  180. o := orm.NewOrm()
  181. sql := ` UPDATE rs_activity_seller SET status=4 WHERE rs_activity_id = ? `
  182. _, err = o.Raw(sql, rsActivityId).Exec()
  183. return
  184. }
  185. func GetRsActivityByRsActivityId(rsActivityId int) (item *RsActivity, err error) {
  186. o := orm.NewOrm()
  187. sql := `SELECT * FROM rs_activity WHERE rs_activity_id=? `
  188. err = o.Raw(sql, rsActivityId).QueryRow(&item)
  189. return
  190. }
  191. func CheckCalendarActivitySellerrCount(condition string, pars []interface{}) (count int, err error) {
  192. o := orm.NewOrm()
  193. sql := `SELECT COUNT(1) AS count FROM rs_activity_seller AS a
  194. WHERE 1=1 `
  195. if condition != "" {
  196. sql += condition
  197. }
  198. err = o.Raw(sql, pars).QueryRow(&count)
  199. return
  200. }