commit
						8146480bb4
					
				@ -82,7 +82,7 @@ public class CustomerController extends BaseController {
 | 
			
		||||
 | 
			
		||||
    @PreAuthorize("hasAuthority('TENANT_ADMIN')")
 | 
			
		||||
    @RequestMapping(value = "/customer", method = RequestMethod.POST)
 | 
			
		||||
    @ResponseBody 
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
    public Customer saveCustomer(@RequestBody Customer customer) throws ThingsboardException {
 | 
			
		||||
        try {
 | 
			
		||||
            customer.setTenantId(getCurrentUser().getTenantId());
 | 
			
		||||
@ -107,7 +107,7 @@ public class CustomerController extends BaseController {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PreAuthorize("hasAuthority('TENANT_ADMIN')")
 | 
			
		||||
    @RequestMapping(value = "/customers", params = { "limit" }, method = RequestMethod.GET)
 | 
			
		||||
    @RequestMapping(value = "/customers", params = {"limit"}, method = RequestMethod.GET)
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
    public TextPageData<Customer> getCustomers(@RequestParam int limit,
 | 
			
		||||
                                               @RequestParam(required = false) String textSearch,
 | 
			
		||||
@ -122,4 +122,16 @@ public class CustomerController extends BaseController {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PreAuthorize("hasAuthority('TENANT_ADMIN')")
 | 
			
		||||
    @RequestMapping(value = "/tenant/customers", params = {"customerTitle"}, method = RequestMethod.GET)
 | 
			
		||||
    @ResponseBody
 | 
			
		||||
    public Customer getTenantCustomer(
 | 
			
		||||
            @RequestParam String customerTitle) throws ThingsboardException {
 | 
			
		||||
        try {
 | 
			
		||||
            TenantId tenantId = getCurrentUser().getTenantId();
 | 
			
		||||
            return checkNotNull(customerService.findCustomerByTenantIdAndTitle(tenantId, customerTitle));
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            throw handleException(e);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -22,20 +22,24 @@ import org.thingsboard.server.common.data.id.TenantId;
 | 
			
		||||
import org.thingsboard.server.common.data.page.TextPageData;
 | 
			
		||||
import org.thingsboard.server.common.data.page.TextPageLink;
 | 
			
		||||
 | 
			
		||||
import java.util.Optional;
 | 
			
		||||
 | 
			
		||||
public interface CustomerService {
 | 
			
		||||
 | 
			
		||||
    Customer findCustomerById(CustomerId customerId);
 | 
			
		||||
 | 
			
		||||
    Optional<Customer> findCustomerByTenantIdAndTitle(TenantId tenantId, String title);
 | 
			
		||||
 | 
			
		||||
    ListenableFuture<Customer> findCustomerByIdAsync(CustomerId customerId);
 | 
			
		||||
 | 
			
		||||
    Customer saveCustomer(Customer customer);
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    void deleteCustomer(CustomerId customerId);
 | 
			
		||||
 | 
			
		||||
    Customer findOrCreatePublicCustomer(TenantId tenantId);
 | 
			
		||||
 | 
			
		||||
    TextPageData<Customer> findCustomersByTenantId(TenantId tenantId, TextPageLink pageLink);
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    void deleteCustomersByTenantId(TenantId tenantId);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -52,6 +52,7 @@ public class CustomerServiceImpl extends AbstractEntityService implements Custom
 | 
			
		||||
 | 
			
		||||
    private static final String PUBLIC_CUSTOMER_TITLE = "Public";
 | 
			
		||||
    public static final String INCORRECT_CUSTOMER_ID = "Incorrect customerId ";
 | 
			
		||||
    public static final String INCORRECT_TENANT_ID = "Incorrect tenantId ";
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private CustomerDao customerDao;
 | 
			
		||||
@ -78,6 +79,13 @@ public class CustomerServiceImpl extends AbstractEntityService implements Custom
 | 
			
		||||
        return customerDao.findById(customerId.getId());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public Optional<Customer> findCustomerByTenantIdAndTitle(TenantId tenantId, String title) {
 | 
			
		||||
        log.trace("Executing findCustomerByTenantIdAndTitle [{}] [{}]", tenantId, title);
 | 
			
		||||
        validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
 | 
			
		||||
        return customerDao.findCustomersByTenantIdAndTitle(tenantId.getId(), title);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public ListenableFuture<Customer> findCustomerByIdAsync(CustomerId customerId) {
 | 
			
		||||
        log.trace("Executing findCustomerByIdAsync [{}]", customerId);
 | 
			
		||||
 | 
			
		||||
@ -77,6 +77,36 @@ public class RestClient implements ClientHttpRequestInterceptor {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<Customer> findCustomer(String title) {
 | 
			
		||||
        Map<String, String> params = new HashMap<String, String>();
 | 
			
		||||
        params.put("customerTitle", title);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Customer> customerEntity = restTemplate.getForEntity(baseURL + "/api/tenant/customers?customerTitle={customerTitle}", Customer.class, params);
 | 
			
		||||
            return Optional.of(customerEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Optional<Asset> findAsset(String name) {
 | 
			
		||||
        Map<String, String> params = new HashMap<String, String>();
 | 
			
		||||
        params.put("assetName", name);
 | 
			
		||||
        try {
 | 
			
		||||
            ResponseEntity<Asset> assetEntity = restTemplate.getForEntity(baseURL + "/api/tenant/assets?assetName={assetName}", Asset.class, params);
 | 
			
		||||
            return Optional.of(assetEntity.getBody());
 | 
			
		||||
        } catch (HttpClientErrorException exception) {
 | 
			
		||||
            if (exception.getStatusCode() == HttpStatus.NOT_FOUND) {
 | 
			
		||||
                return Optional.empty();
 | 
			
		||||
            } else {
 | 
			
		||||
                throw exception;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Customer createCustomer(String title) {
 | 
			
		||||
        Customer customer = new Customer();
 | 
			
		||||
        customer.setTitle(title);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user