tenantService.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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. TenantId: 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 string) (*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) List(tenantId, tenantName, linkman string, current, size int) ([]dao.Tenant, error) {
  41. tenant := &dao.Tenant{}
  42. offset := (current - 1) * size
  43. limit := size
  44. if tenantId != "" {
  45. tenant.TenantId = tenantId
  46. }
  47. if tenantName != "" {
  48. tenant.TenantName = tenantName
  49. }
  50. if linkman != "" {
  51. tenant.Linkman = linkman
  52. }
  53. tenants, err := tenant.GetTenants(offset, limit)
  54. if err != nil {
  55. return nil, err
  56. }
  57. return tenants, nil
  58. }
  59. func (s *tenantService) Submit(req dao.Tenant) *util.Errors {
  60. tenant := &req
  61. if tenant.ID == 0 {
  62. tenant.PassKey = util.RandomString(8)
  63. if tenant.IsExist() {
  64. tenant.PassKey = util.RandomString(8)
  65. }
  66. err := tenant.Save()
  67. if err != nil {
  68. return util.FailResponse(err.Error(), nil)
  69. }
  70. return util.SuccessResponse(util.Succeeded, nil)
  71. }
  72. err := tenant.Update()
  73. if err != nil {
  74. return util.FailResponse(err.Error(), nil)
  75. }
  76. return util.SuccessResponse(util.Succeeded, nil)
  77. }
  78. func (s *tenantService) GetList() ([]dao.Tenant, error) {
  79. tenant := &dao.Tenant{}
  80. tenants, err := tenant.GetAll()
  81. if err != nil {
  82. return nil, err
  83. }
  84. return tenants, nil
  85. }
  86. func (s *tenantService) Remove(id int64) *util.Errors {
  87. tenant := &dao.Tenant{
  88. ID: id,
  89. IsDeleted: 1,
  90. UpdateUser: id, // todo 使用登录态
  91. UpdateTime: time.Now(),
  92. }
  93. err := tenant.Remove()
  94. if err != nil {
  95. return util.FailResponse(err.Error(), nil)
  96. }
  97. return nil
  98. }