Commit ca5d535ebd35ad9a8d6877f380155622f271818d
Merge branch '20230724' into 'master_dev'
fix: 创建和编辑事务问题修复 See merge request yunteng/thingskit!215
Showing
4 changed files
with
9 additions
and
20 deletions
... | ... | @@ -38,6 +38,7 @@ import org.thingsboard.server.dao.yunteng.service.TkUserService; |
38 | 38 | import org.thingsboard.server.service.install.InstallScripts; |
39 | 39 | import org.thingsboard.server.service.security.permission.Operation; |
40 | 40 | |
41 | +import java.io.IOException; | |
41 | 42 | import java.net.URI; |
42 | 43 | import java.util.HashMap; |
43 | 44 | import java.util.List; |
... | ... | @@ -212,7 +213,7 @@ public class TkAdminController extends BaseController { |
212 | 213 | @Transactional |
213 | 214 | public TenantDTO updateOrCreateTenant( |
214 | 215 | @Validated(UpdateGroup.class) @RequestBody TenantReqDTO tenantReqDTO) |
215 | - throws ThingsboardException { | |
216 | + throws ThingsboardException, IOException { | |
216 | 217 | updateOrSaveTenant(tenantReqDTO); |
217 | 218 | return tkTenantService.updateOrCreateTenant(tenantReqDTO); |
218 | 219 | } |
... | ... | @@ -252,8 +253,7 @@ public class TkAdminController extends BaseController { |
252 | 253 | } |
253 | 254 | } |
254 | 255 | |
255 | - private void updateOrSaveTenant(TenantReqDTO tenantReqDTO) throws ThingsboardException { | |
256 | - try { | |
256 | + private void updateOrSaveTenant(TenantReqDTO tenantReqDTO) throws IOException { | |
257 | 257 | boolean isCreate = tenantReqDTO.getTenantId() == null; |
258 | 258 | Tenant tbTenant; |
259 | 259 | if (isCreate) { |
... | ... | @@ -276,9 +276,6 @@ public class TkAdminController extends BaseController { |
276 | 276 | tbTenant.getId(), |
277 | 277 | isCreate ? ComponentLifecycleEvent.CREATED : ComponentLifecycleEvent.UPDATED); |
278 | 278 | tenantReqDTO.setTenantId(tbTenant.getTenantId().toString()); |
279 | - } catch (Exception e) { | |
280 | - throw handleException(e); | |
281 | - } | |
282 | 279 | } |
283 | 280 | |
284 | 281 | private void deleteTenant(String strTenantId) throws ThingsboardException { | ... | ... |
... | ... | @@ -147,7 +147,6 @@ public class TkDeviceController extends BaseController { |
147 | 147 | tbClusterService.onDeviceUpdated(savedDevice, oldDevice); |
148 | 148 | DeviceId tbDeviceId = savedDevice.getId(); |
149 | 149 | DeviceCredentials deviceCredentials = null; |
150 | - try { | |
151 | 150 | logEntityAction( |
152 | 151 | getCurrentUser(), |
153 | 152 | savedDevice.getId(), |
... | ... | @@ -185,17 +184,6 @@ public class TkDeviceController extends BaseController { |
185 | 184 | null, |
186 | 185 | deviceCredentials); |
187 | 186 | } |
188 | - } catch (Exception e) { | |
189 | - logEntityAction( | |
190 | - emptyId(EntityType.DEVICE), | |
191 | - null, | |
192 | - null, | |
193 | - ActionType.CREDENTIALS_UPDATED, | |
194 | - e, | |
195 | - deviceCredentials); | |
196 | - deleteTbDevice(tbDeviceId.getId().toString()); | |
197 | - throw handleException(e); | |
198 | - } | |
199 | 187 | return tbDeviceId; |
200 | 188 | } |
201 | 189 | ... | ... |
... | ... | @@ -103,6 +103,7 @@ public enum ErrorMessage { |
103 | 103 | DEVICE_IDENTIFIER_REPEATED(400079,"设备地址码或标识码【%s】与设备【%s】重复"), |
104 | 104 | CURRENT_DATA_IN_USE(400080,"当前数据正在被【%s】使用,不能被禁用"), |
105 | 105 | REPORT_NAME_ERROR(400081,"报表配置的名称包含斜杠或反斜杠!!!"), |
106 | + DEVICE_CREDENTIALS_ASSIGNED(400082,"设备凭证【%s】已分配给其它设备!"), | |
106 | 107 | HAVE_NO_PERMISSION(500002,"没有修改权限"); |
107 | 108 | private final int code; |
108 | 109 | private String message; | ... | ... |
... | ... | @@ -21,6 +21,7 @@ import org.thingsboard.server.common.data.Device; |
21 | 21 | import org.thingsboard.server.common.data.StringUtils; |
22 | 22 | import org.thingsboard.server.common.data.id.TenantId; |
23 | 23 | import org.thingsboard.server.common.data.security.DeviceCredentials; |
24 | +import org.thingsboard.server.common.data.yunteng.core.message.ErrorMessage; | |
24 | 25 | import org.thingsboard.server.dao.device.DeviceCredentialsDao; |
25 | 26 | import org.thingsboard.server.dao.device.DeviceService; |
26 | 27 | import org.thingsboard.server.dao.exception.DeviceCredentialsValidationException; |
... | ... | @@ -41,7 +42,8 @@ public class DeviceCredentialsDataValidator extends DataValidator<DeviceCredenti |
41 | 42 | throw new DeviceCredentialsValidationException("Credentials for this device are already specified!"); |
42 | 43 | } |
43 | 44 | if (deviceCredentialsDao.findByCredentialsId(tenantId, deviceCredentials.getCredentialsId()) != null) { |
44 | - throw new DeviceCredentialsValidationException("Device credentials are already assigned to another device!"); | |
45 | + throw new DeviceCredentialsValidationException( | |
46 | + String.format(ErrorMessage.DEVICE_CREDENTIALS_ASSIGNED.getMessage(),deviceCredentials.getCredentialsValue()==null?deviceCredentials.getCredentialsId():deviceCredentials.getCredentialsValue())); | |
45 | 47 | } |
46 | 48 | } |
47 | 49 | |
... | ... | @@ -52,7 +54,8 @@ public class DeviceCredentialsDataValidator extends DataValidator<DeviceCredenti |
52 | 54 | } |
53 | 55 | DeviceCredentials existingCredentials = deviceCredentialsDao.findByCredentialsId(tenantId, deviceCredentials.getCredentialsId()); |
54 | 56 | if (existingCredentials != null && !existingCredentials.getId().equals(deviceCredentials.getId())) { |
55 | - throw new DeviceCredentialsValidationException("Device credentials are already assigned to another device!"); | |
57 | + throw new DeviceCredentialsValidationException( | |
58 | + String.format(ErrorMessage.DEVICE_CREDENTIALS_ASSIGNED.getMessage(),deviceCredentials.getCredentialsValue()==null?deviceCredentials.getCredentialsId():deviceCredentials.getCredentialsValue())); | |
56 | 59 | } |
57 | 60 | } |
58 | 61 | ... | ... |