activity_special_permission_points.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. CompanyName string `description:"公司名称"`
  13. ChartPermissionId int `description:"行业id"`
  14. ChartPermissionName string `description:"行业名称"`
  15. CreateTime time.Time `description:"创建时间"`
  16. ModifyTime time.Time `description:"更新时间"`
  17. }
  18. // MultiAddCygxActivitySpecialPermissionPoints 批量添加
  19. func MultiAddCygxActivitySpecialPermissionPoints(items []*CygxActivitySpecialPermissionPoints) (err error) {
  20. if len(items) == 0 {
  21. return
  22. }
  23. var chartPermissionIds []int
  24. var companyId int
  25. for _, v := range items {
  26. companyId = v.CompanyId
  27. if v.ChartPermissionId > 0 {
  28. chartPermissionIds = append(chartPermissionIds, v.ChartPermissionId)
  29. }
  30. }
  31. lenchartPermissionIds := len(chartPermissionIds)
  32. o, err := orm.NewOrmUsingDB("hz_cygx").Begin()
  33. if err != nil {
  34. return
  35. }
  36. defer func() {
  37. if err == nil {
  38. o.Commit()
  39. } else {
  40. o.Rollback()
  41. }
  42. }()
  43. var condition string
  44. var pars []interface{}
  45. pars = make([]interface{}, 0)
  46. condition = " AND company_id = ? "
  47. pars = append(pars, companyId)
  48. if lenchartPermissionIds > 0 {
  49. condition += " AND chart_permission_id IN (" + utils.GetOrmInReplace(lenchartPermissionIds) + ") "
  50. pars = append(pars, chartPermissionIds)
  51. }
  52. //删除历史记录
  53. sql := ""
  54. if condition != "" {
  55. sql = " DELETE FROM cygx_activity_special_permission_points WHERE 1= 1 " + condition
  56. _, err = o.Raw(sql, pars).Exec()
  57. if err != nil {
  58. return
  59. }
  60. }
  61. //批量插入
  62. _, err = o.InsertMulti(len(items), items)
  63. if err != nil {
  64. return
  65. }
  66. return
  67. }
  68. // 获取公司每个行业剩余研选点数列表
  69. func GetCygxActivitySpecialPermissionPointsList(condition string, pars []interface{}) (items []*CygxActivitySpecialPermissionPoints, err error) {
  70. o := orm.NewOrmUsingDB("hz_cygx")
  71. sql := `SELECT * FROM cygx_activity_special_permission_points WHERE 1 = 1 `
  72. if condition != "" {
  73. sql += condition
  74. }
  75. _, err = o.Raw(sql, pars).QueryRows(&items)
  76. return
  77. }
  78. // 更新公司每个行业剩余研选点数
  79. func UpdateCygxActivitySpecialPermissionPoints(points, companyId, chartPermissionId int) (err error) {
  80. o := orm.NewOrmUsingDB("hz_cygx")
  81. sql := `UPDATE cygx_activity_special_permission_points SET points = ? WHERE company_id=? AND chart_permission_id=? `
  82. _, err = o.Raw(sql, points, companyId, chartPermissionId).Exec()
  83. return
  84. }