首页 > 解决方案 > 我如何更改在 jhipster 中显示这些消息的顺序(最新消息在顶部)

问题描述

public ResponseEntity<List<InboxDTO>> getAllInboxes(InboxCriteria criteria, Pageable pageable) {
        log.debug("REST request to get Inboxes by criteria: {}", criteria);
        Optional<User> user = userService.getUserWithAuthoritiesByLogin(SecurityUtils.getCurrentUserLogin().get());
        if (
            SecurityUtils.hasCurrentUserThisAuthority(AuthoritiesConstants.ADMIN) &&
            !SecurityUtils.hasCurrentUserThisAuthority(AuthoritiesConstants.RADIO)
        ) {
            Page<InboxDTO> page = inboxQueryService.findByCriteria(criteria, pageable);
            HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(ServletUriComponentsBuilder.fromCurrentRequest(), page);
            return ResponseEntity.ok().headers(headers).body(page.getContent());
        }
        EmployeeCriteria employeeCriteria = new EmployeeCriteria();
        LongFilter userFilter = new LongFilter();
        userFilter.equals(user.get().getId());
        employeeCriteria.setUserId(userFilter);
        List<EmployeeDTO> employeeDTOS = employeeQueryService.findByCriteria(employeeCriteria);

        ChannelCriteria channelCriteria = new ChannelCriteria();
        LongFilter idFilter = new LongFilter();
        idFilter.setEquals(employeeDTOS.get(0).getChannel().getId());
        channelCriteria.setId(idFilter);
        List<ChannelDTO> channelDTOS = channelQueryService.findByCriteria(channelCriteria);

        ProgramCriteria programCriteria = new ProgramCriteria();
        LongFilter longFilter = new LongFilter();
        longFilter.setEquals(channelDTOS.get(0).getId());

        ProgramCriteria.ProgramStateFilter programStateFilter = new ProgramCriteria.ProgramStateFilter();
        programStateFilter.setEquals(ProgramState.LIVE);

        programCriteria.setChannelId(longFilter);
        programCriteria.setState(programStateFilter);

        List<ProgramDTO> programDTOS = programQueryService.findByCriteria(programCriteria);

        LongFilter inboxFilter = new LongFilter();
        inboxFilter.setEquals(programDTOS.get(0).getId());

        InboxCriteria.MessageStateFilter MessageStateFilter = new InboxCriteria.MessageStateFilter();
        MessageStateFilter.setEquals(MessageState.DELIVERED);

        criteria.setChannelId(inboxFilter);
        criteria.setState(MessageStateFilter);

        Page<InboxDTO> page = inboxQueryService.findByCriteria(criteria, pageable);
        HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(ServletUriComponentsBuilder.fromCurrentRequest(), page);
        return ResponseEntity.ok().headers(headers).body(page.getContent());
    }

标签: javabackendjhipster

解决方案


推荐阅读