@GetMapping("/autoSort2")
public R autoSort2(@RequestParam Map<String, Object> params,
                   NongzuowuEntity nongzuowuEntity,
                   HttpServletRequest request) {
    // get current user id from session
    Long userId = (Long) request.getSession().getAttribute('userId');

    // query bookmarked entries with pagination enabled
    QueryWrapper<StoreupEntity> storeupQuery = new QueryWrapper<>();
    storeupQuery.eq('user_id', userId);
    PageUtils storeupPage = storeupService.queryPage(params, storeupQuery);

    // append sorting and ordering parameters to query
    QueryWrapper<NongzuowuEntity> queryWrapper = new QueryWrapper<>();
    queryWrapper.orderByDesc('id');
    if (StringUtils.isNotBlank(nongzuowuEntity.getSort())) {
        queryWrapper.orderByAsc(nongzuowuEntity.getSort());
    }
    if (StringUtils.isNotBlank(nongzuowuEntity.getOrder())) {
        queryWrapper.orderByAsc(nongzuowuEntity.getOrder());
    }

    // execute query and store results into PageUtils object
    PageUtils page = nongzuowuService.queryPage(params, queryWrapper);

    // add more entries from sorted result set to bookmarked list if necessary
    int limit = 5;
    if (storeupPage.getList().size() < limit) {
        for (Object obj : page.getList()) {
            NongzuowuEntity entity = (NongzuowuEntity) obj;
            boolean exists = false;
            for (StoreupEntity storeupEntity : storeupPage.getList()) {
                if (storeupEntity.getNzwId().equals(entity.getId())) {
                    exists = true;
                    break;
                }
            }
            if (!exists) {
                storeupService.save(new StoreupEntity(userId, entity.getId()));
                storeupPage.getList().add(entity);
            }
            if (storeupPage.getList().size() >= limit) {
                break;
            }
        }
    } else {
        storeupPage.setList(storeupPage.getList().subList(0, limit));
    }

    // return response object containing data wrapped in R.ok() object
    return R.ok().put('storeupPage', storeupPage).put('page', page);
}
Java Spring Framework - Auto Sorting and Pagination with Bookmarks

原文地址: http://www.cveoy.top/t/topic/nMu2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录