ItemService public PayloadResponse<long> getCount(EntityRequest<long> request); ItemServiceImpl @Override public PayloadResponse<long> getCount(EntityRequest<long> request) { Long itemId = request.getEntity(); Long count = itemDAO.getCount(itemId); PayloadResponse<long> response = new PayloadResponse<>(request, ResponseCode.OK, count); return response; } ItemRestService @GetMapping("/{itemId}/overview") public PayloadResponse<long> getCount(@PathVariable Long itemId) { var request = new EntityRequest<>(itemId); return itemService.getCount(request); } ItemDAO public Long getCount(Long itemId) { String hql = "select count( distinct m.id) from ItemEntity i join MapTileResourceEntity mtr on mtr.resourceId = :itemId " + "and mtr.resourceType = :resourceType join MapTileEntity mt on mt.id = mtr.mapTile.id join MapEntity m on m.id = mt.map.id"; TypedQuery<long> query = entityManager.createQuery(hql, Long.class).setParameter("itemId", itemId).setParameter("resourceType", ObjectType.ITEM.getValue()); return query.getSingleResult(); }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)