activity_special_trip_bill.go 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. type CygxActivitySpecialTripBill struct {
  7. Id int `orm:"column(id);pk"`
  8. UserId int `description:"用户id,多个用,隔开"`
  9. ActivityId int `description:"活动ID"`
  10. CreateTime time.Time `description:"创建时间"`
  11. Mobile string `description:"手机号"`
  12. Email string `description:"邮箱号"`
  13. CompanyId int `description:"公司ID"`
  14. CompanyName string `description:"公司名称"`
  15. RealName string `description:"用户实际名称"`
  16. AdminId int `description:"销售/管理员ID"`
  17. Source int `description:"来源,1小程序,2后台添加, 3开发人员手动添加"`
  18. BillDetailed int `description:"流水明细,判断是进账还是出账"`
  19. DoType int `description:"操作方式,1报名,2取消报名"`
  20. RegisterPlatform int `description:"来源 1小程序,2:网页"`
  21. ChartPermissionId int `description:"行业id"`
  22. Way int `description:"1报名,取消报名。2到会取消到会 3转正或清零 4取消活动"`
  23. Content string `description:"内容"`
  24. Total string `description:"总和"`
  25. }
  26. // 添加
  27. func AddCygxActivitySpecialTripBill(item *CygxActivitySpecialTripBill) (err error) {
  28. o := orm.NewOrm()
  29. _, err = o.Insert(item)
  30. if err != nil {
  31. return
  32. }
  33. return
  34. }
  35. func GetCygxActivitySpecialTripBill(condition string, pars []interface{}) (item []*CygxActivitySpecialTripBill, err error) {
  36. o := orm.NewOrm()
  37. sql := `SELECT *
  38. FROM
  39. cygx_activity_special_trip_bill
  40. WHERE 1 = 1 ` + condition
  41. _, err = o.Raw(sql, pars).QueryRows(&item)
  42. return
  43. }
  44. type CygxActivitySpecialTripBillList struct {
  45. Id int `orm:"column(id);pk"`
  46. UserId int `description:"用户id,多个用,隔开"`
  47. ActivityId int `description:"活动ID"`
  48. CreateTime time.Time `description:"创建时间"`
  49. Mobile string `description:"手机号"`
  50. Email string `description:"邮箱号"`
  51. CompanyId int `description:"公司ID"`
  52. CompanyName string `description:"公司名称"`
  53. RealName string `description:"用户实际名称"`
  54. AdminId int `description:"销售/管理员ID"`
  55. Source int `description:"来源,1小程序,2后台添加, 3开发人员手动添加"`
  56. BillDetailed int `description:"流水明细,判断是进账还是出账"`
  57. DoType int `description:"操作方式,1报名,2取消报名"`
  58. RegisterPlatform int `description:"来源 1小程序,2:网页"`
  59. ChartPermissionId int `description:"行业id"`
  60. ChartPermissionName string `description:"行业名称"`
  61. Way int `description:"1报名,取消报名。2到会取消到会 3转正或清零 4取消活动"`
  62. Content string `description:"内容"`
  63. }
  64. func GetCygxActivitySpecialTripBillList(condition string, pars []interface{}) (item []*CygxActivitySpecialTripBillList, err error) {
  65. o := orm.NewOrm()
  66. sql := `SELECT
  67. b.*
  68. FROM
  69. cygx_activity_special_trip_bill AS b
  70. WHERE
  71. 1 = 1` + condition
  72. _, err = o.Raw(sql, pars).QueryRows(&item)
  73. return
  74. }
  75. type SpecialBillInitBig struct {
  76. ApprovalTime time.Time
  77. CompanyId int
  78. CompanyName string
  79. }
  80. func GetActivitySecialTirpBillForInit(packageType int) (item []*SpecialBillInitBig, err error) {
  81. o := orm.NewOrm()
  82. sql := ` SELECT
  83. a.approve_time,d.company_id,c.company_name
  84. FROM
  85. company_approval a
  86. INNER JOIN company_contract b ON a.company_contract_id = b.company_contract_id
  87. INNER JOIN company c ON a.company_id = c.company_id
  88. INNER JOIN cygx_company_user_type d ON a.company_id = d.company_id
  89. WHERE
  90. a.apply_method = 1
  91. AND a.product_id = 2
  92. AND a.approve_status = '已审批'
  93. AND b.product_id = 2
  94. AND d.package_type = ?
  95. GROUP BY d.company_id `
  96. _, err = o.Raw(sql, packageType).QueryRows(&item)
  97. return
  98. }
  99. type SpecialBillInitNotBig struct {
  100. ApprovalTime time.Time
  101. CompanyId int
  102. CompanyName string
  103. ChartPermissionIds string
  104. }
  105. func GetActivitySecialTirpBillForInitNotBig() (item []*SpecialBillInitNotBig, err error) {
  106. o := orm.NewOrm()
  107. sql := ` SELECT
  108. a.approve_time,d.company_id,d.company_name,GROUP_CONCAT(DISTINCT c.chart_permission_id) AS chart_permission_ids
  109. FROM
  110. company_approval a
  111. INNER JOIN company_contract b ON a.company_contract_id = b.company_contract_id
  112. INNER JOIN company_report_permission c ON a.company_id = c.company_id
  113. INNER JOIN company d ON a.company_id = d.company_id
  114. WHERE
  115. a.apply_method = 1
  116. AND a.product_id = 2
  117. AND a.approve_status = '已审批'
  118. AND b.product_id = 2
  119. AND c.product_id = 2
  120. AND c.is_upgrade = 1
  121. GROUP BY d.company_id `
  122. _, err = o.Raw(sql).QueryRows(&item)
  123. return
  124. }
  125. // 批量添加
  126. func AddCygxActivitySpecialTripBillMulti(items []*CygxActivitySpecialTripBill) (err error) {
  127. o := orm.NewOrm()
  128. if len(items) > 0 {
  129. //批量添加
  130. _, err = o.InsertMulti(len(items), items)
  131. }
  132. return
  133. }
  134. type SpecialBillInitReduce struct {
  135. CreateTime time.Time
  136. CompanyId int
  137. CompanyName string
  138. }
  139. func GetActivitySecialTirpBillForReduce() (item []*SpecialBillInitReduce, err error) {
  140. o := orm.NewOrm()
  141. sql := ` SELECT
  142. a.create_time,a.company_id,c.company_name
  143. FROM
  144. company_operation_record a
  145. INNER JOIN company c ON a.company_id = c.company_id
  146. INNER JOIN company_report_permission e ON a.company_id = e.company_id
  147. WHERE
  148. a.operation = 'try_out'
  149. AND a.product_id = 2
  150. AND e.status NOT IN ('正式','永续')
  151. GROUP BY a.company_id `
  152. _, err = o.Raw(sql).QueryRows(&item)
  153. return
  154. }
  155. func GetCygxActivitySpecialTripBillForInit() (item []*CygxActivitySpecialTripBill, err error) {
  156. o := orm.NewOrm()
  157. sql := ` SELECT * FROM cygx_activity_special_trip_bill GROUP BY company_id `
  158. _, err = o.Raw(sql).QueryRows(&item)
  159. return
  160. }
  161. func GetCygxActivitySpecialTripBillByCompanyIdForInit(companyId int) (item []*CygxActivitySpecialTripBill, err error) {
  162. o := orm.NewOrm()
  163. sql := ` SELECT * FROM cygx_activity_special_trip_bill WHERE company_id = ? ORDER BY create_time DESC `
  164. _, err = o.Raw(sql, companyId).QueryRows(&item)
  165. return
  166. }
  167. func UpdateCygxActivitySpecialTripBillByCompanyIdForInit(total string, id int) (err error) {
  168. o := orm.NewOrm()
  169. sql := ` UPDATE cygx_activity_special_trip_bill SET total=? WHERE id = ? `
  170. _, err = o.Raw(sql, total, id).Exec()
  171. return
  172. }