refactoring: - add delete to SimpleTbEntityService
This commit is contained in:
		
							parent
							
								
									b85e33bf10
								
							
						
					
					
						commit
						90a8b03bce
					
				@ -195,29 +195,10 @@ public class DashboardController extends BaseController {
 | 
			
		||||
            @ApiParam(value = DASHBOARD_ID_PARAM_DESCRIPTION)
 | 
			
		||||
            @PathVariable(DASHBOARD_ID) String strDashboardId) throws ThingsboardException {
 | 
			
		||||
        checkParameter(DASHBOARD_ID, strDashboardId);
 | 
			
		||||
        try {
 | 
			
		||||
            DashboardId dashboardId = new DashboardId(toUUID(strDashboardId));
 | 
			
		||||
            Dashboard dashboard = checkDashboardId(dashboardId, Operation.DELETE);
 | 
			
		||||
 | 
			
		||||
            List<EdgeId> relatedEdgeIds = findRelatedEdgeIds(getTenantId(), dashboardId);
 | 
			
		||||
 | 
			
		||||
            dashboardService.deleteDashboard(getCurrentUser().getTenantId(), dashboardId);
 | 
			
		||||
 | 
			
		||||
            logEntityAction(dashboardId, dashboard,
 | 
			
		||||
                    null,
 | 
			
		||||
                    ActionType.DELETED, null, strDashboardId);
 | 
			
		||||
 | 
			
		||||
            sendDeleteNotificationMsg(getTenantId(), dashboardId, relatedEdgeIds);
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
 | 
			
		||||
            logEntityAction(emptyId(EntityType.DASHBOARD),
 | 
			
		||||
                    null,
 | 
			
		||||
                    null,
 | 
			
		||||
                    ActionType.DELETED, e, strDashboardId);
 | 
			
		||||
 | 
			
		||||
            throw handleException(e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
        DashboardId dashboardId = new DashboardId(toUUID(strDashboardId));
 | 
			
		||||
        Dashboard dashboard = checkDashboardId(dashboardId, Operation.DELETE);
 | 
			
		||||
        tbDashboardService.delete(dashboard, dashboardId, getCurrentUser());
 | 
			
		||||
     }
 | 
			
		||||
 | 
			
		||||
    @ApiOperation(value = "Assign the Dashboard (assignDashboardToCustomer)",
 | 
			
		||||
            notes = "Assign the Dashboard to specified Customer or do nothing if the Dashboard is already assigned to that Customer. " +
 | 
			
		||||
 | 
			
		||||
@ -71,9 +71,13 @@ public class DefaultTbNotificationEntityService implements TbNotificationEntityS
 | 
			
		||||
    public <E extends HasName, I extends EntityId> void notifyDeleteEntity(TenantId tenantId, I entityId, E entity,
 | 
			
		||||
                                                                           CustomerId customerId, ActionType actionType,
 | 
			
		||||
                                                                           List<EdgeId> relatedEdgeIds,
 | 
			
		||||
                                                                           SecurityUser user, Object... additionalInfo) {
 | 
			
		||||
                                                                           SecurityUser user,
 | 
			
		||||
                                                                           String body, Object... additionalInfo) {
 | 
			
		||||
        logEntityAction(tenantId, entityId, entity, customerId, actionType, user, additionalInfo);
 | 
			
		||||
        sendDeleteNotificationMsg(tenantId, entityId, entity,  relatedEdgeIds);
 | 
			
		||||
        sendDeleteNotificationMsg(tenantId, entityId, entity, relatedEdgeIds, body);
 | 
			
		||||
        if (entity instanceof Customer) {
 | 
			
		||||
            tbClusterService.broadcastEntityStateChangeEvent(tenantId, customerId, ComponentLifecycleEvent.DELETED);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
@ -126,7 +130,7 @@ public class DefaultTbNotificationEntityService implements TbNotificationEntityS
 | 
			
		||||
        gatewayNotificationsService.onDeviceDeleted(device);
 | 
			
		||||
        tbClusterService.onDeviceDeleted(device, null);
 | 
			
		||||
 | 
			
		||||
        notifyDeleteEntity(tenantId, deviceId, device, customerId, ActionType.DELETED, relatedEdgeIds, user, false, additionalInfo);
 | 
			
		||||
        notifyDeleteEntity(tenantId, deviceId, device, customerId, ActionType.DELETED, relatedEdgeIds, user,null, additionalInfo);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
@ -145,9 +149,9 @@ public class DefaultTbNotificationEntityService implements TbNotificationEntityS
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public  <E extends HasName, I extends EntityId>  void notifyCreateOrUpdateEntity(TenantId tenantId, I entityId, E entity, CustomerId customerId, ActionType actionType, SecurityUser user, Object... additionalInfo) {
 | 
			
		||||
    public <E extends HasName, I extends EntityId> void notifyCreateOrUpdateEntity(TenantId tenantId, I entityId, E entity, CustomerId customerId, ActionType actionType, SecurityUser user, Object... additionalInfo) {
 | 
			
		||||
        logEntityAction(tenantId, entityId, entity, customerId, actionType, user, additionalInfo);
 | 
			
		||||
        if (actionType == ActionType.UPDATED)  {
 | 
			
		||||
        if (actionType == ActionType.UPDATED) {
 | 
			
		||||
            sendEntityNotificationMsg(tenantId, entityId, EdgeEventActionType.UPDATED);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -191,20 +195,7 @@ public class DefaultTbNotificationEntityService implements TbNotificationEntityS
 | 
			
		||||
    @Override
 | 
			
		||||
    public void notifyCreateOrUpdateAlarm(Alarm alarm, ActionType actionType, SecurityUser user, Object... additionalInfo) {
 | 
			
		||||
        logEntityAction(alarm.getTenantId(), alarm.getOriginator(), alarm, alarm.getCustomerId(), actionType, user, additionalInfo);
 | 
			
		||||
        sendEntityNotificationMsg(alarm.getTenantId(), alarm.getId(), edgeTypeByActionType (actionType));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void notifyDeleteAlarm(Alarm alarm, SecurityUser user, List<EdgeId> relatedEdgeIds) {
 | 
			
		||||
        logEntityAction(alarm.getTenantId(), alarm.getOriginator(), alarm, alarm.getCustomerId(), ActionType.ALARM_DELETE, user, null);
 | 
			
		||||
        sendAlarmDeleteNotificationMsg(alarm, relatedEdgeIds);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void notifyDeleteCustomer(Customer customer, SecurityUser user, List<EdgeId> edgeIds) {
 | 
			
		||||
        logEntityAction(customer.getTenantId(), customer.getId(), customer, customer.getId(), ActionType.DELETED, user, null);
 | 
			
		||||
        sendDeleteNotificationMsg(customer.getTenantId(), customer.getId(), customer, edgeIds);
 | 
			
		||||
        tbClusterService.broadcastEntityStateChangeEvent(customer.getTenantId(), customer.getId(), ComponentLifecycleEvent.DELETED);
 | 
			
		||||
        sendEntityNotificationMsg(alarm.getTenantId(), alarm.getId(), edgeTypeByActionType(actionType));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private <E extends HasName, I extends EntityId> void logEntityAction(TenantId tenantId, I entityId, E entity, CustomerId customerId,
 | 
			
		||||
@ -233,22 +224,15 @@ public class DefaultTbNotificationEntityService implements TbNotificationEntityS
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected <E extends HasName, I extends EntityId> void sendDeleteNotificationMsg(TenantId tenantId, I entityId, E entity, List<EdgeId> edgeIds) {
 | 
			
		||||
    protected <E extends HasName, I extends EntityId> void sendDeleteNotificationMsg(TenantId tenantId, I entityId, E entity,
 | 
			
		||||
                                                                                     List<EdgeId> edgeIds, String body) {
 | 
			
		||||
        try {
 | 
			
		||||
            sendDeleteNotificationMsg(tenantId, entityId,  edgeIds, null);
 | 
			
		||||
            sendDeleteNotificationMsg(tenantId, entityId, edgeIds, body);
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            log.warn("Failed to push delete " + entity.getClass().getName() + " msg to core: {}", entity, e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected void sendAlarmDeleteNotificationMsg(Alarm alarm, List<EdgeId> relatedEdgeIds) {
 | 
			
		||||
        try {
 | 
			
		||||
            sendDeleteNotificationMsg(alarm.getTenantId(), alarm.getId(), relatedEdgeIds, json.writeValueAsString(alarm));
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            log.warn("Failed to push delete alarm msg to core: {}", alarm, e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void sendDeleteNotificationMsg(TenantId tenantId, EntityId entityId, List<EdgeId> edgeIds, String body) {
 | 
			
		||||
        if (edgeIds != null && !edgeIds.isEmpty()) {
 | 
			
		||||
            for (EdgeId edgeId : edgeIds) {
 | 
			
		||||
@ -289,7 +273,7 @@ public class DefaultTbNotificationEntityService implements TbNotificationEntityS
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private EdgeEventActionType edgeTypeByActionType (ActionType actionType) {
 | 
			
		||||
    private EdgeEventActionType edgeTypeByActionType(ActionType actionType) {
 | 
			
		||||
        switch (actionType) {
 | 
			
		||||
            case ADDED:
 | 
			
		||||
                return EdgeEventActionType.ADDED;
 | 
			
		||||
 | 
			
		||||
@ -15,11 +15,15 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.service.entitiy;
 | 
			
		||||
 | 
			
		||||
import org.thingsboard.server.common.data.HasName;
 | 
			
		||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.service.security.model.SecurityUser;
 | 
			
		||||
 | 
			
		||||
public interface SimpleTbEntityService<T> {
 | 
			
		||||
public interface SimpleTbEntityService<E, I> {
 | 
			
		||||
 | 
			
		||||
    T save(T entity, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
    E save(E entity, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
 | 
			
		||||
    <E extends HasName, I extends EntityId> void  delete (E entity, I entityId, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,6 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.service.entitiy;
 | 
			
		||||
 | 
			
		||||
import org.thingsboard.server.common.data.Customer;
 | 
			
		||||
import org.thingsboard.server.common.data.Device;
 | 
			
		||||
import org.thingsboard.server.common.data.HasName;
 | 
			
		||||
import org.thingsboard.server.common.data.Tenant;
 | 
			
		||||
@ -46,7 +45,7 @@ public interface TbNotificationEntityService {
 | 
			
		||||
 | 
			
		||||
    <E extends HasName, I extends EntityId> void notifyDeleteEntity(TenantId tenantId, I entityId, E entity, CustomerId customerId,
 | 
			
		||||
                                                                    ActionType actionType, List<EdgeId> relatedEdgeIds, SecurityUser user,
 | 
			
		||||
                                                                    Object... additionalInfo);
 | 
			
		||||
                                                                    String body, Object... additionalInfo);
 | 
			
		||||
 | 
			
		||||
    <E extends HasName, I extends EntityId> void notifyAssignOrUnassignEntityToCustomer(TenantId tenantId, I entityId,
 | 
			
		||||
                                                                                        CustomerId customerId, E entity,
 | 
			
		||||
@ -80,8 +79,4 @@ public interface TbNotificationEntityService {
 | 
			
		||||
    void notifyEdge(TenantId tenantId, EdgeId edgeId, CustomerId customerId, Edge edge, ActionType actionType, SecurityUser user, Object... additionalInfo);
 | 
			
		||||
 | 
			
		||||
    void notifyCreateOrUpdateAlarm(Alarm alarm, ActionType actionType, SecurityUser user, Object... additionalInfo);
 | 
			
		||||
 | 
			
		||||
    void notifyDeleteAlarm(Alarm alarm, SecurityUser user, List<EdgeId> relatedEdgeIds);
 | 
			
		||||
 | 
			
		||||
    void notifyDeleteCustomer(Customer customer, SecurityUser user, List<EdgeId> relatedEdgeIds);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -15,14 +15,17 @@
 | 
			
		||||
 */
 | 
			
		||||
package org.thingsboard.server.service.entitiy.alarm;
 | 
			
		||||
 | 
			
		||||
import com.fasterxml.jackson.databind.ObjectMapper;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import org.thingsboard.server.common.data.EntityType;
 | 
			
		||||
import org.thingsboard.server.common.data.HasName;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.Alarm;
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.AlarmStatus;
 | 
			
		||||
import org.thingsboard.server.common.data.audit.ActionType;
 | 
			
		||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EdgeId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.queue.util.TbCoreComponent;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.AbstractTbEntityService;
 | 
			
		||||
@ -34,6 +37,7 @@ import java.util.List;
 | 
			
		||||
@TbCoreComponent
 | 
			
		||||
@AllArgsConstructor
 | 
			
		||||
public class DefaultTbAlarmService extends AbstractTbEntityService implements TbAlarmService {
 | 
			
		||||
    private static final ObjectMapper json = new ObjectMapper();
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Alarm save(Alarm alarm, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
@ -76,9 +80,18 @@ public class DefaultTbAlarmService extends AbstractTbEntityService implements Tb
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Boolean delete(Alarm alarm, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
        List<EdgeId> relatedEdgeIds = findRelatedEdgeIds(alarm.getTenantId(), alarm.getOriginator());
 | 
			
		||||
        notificationEntityService.notifyDeleteAlarm(alarm, user, relatedEdgeIds);
 | 
			
		||||
        return alarmService.deleteAlarm(alarm.getTenantId(), alarm.getId()).isSuccessful();
 | 
			
		||||
    public Boolean deleteAlarm(Alarm alarm, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
        try {
 | 
			
		||||
        TenantId tenantId = user.getTenantId();
 | 
			
		||||
        List<EdgeId> relatedEdgeIds = findRelatedEdgeIds(tenantId, alarm.getOriginator());
 | 
			
		||||
        notificationEntityService.notifyDeleteEntity(tenantId, alarm.getOriginator(), alarm, user.getCustomerId(),
 | 
			
		||||
                ActionType.DELETED, relatedEdgeIds, user, json.writeValueAsString(alarm));
 | 
			
		||||
        return alarmService.deleteAlarm(tenantId, alarm.getId()).isSuccessful();
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            throw handleException(e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public <E extends HasName, I extends EntityId> void delete(E entity, I entityId, SecurityUser user) throws ThingsboardException {}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -16,16 +16,16 @@
 | 
			
		||||
package org.thingsboard.server.service.entitiy.alarm;
 | 
			
		||||
 | 
			
		||||
import org.thingsboard.server.common.data.alarm.Alarm;
 | 
			
		||||
import org.thingsboard.server.common.data.asset.Asset;
 | 
			
		||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
 | 
			
		||||
import org.thingsboard.server.common.data.id.AlarmId;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.SimpleTbEntityService;
 | 
			
		||||
import org.thingsboard.server.service.security.model.SecurityUser;
 | 
			
		||||
 | 
			
		||||
public interface TbAlarmService extends SimpleTbEntityService<Alarm> {
 | 
			
		||||
public interface TbAlarmService extends SimpleTbEntityService<Alarm, AlarmId> {
 | 
			
		||||
 | 
			
		||||
    void ack(Alarm alarm, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
 | 
			
		||||
    void clear(Alarm alarm, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
 | 
			
		||||
    Boolean delete(Alarm alarm, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
    Boolean deleteAlarm(Alarm alarm, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,7 @@ import lombok.AllArgsConstructor;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import org.thingsboard.server.common.data.Customer;
 | 
			
		||||
import org.thingsboard.server.common.data.EntityType;
 | 
			
		||||
import org.thingsboard.server.common.data.HasName;
 | 
			
		||||
import org.thingsboard.server.common.data.asset.Asset;
 | 
			
		||||
import org.thingsboard.server.common.data.audit.ActionType;
 | 
			
		||||
import org.thingsboard.server.common.data.edge.Edge;
 | 
			
		||||
@ -28,6 +29,7 @@ import org.thingsboard.server.common.data.exception.ThingsboardException;
 | 
			
		||||
import org.thingsboard.server.common.data.id.AssetId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EdgeId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.queue.util.TbCoreComponent;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.AbstractTbEntityService;
 | 
			
		||||
@ -60,7 +62,8 @@ public class DefaultTbAssetService extends AbstractTbEntityService implements Tb
 | 
			
		||||
        try {
 | 
			
		||||
            List<EdgeId> relatedEdgeIds = findRelatedEdgeIds(tenantId, assetId);
 | 
			
		||||
            assetService.deleteAsset(tenantId, assetId);
 | 
			
		||||
            notificationEntityService.notifyDeleteEntity(tenantId, assetId, asset, asset.getCustomerId(), ActionType.DELETED, relatedEdgeIds, user, false, asset.toString());
 | 
			
		||||
            notificationEntityService.notifyDeleteEntity(tenantId, assetId, asset, asset.getCustomerId(), ActionType.DELETED,
 | 
			
		||||
                    relatedEdgeIds, user, null, asset.toString());
 | 
			
		||||
 | 
			
		||||
            return removeAlarmsByEntityId(tenantId, assetId);
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
@ -70,6 +73,9 @@ public class DefaultTbAssetService extends AbstractTbEntityService implements Tb
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public <E extends HasName, I extends EntityId> void delete(E entity, I entityId, SecurityUser user) throws ThingsboardException { }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Asset assignAssetToCustomer(TenantId tenantId, AssetId assetId, Customer customer, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
        ActionType actionType = ActionType.ASSIGNED_TO_CUSTOMER;
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,7 @@ import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.SimpleTbEntityService;
 | 
			
		||||
import org.thingsboard.server.service.security.model.SecurityUser;
 | 
			
		||||
 | 
			
		||||
public interface TbAssetService extends SimpleTbEntityService<Asset> {
 | 
			
		||||
public interface TbAssetService extends SimpleTbEntityService<Asset, AssetId> {
 | 
			
		||||
 | 
			
		||||
    ListenableFuture<Void> delete(Asset asset, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -19,9 +19,12 @@ import lombok.AllArgsConstructor;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
import org.thingsboard.server.common.data.Customer;
 | 
			
		||||
import org.thingsboard.server.common.data.EntityType;
 | 
			
		||||
import org.thingsboard.server.common.data.HasName;
 | 
			
		||||
import org.thingsboard.server.common.data.audit.ActionType;
 | 
			
		||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
 | 
			
		||||
import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EdgeId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.queue.util.TbCoreComponent;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.AbstractTbEntityService;
 | 
			
		||||
@ -49,12 +52,13 @@ public class DefaultTbCustomerService extends AbstractTbEntityService implements
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void delete(Customer customer, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
        TenantId tenantId = customer.getTenantId();
 | 
			
		||||
    public <E extends HasName, I extends EntityId> void delete(E customer, I customerId, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
        TenantId tenantId = user.getTenantId();
 | 
			
		||||
        try {
 | 
			
		||||
            List<EdgeId> relatedEdgeIds = findRelatedEdgeIds(tenantId, customer.getId());
 | 
			
		||||
            customerService.deleteCustomer(tenantId, customer.getId());
 | 
			
		||||
            notificationEntityService.notifyDeleteCustomer(customer, user, relatedEdgeIds);
 | 
			
		||||
            List<EdgeId> relatedEdgeIds = findRelatedEdgeIds(tenantId, customerId);
 | 
			
		||||
            customerService.deleteCustomer(tenantId, (CustomerId) customerId);
 | 
			
		||||
            notificationEntityService.notifyDeleteEntity(tenantId, customerId, customer, user.getCustomerId(),
 | 
			
		||||
                    ActionType.DELETED, relatedEdgeIds, user, null);
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            notificationEntityService.notifyEntity(tenantId, emptyId(EntityType.CUSTOMER), null, null, ActionType.DELETED, user, e);
 | 
			
		||||
            throw handleException(e);
 | 
			
		||||
 | 
			
		||||
@ -16,12 +16,9 @@
 | 
			
		||||
package org.thingsboard.server.service.entitiy.customer;
 | 
			
		||||
 | 
			
		||||
import org.thingsboard.server.common.data.Customer;
 | 
			
		||||
import org.thingsboard.server.common.data.exception.ThingsboardException;
 | 
			
		||||
import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.SimpleTbEntityService;
 | 
			
		||||
import org.thingsboard.server.service.security.model.SecurityUser;
 | 
			
		||||
 | 
			
		||||
public interface TbCustomerService extends SimpleTbEntityService<Customer> {
 | 
			
		||||
 | 
			
		||||
    void delete(Customer customer, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
public interface TbCustomerService extends SimpleTbEntityService<Customer, CustomerId> {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
 | 
			
		||||
import org.thingsboard.server.common.data.Customer;
 | 
			
		||||
import org.thingsboard.server.common.data.Dashboard;
 | 
			
		||||
import org.thingsboard.server.common.data.EntityType;
 | 
			
		||||
import org.thingsboard.server.common.data.HasName;
 | 
			
		||||
import org.thingsboard.server.common.data.ShortCustomerInfo;
 | 
			
		||||
import org.thingsboard.server.common.data.audit.ActionType;
 | 
			
		||||
import org.thingsboard.server.common.data.edge.Edge;
 | 
			
		||||
@ -28,12 +29,14 @@ import org.thingsboard.server.common.data.exception.ThingsboardException;
 | 
			
		||||
import org.thingsboard.server.common.data.id.CustomerId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.DashboardId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EdgeId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.EntityId;
 | 
			
		||||
import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.queue.util.TbCoreComponent;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.AbstractTbEntityService;
 | 
			
		||||
import org.thingsboard.server.service.security.model.SecurityUser;
 | 
			
		||||
 | 
			
		||||
import java.util.HashSet;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Set;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
@ -57,6 +60,21 @@ public class DefaultTbDashboardService extends AbstractTbEntityService implement
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public <E extends HasName, I extends EntityId> void delete(E dashboard, I dashboardId, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
        TenantId tenantId = user.getTenantId();
 | 
			
		||||
        try {
 | 
			
		||||
            List<EdgeId> relatedEdgeIds = findRelatedEdgeIds(tenantId, dashboardId);
 | 
			
		||||
            dashboardService.deleteDashboard(tenantId, (DashboardId) dashboardId);
 | 
			
		||||
            notificationEntityService.notifyDeleteEntity(tenantId, dashboardId, dashboard, user.getCustomerId(),
 | 
			
		||||
                    ActionType.DELETED, relatedEdgeIds, user, null);
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            notificationEntityService.notifyEntity(tenantId, emptyId(EntityType.DASHBOARD), null, null,
 | 
			
		||||
                    ActionType.DELETED, user, e, dashboardId.toString());
 | 
			
		||||
            throw handleException(e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Dashboard assignDashboardToCustomer(TenantId tenantId, DashboardId dashboardId, Customer customer, SecurityUser user) throws ThingsboardException {
 | 
			
		||||
        ActionType actionType = ActionType.ASSIGNED_TO_CUSTOMER;
 | 
			
		||||
 | 
			
		||||
@ -24,7 +24,7 @@ import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.SimpleTbEntityService;
 | 
			
		||||
import org.thingsboard.server.service.security.model.SecurityUser;
 | 
			
		||||
 | 
			
		||||
public interface  TbDashboardService extends SimpleTbEntityService<Dashboard> {
 | 
			
		||||
public interface  TbDashboardService extends SimpleTbEntityService<Dashboard, DashboardId> {
 | 
			
		||||
 | 
			
		||||
    Dashboard assignDashboardToCustomer(TenantId tenantId, DashboardId dashboardId, Customer customer, SecurityUser user) throws ThingsboardException;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user