tenantService.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package service
  2. import (
  3. "iot_manager_service/app/system/dao"
  4. "iot_manager_service/util"
  5. "time"
  6. )
  7. // 租户管理服务
  8. var TenantService = new(tenantService)
  9. type tenantService struct{}
  10. func (s *tenantService) GetTenantByPasskey(passKey string) (*dao.Tenant, error) {
  11. tenant := &dao.Tenant{
  12. PassKey: passKey,
  13. }
  14. err := tenant.GetTenantByPasskey()
  15. if err != nil {
  16. return nil, err
  17. }
  18. return tenant, nil
  19. }
  20. func (s *tenantService) GetOne(tenantId int) (*dao.Tenant, error) {
  21. tenant := &dao.Tenant{
  22. TenantId: tenantId,
  23. }
  24. err := tenant.GetTenant()
  25. if err != nil {
  26. return nil, err
  27. }
  28. return tenant, nil
  29. }
  30. func (s *tenantService) Get(id int64) (*dao.Tenant, error) {
  31. tenant := &dao.Tenant{
  32. ID: id,
  33. }
  34. err := tenant.Get()
  35. if err != nil {
  36. return nil, err
  37. }
  38. return tenant, nil
  39. }
  40. func (s *tenantService) GetByDomain(domain string) (*dao.Tenant, error) {
  41. tenant := &dao.Tenant{
  42. Domain: domain,
  43. }
  44. err := tenant.GetByDomain()
  45. if err != nil {
  46. return nil, err
  47. }
  48. return tenant, nil
  49. }
  50. func (s *tenantService) List(tenantId int, tenantName, linkman string, current, size int) ([]dao.Tenant, error) {
  51. tenant := &dao.Tenant{}
  52. offset := (current - 1) * size
  53. limit := size
  54. if tenantId > 0 {
  55. tenant.TenantId = tenantId
  56. }
  57. if tenantName != "" {
  58. tenant.TenantName = tenantName
  59. }
  60. if linkman != "" {
  61. tenant.Linkman = linkman
  62. }
  63. tenants, err := tenant.GetTenants(offset, limit)
  64. if err != nil {
  65. return nil, err
  66. }
  67. return tenants, nil
  68. }
  69. func (s *tenantService) Submit(req dao.Tenant) *util.Errors {
  70. tenant := &req
  71. if tenant.ID == 0 {
  72. tenant.PassKey = util.RandomString(8)
  73. if tenant.IsExist() {
  74. tenant.PassKey = util.RandomString(8)
  75. }
  76. err := tenant.Save()
  77. if err != nil {
  78. return util.FailResponse(err.Error(), nil)
  79. }
  80. return util.SuccessResponse(util.Succeeded, nil)
  81. }
  82. err := tenant.Update()
  83. if err != nil {
  84. return util.FailResponse(err.Error(), nil)
  85. }
  86. return util.SuccessResponse(util.Succeeded, nil)
  87. }
  88. func (s *tenantService) GetList() ([]dao.Tenant, error) {
  89. tenant := &dao.Tenant{}
  90. tenants, err := tenant.GetAll()
  91. if err != nil {
  92. return nil, err
  93. }
  94. return tenants, nil
  95. }
  96. func (s *tenantService) Remove(id int64) *util.Errors {
  97. tenant := &dao.Tenant{
  98. ID: id,
  99. IsDeleted: 1,
  100. UpdateUser: id, // todo 使用登录态
  101. UpdateTime: time.Now(),
  102. }
  103. err := tenant.Remove()
  104. if err != nil {
  105. return util.FailResponse(err.Error(), nil)
  106. }
  107. return nil
  108. }