activity_special_trip_bill.go 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  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. c.chart_permission_name
  69. FROM
  70. cygx_activity_special_trip_bill AS b
  71. LEFT JOIN chart_permission AS c ON c.chart_permission_id = b.chart_permission_id
  72. WHERE
  73. 1 = 1` + condition
  74. _, err = o.Raw(sql, pars).QueryRows(&item)
  75. return
  76. }
  77. type SpecialBillInitBig struct {
  78. ApprovalTime time.Time
  79. CompanyId int
  80. CompanyName string
  81. }
  82. func GetActivitySecialTirpBillForInit(packageType int) (item []*SpecialBillInitBig, err error) {
  83. o := orm.NewOrm()
  84. sql := ` SELECT
  85. a.approve_time,d.company_id,c.company_name
  86. FROM
  87. company_approval a
  88. INNER JOIN company_contract b ON a.company_contract_id = b.company_contract_id
  89. INNER JOIN company c ON a.company_id = c.company_id
  90. INNER JOIN cygx_company_user_type d ON a.company_id = d.company_id
  91. WHERE
  92. a.apply_method = 1
  93. AND a.product_id = 2
  94. AND a.approve_status = '已审批'
  95. AND b.product_id = 2
  96. AND d.package_type = ?
  97. GROUP BY d.company_id `
  98. _, err = o.Raw(sql, packageType).QueryRows(&item)
  99. return
  100. }
  101. type SpecialBillInitNotBig struct {
  102. ApprovalTime time.Time
  103. CompanyId int
  104. CompanyName string
  105. ChartPermissionIds string
  106. }
  107. func GetActivitySecialTirpBillForInitNotBig() (item []*SpecialBillInitNotBig, err error) {
  108. o := orm.NewOrm()
  109. sql := ` SELECT
  110. a.approve_time,d.company_id,d.company_name,GROUP_CONCAT(DISTINCT c.chart_permission_id) AS chart_permission_ids
  111. FROM
  112. company_approval a
  113. INNER JOIN company_contract b ON a.company_contract_id = b.company_contract_id
  114. INNER JOIN company_report_permission c ON a.company_id = c.company_id
  115. INNER JOIN company d ON a.company_id = d.company_id
  116. WHERE
  117. a.apply_method = 1
  118. AND a.product_id = 2
  119. AND a.approve_status = '已审批'
  120. AND b.product_id = 2
  121. AND c.product_id = 2
  122. AND c.is_upgrade = 1
  123. GROUP BY d.company_id `
  124. _, err = o.Raw(sql).QueryRows(&item)
  125. return
  126. }
  127. // 批量添加
  128. func AddCygxActivitySpecialTripBillMulti(items []*CygxActivitySpecialTripBill) (err error) {
  129. o := orm.NewOrm()
  130. if len(items) > 0 {
  131. //批量添加
  132. _, err = o.InsertMulti(len(items), items)
  133. }
  134. return
  135. }
  136. type SpecialBillInitReduce struct {
  137. CreateTime time.Time
  138. CompanyId int
  139. CompanyName string
  140. }
  141. func GetActivitySecialTirpBillForReduce() (item []*SpecialBillInitReduce, err error) {
  142. o := orm.NewOrm()
  143. sql := ` SELECT
  144. a.create_time,a.company_id,c.company_name
  145. FROM
  146. company_operation_record a
  147. INNER JOIN company c ON a.company_id = c.company_id
  148. INNER JOIN company_report_permission e ON a.company_id = e.company_id
  149. WHERE
  150. a.operation = 'try_out'
  151. AND a.product_id = 2
  152. AND e.status NOT IN ('正式','永续')
  153. GROUP BY a.company_id `
  154. _, err = o.Raw(sql).QueryRows(&item)
  155. return
  156. }
  157. func GetCygxActivitySpecialTripBillForInit() (item []*CygxActivitySpecialTripBill, err error) {
  158. o := orm.NewOrm()
  159. sql := ` SELECT * FROM cygx_activity_special_trip_bill GROUP BY company_id `
  160. _, err = o.Raw(sql).QueryRows(&item)
  161. return
  162. }
  163. func GetCygxActivitySpecialTripBillByCompanyIdForInit(companyId int) (item []*CygxActivitySpecialTripBill, err error) {
  164. o := orm.NewOrm()
  165. sql := ` SELECT * FROM cygx_activity_special_trip_bill WHERE company_id = ? ORDER BY create_time DESC `
  166. _, err = o.Raw(sql, companyId).QueryRows(&item)
  167. return
  168. }
  169. func UpdateCygxActivitySpecialTripBillByCompanyIdForInit(total string, id int) (err error) {
  170. o := orm.NewOrm()
  171. sql := ` UPDATE cygx_activity_special_trip_bill SET total=? WHERE id = ? `
  172. _, err = o.Raw(sql,total, id).Exec()
  173. return
  174. }