1
|
1
|
package org.thingsboard.server.controller.yunteng;
|
2
|
2
|
|
3
|
3
|
import lombok.RequiredArgsConstructor;
|
|
4
|
+import org.apache.commons.lang3.StringUtils;
|
4
|
5
|
import org.springframework.security.access.prepost.PreAuthorize;
|
5
|
|
-import org.springframework.web.bind.annotation.GetMapping;
|
6
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
7
|
|
-import org.springframework.web.bind.annotation.RequestParam;
|
8
|
|
-import org.springframework.web.bind.annotation.RestController;
|
|
6
|
+import org.springframework.web.bind.annotation.*;
|
9
|
7
|
import org.thingsboard.server.common.data.TenantProfile;
|
10
|
8
|
import org.thingsboard.server.common.data.exception.ThingsboardException;
|
11
|
9
|
import org.thingsboard.server.common.data.id.TenantId;
|
12
|
10
|
import org.thingsboard.server.common.data.page.PageData;
|
13
|
11
|
import org.thingsboard.server.common.data.page.PageLink;
|
|
12
|
+import org.thingsboard.server.common.data.yunteng.core.exception.TkDataValidationException;
|
|
13
|
+import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage;
|
|
14
|
+import org.thingsboard.server.common.data.yunteng.dto.TenantDTO;
|
14
|
15
|
import org.thingsboard.server.common.data.yunteng.enums.OrderTypeEnum;
|
15
|
16
|
import org.thingsboard.server.common.data.yunteng.utils.ReflectUtils;
|
|
17
|
+import org.thingsboard.server.common.data.yunteng.utils.tools.ResponseResult;
|
16
|
18
|
import org.thingsboard.server.common.data.yunteng.utils.tools.TkPageData;
|
17
|
19
|
import org.thingsboard.server.controller.BaseController;
|
|
20
|
+import org.thingsboard.server.dao.yunteng.service.TkTenantService;
|
18
|
21
|
|
19
|
22
|
import java.util.List;
|
20
|
23
|
import java.util.UUID;
|
...
|
...
|
@@ -25,6 +28,7 @@ import static org.thingsboard.server.common.data.yunteng.constant.QueryConstant. |
25
|
28
|
@RequestMapping("/api/yt/tenant_profiles")
|
26
|
29
|
@RequiredArgsConstructor
|
27
|
30
|
public class TkTenantProfilesController extends BaseController {
|
|
31
|
+ private final TkTenantService tkTenantService;
|
28
|
32
|
|
29
|
33
|
@PreAuthorize("@check.checkPermissions({'SYS_ADMIN','PLATFORM_ADMIN'},{})")
|
30
|
34
|
@GetMapping(
|
...
|
...
|
@@ -47,7 +51,7 @@ public class TkTenantProfilesController extends BaseController { |
47
|
51
|
orderBy,
|
48
|
52
|
null == orderType ? OrderTypeEnum.DESC.name() : orderType.name());
|
49
|
53
|
TenantId tenantId = getTenantId();
|
50
|
|
- if(getCurrentUser().isPtAdmin()){
|
|
54
|
+ if (getCurrentUser().isPtAdmin()) {
|
51
|
55
|
tenantId = new TenantId(UUID.fromString(getCurrentUser().getCurrentTenantId()));
|
52
|
56
|
}
|
53
|
57
|
PageData<TenantProfile> tenantProfilePageData =
|
...
|
...
|
@@ -59,4 +63,23 @@ public class TkTenantProfilesController extends BaseController { |
59
|
63
|
throw handleException(e);
|
60
|
64
|
}
|
61
|
65
|
}
|
|
66
|
+
|
|
67
|
+ @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'PLATFORM_ADMIN')")
|
|
68
|
+ @GetMapping("/allow/{tenantProfileId}/delete")
|
|
69
|
+ public ResponseResult<Boolean> deleteCheck(
|
|
70
|
+ @PathVariable("tenantProfileId") String tenantProfileId) {
|
|
71
|
+ if (StringUtils.isEmpty(tenantProfileId)) {
|
|
72
|
+ throw new TkDataValidationException(ErrorMessage.INVALID_PARAMETER.getMessage());
|
|
73
|
+ }
|
|
74
|
+ List<TenantDTO> dtoList = tkTenantService.checkTenantProfileIdUsedByTenants(tenantProfileId);
|
|
75
|
+ boolean result = null == dtoList || dtoList.isEmpty();
|
|
76
|
+ String message = "OK";
|
|
77
|
+ if (!result) {
|
|
78
|
+ message =
|
|
79
|
+ String.format(
|
|
80
|
+ ErrorMessage.TENANT_USED_THIS_TENANT_PROFILE_ID.getMessage(),
|
|
81
|
+ dtoList.get(0).getName());
|
|
82
|
+ }
|
|
83
|
+ return ResponseResult.success(result, message);
|
|
84
|
+ }
|
62
|
85
|
} |
...
|
...
|
|