company_report_permission.go 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package models
  2. import (
  3. "hongze/hongze_task/utils"
  4. "rdluck_tools/orm"
  5. "time"
  6. )
  7. type CompanyReportPermission struct {
  8. CompanyReportPermissionId int64 `orm:"column(company_report_permission_id);pk"`
  9. CompanyId int `description:"公司id"`
  10. ProductId int `description:"产品id"`
  11. ProductName string `description:"产品名称"`
  12. ReportPermissionId int `description:"权限id(作废)"`
  13. Status string `description:"状态"`
  14. CreatedTime time.Time `description:"创建时间"`
  15. LastUpdatedTime time.Time `description:"更新时间"`
  16. ChartPermissionId int `description:"大分类ID"`
  17. StartDate string `description:"合同开始日期"`
  18. EndDate string `description:"合同结束日期"`
  19. ModifyTime string `description:"更新时间"`
  20. }
  21. func GetCompanyReportPermission(companyId int) (items []*CompanyReportPermission, err error) {
  22. sql := `SELECT * FROM company_report_permission WHERE company_id=? `
  23. _, err = orm.NewOrm().Raw(sql, companyId).QueryRows(&items)
  24. return
  25. }
  26. func AddCompanyReportPermission(item *CompanyReportPermission) (err error) {
  27. o := orm.NewOrm()
  28. _, err = o.Insert(item)
  29. return
  30. }
  31. func ModifyCompanyOldPermission(startDate, endDate, productName string, companyId, productId int) (err error){
  32. o := orm.NewOrm()
  33. sql := `UPDATE company_report_permission SET start_date=?,end_date=?,product_id=?,product_name=?,modify_time=NOW() WHERE company_id=? AND start_date IS NULL `
  34. _,err=o.Raw(sql, startDate, endDate, productId, productName, companyId).Exec()
  35. return
  36. }
  37. //获取需要关闭的产品权益
  38. func GetCompanyReportPermissionNeedClose(endDate string) (items []*CompanyReportPermission, err error) {
  39. o := orm.NewOrm()
  40. sql := `SELECT *
  41. FROM company_report_permission
  42. WHERE status='试用' AND end_date<=?`
  43. _, err = o.Raw(sql, endDate).QueryRows(&items)
  44. return
  45. }
  46. //关闭用户权限
  47. func CompanyReportPermissionClose(companyReportPermissionId int64,companyId, productId int) (err error) {
  48. o := orm.NewOrm()
  49. //修改产品权限状态为关闭
  50. sql := `UPDATE company_report_permission SET status='关闭',modify_time=NOW() WHERE company_report_permission_id = ? AND company_id= ? AND product_id = ? `
  51. _, err = o.Raw(sql, companyReportPermissionId,companyId, productId).Exec()
  52. if err != nil {
  53. return err
  54. }
  55. return
  56. }
  57. //查询是否存在还未过期的产品权限
  58. func GetCompanyReportPermissionCount(companyId, productId int) (count int,err error) {
  59. o := orm.NewOrm()
  60. startDate := time.Now().Format(utils.FormatDate)
  61. countSql := `SELECT
  62. COUNT(company_report_permission_id ) AS COUNT
  63. FROM company_report_permission WHERE status in ('试用','正式') AND end_date >= ? AND company_id= ? AND product_id = ? `
  64. err = o.Raw(countSql, startDate,companyId,productId).QueryRow(&count)
  65. return
  66. }