activity_special_permission_points.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package cygx
  2. import (
  3. //"github.com/beego/beego/v2/client/orm"
  4. "github.com/beego/beego/v2/client/orm"
  5. "hongze/hz_crm_api/utils"
  6. "time"
  7. )
  8. type CygxActivitySpecialPermissionPoints struct {
  9. Id int `orm:"column(id);pk"`
  10. CompanyId int `description:"公司ID"`
  11. Points int `description:"剩余点数"`
  12. Pointsf float64 `description:"剩余点数"`
  13. CompanyName string `description:"公司名称"`
  14. ChartPermissionId int `description:"行业id"`
  15. ChartPermissionName string `description:"行业名称"`
  16. CreateTime time.Time `description:"创建时间"`
  17. ModifyTime time.Time `description:"更新时间"`
  18. }
  19. // 添加
  20. func AddCygxActivitySpecialPermissionPoints(item *CygxActivitySpecialPermissionPoints) (err error) {
  21. o := orm.NewOrmUsingDB("hz_cygx")
  22. _, err = o.Insert(item)
  23. return
  24. }
  25. // MultiAddCygxActivitySpecialPermissionPoints 批量添加
  26. func MultiAddCygxActivitySpecialPermissionPoints(items []*CygxActivitySpecialPermissionPoints) (err error) {
  27. if len(items) == 0 {
  28. return
  29. }
  30. var chartPermissionIds []int
  31. var companyId int
  32. for _, v := range items {
  33. companyId = v.CompanyId
  34. if v.ChartPermissionId > 0 {
  35. chartPermissionIds = append(chartPermissionIds, v.ChartPermissionId)
  36. }
  37. }
  38. lenchartPermissionIds := len(chartPermissionIds)
  39. o, err := orm.NewOrmUsingDB("hz_cygx").Begin()
  40. if err != nil {
  41. return
  42. }
  43. defer func() {
  44. if err == nil {
  45. o.Commit()
  46. } else {
  47. o.Rollback()
  48. }
  49. }()
  50. var condition string
  51. var pars []interface{}
  52. pars = make([]interface{}, 0)
  53. condition = " AND company_id = ? "
  54. pars = append(pars, companyId)
  55. if lenchartPermissionIds > 0 {
  56. condition += " AND chart_permission_id IN (" + utils.GetOrmInReplace(lenchartPermissionIds) + ") "
  57. pars = append(pars, chartPermissionIds)
  58. }
  59. //删除历史记录
  60. sql := ""
  61. if condition != "" {
  62. sql = " DELETE FROM cygx_activity_special_permission_points WHERE 1= 1 " + condition
  63. _, err = o.Raw(sql, pars).Exec()
  64. if err != nil {
  65. return
  66. }
  67. }
  68. //批量插入
  69. _, err = o.InsertMulti(len(items), items)
  70. if err != nil {
  71. return
  72. }
  73. return
  74. }
  75. // 获取公司每个行业剩余研选点数列表
  76. func GetCygxActivitySpecialPermissionPointsList(condition string, pars []interface{}) (items []*CygxActivitySpecialPermissionPoints, err error) {
  77. o := orm.NewOrmUsingDB("hz_cygx")
  78. sql := `SELECT * , points as pointsf FROM cygx_activity_special_permission_points WHERE 1 = 1 `
  79. if condition != "" {
  80. sql += condition
  81. }
  82. _, err = o.Raw(sql, pars).QueryRows(&items)
  83. return
  84. }
  85. // 更新公司每个行业剩余研选点数
  86. func UpdateCygxActivitySpecialPermissionPoints(points, companyId, chartPermissionId int) (err error) {
  87. o := orm.NewOrmUsingDB("hz_cygx")
  88. sql := `UPDATE cygx_activity_special_permission_points SET points = ? WHERE company_id=? AND chart_permission_id=? `
  89. _, err = o.Raw(sql, points, companyId, chartPermissionId).Exec()
  90. return
  91. }
  92. // 获取客户是否有研选扣点点数
  93. func GetCygxActivitySpecialPermissionPointsCount(companyId int) (count int, err error) {
  94. o := orm.NewOrmUsingDB("hz_cygx")
  95. sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_special_permission_points WHERE company_id=? `
  96. err = o.Raw(sqlCount, companyId).QueryRow(&count)
  97. return
  98. }