commit
8146480bb4
@ -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,10 +22,14 @@ 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);
|
||||
|
||||
@ -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