user_yanxuan_permission.go 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package cygx
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "hongze/hz_crm_api/utils"
  5. "time"
  6. )
  7. type UpdateUserYanxuanPermissionReq struct {
  8. UserId int `description:"用户ID"`
  9. Type int `description:"类型 0关闭 、1开通"`
  10. }
  11. type CygxUserYanxuanPermission struct {
  12. UserYanxuanPermissionId int64 `orm:"column(user_yanxuan_permission_id);pk"`
  13. UserId int `description:"用户ID"`
  14. CompanyId int `description:"权限开始日期"`
  15. StartDate string `description:"权限开始日期"`
  16. EndDate string `description:"权限结束日期"`
  17. Status string `description:"'试用','未开通'"`
  18. Mobile string `description:"手机号"`
  19. Email string `description:"邮箱"`
  20. RealName string `description:"用户实际名称"`
  21. CompanyName string `description:"公司名称"`
  22. AdminId int `description:"后台添加人员ID"`
  23. AdminRealName string `description:"后台添加人员姓名"`
  24. CreatedTime time.Time `description:"创建时间"`
  25. LastUpdatedTime time.Time `description:"修改时间根据时间戳自动更新"`
  26. ModifyTime time.Time `description:"修改时间"`
  27. }
  28. type CygxUserYanxuanPermissionLog struct {
  29. UserYanxuanPermissionId int64 `orm:"column(user_yanxuan_permission_log_id);pk"`
  30. UserId int `description:"用户ID"`
  31. CompanyId int `description:"权限开始日期"`
  32. StartDate string `description:"权限开始日期"`
  33. EndDate string `description:"权限结束日期"`
  34. Status string `description:"'试用','未开通'"`
  35. Mobile string `description:"手机号"`
  36. Email string `description:"邮箱"`
  37. RealName string `description:"用户实际名称"`
  38. CompanyName string `description:"公司名称"`
  39. AdminId int `description:"后台添加人员ID"`
  40. AdminRealName string `description:"后台添加人员姓名"`
  41. CreatedTime time.Time `description:"创建时间"`
  42. LastUpdatedTime time.Time `description:"修改时间根据时间戳自动更新"`
  43. ModifyTime time.Time `description:"修改时间"`
  44. }
  45. // 添加
  46. func AddCygxUserYanxuanPermission(item *CygxUserYanxuanPermission) (lastId int64, err error) {
  47. o := orm.NewOrmUsingDB("hz_cygx")
  48. lastId, err = o.Insert(item)
  49. return
  50. }
  51. // 添加日志记录
  52. func AddCygxUserYanxuanPermissionLog(item *CygxUserYanxuanPermissionLog) (lastId int64, err error) {
  53. o := orm.NewOrmUsingDB("hz_cygx")
  54. lastId, err = o.Insert(item)
  55. return
  56. }
  57. // 根据用户ID获取是否开通过研选权限
  58. func GetCygxUserYanxuanPermissionCountByUserId(userId int) (count int, err error) {
  59. o := orm.NewOrmUsingDB("hz_cygx")
  60. sql := ` SELECT COUNT(1) FROM cygx_user_yanxuan_permission WHERE user_id = ? `
  61. err = o.Raw(sql, userId).QueryRow(&count)
  62. return
  63. }
  64. // 根据用户ID获取是否开通过研选权限
  65. func GetCygxUserYanxuanPermissionCountByUserIdStatus(userId int) (count int, err error) {
  66. o := orm.NewOrmUsingDB("hz_cygx")
  67. sql := ` SELECT COUNT(1) FROM cygx_user_yanxuan_permission WHERE user_id = ? AND status = '试用' AND end_date >= ? `
  68. err = o.Raw(sql, userId, time.Now().Format(utils.FormatDate)).QueryRow(&count)
  69. return
  70. }
  71. func GetCygxUserYanxuanPermissionDetail(userId int) (item *CygxUserYanxuanPermission, err error) {
  72. o := orm.NewOrmUsingDB("hz_cygx")
  73. sql := `SELECT * FROM cygx_user_yanxuan_permission AS a WHERE user_id = ? `
  74. err = o.Raw(sql, userId).QueryRow(&item)
  75. return
  76. }
  77. // 将研选权限状态改为未开通
  78. func UpdateCygxUserYanxuanPermissionClose(userId int) (err error) {
  79. o := orm.NewOrmUsingDB("hz_cygx")
  80. sql := ` UPDATE cygx_user_yanxuan_permission
  81. SET
  82. status ='未开通',
  83. modify_time = ?
  84. WHERE user_id = ? `
  85. _, err = o.Raw(sql, time.Now(), userId).Exec()
  86. return
  87. }
  88. // 将研选权限状态改为未开通
  89. func UpdateCygxUserYanxuanPermissionOpen(item *CygxUserYanxuanPermission) (err error) {
  90. o := orm.NewOrmUsingDB("hz_cygx")
  91. updateParams := make(map[string]interface{})
  92. updateParams["CompanyId"] = item.CompanyId
  93. updateParams["StartDate"] = item.StartDate
  94. updateParams["EndDate"] = item.EndDate
  95. updateParams["Status"] = item.Status
  96. updateParams["Mobile"] = item.Mobile
  97. updateParams["Email"] = item.Email
  98. updateParams["RealName"] = item.RealName
  99. updateParams["CompanyName"] = item.CompanyName
  100. updateParams["AdminId"] = item.AdminId
  101. updateParams["AdminRealName"] = item.AdminRealName
  102. ptrStructOrTableName := "cygx_user_yanxuan_permission"
  103. whereParam := map[string]interface{}{"user_id": item.UserId}
  104. qs := o.QueryTable(ptrStructOrTableName)
  105. for expr, exprV := range whereParam {
  106. qs = qs.Filter(expr, exprV)
  107. }
  108. _, err = qs.Update(updateParams)
  109. return
  110. }
  111. // 列表
  112. func GetCygxUserYanxuanPermissionList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxUserYanxuanPermission, err error) {
  113. o := orm.NewOrmUsingDB("hz_cygx")
  114. sql := `SELECT * FROM cygx_user_yanxuan_permission WHERE 1= 1 `
  115. if condition != "" {
  116. sql += condition
  117. }
  118. sql += ` LIMIT ?,? `
  119. _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
  120. return
  121. }