zoukankan      html  css  js  c++  java
  • 代码

    /*
    * (non-Javadoc)
    *
    * @see
    * com.doudou.database.service.post.IRepostService#queryWarnPostComments
    * (int, int, java.lang.String)
    */
    public Pager queryWarnPostComments(int pageNo, int pageSize,
    String accountId) throws BusinessException {
    try {
    Pager pager = new Pager(pageNo, pageSize);
    int thisPage = (pageNo - 1) * pageSize;

    // 获取该人所有的帖子
    List<Post> postList = postRepository.getAccountPost(accountId);
    if (postList.size() == 0) {
    throw new BusinessException("还未发表帖子!");
    }
    HashMap<Integer, Post> postHashMap = new HashMap<Integer, Post>();
    List<Integer> postIdList = new ArrayList<Integer>();

    // 将所有帖子id放入PostIdList中,并将帖子信息缓存到hashmap中
    for (Post post : postList) {
    postIdList.add(post.getPostId());
    postHashMap.put(post.getPostId(), post);
    }

    // 查询帖子的所有评论贴,并按评论贴的发帖时间进行降序排序
    StringBuilder listSql = new StringBuilder(
    "select * from Repost repost where repost.postId in (:list)"
    + " order by repost.repostTime DESC");

    Query queryList = manager
    .createNativeQuery(listSql.toString(), Repost.class)
    .setFirstResult(thisPage).setMaxResults(pageSize);
    queryList.setParameter("list", postIdList);
    @SuppressWarnings("unchecked")
    List<Repost> repostList = queryList.getResultList();
    if (repostList.size() == 0) {
    throw new BusinessException("还没有人评论你的帖子");

    }

    // 将评论贴与原帖进行相关联
    for (Repost repost : repostList) {
    repost.setPost(postHashMap.get(repost.getPostId()));
    }
    // 获取所有的总数
    StringBuilder countSql = new StringBuilder(
    "select count(repost.postId) from Repost repost ,Post post where post.postId=repost.repostId and post.accountId=:accountId");
    Query query = manager.createNativeQuery(countSql.toString());
    query.setParameter("accountId", accountId);
    pager.setTotalCount(((BigInteger) query.getSingleResult())
    .intValue());
    pager.setItems(repostList);
    return pager;
    } catch (BusinessException e) {
    throw e;

    } catch (Exception e) {
    logger.error("query database error", e);
    throw new BusinessException("query database error");

    }

    }

  • 相关阅读:
    阿里知识图谱首次曝光:每天千万级拦截量,亿级别全量智能审核
    LSTM简介以及数学推导(FULL BPTT)
    深度学习算法索引(持续更新)
    学界 | Yann LeCun新作,中日韩文本分类到底要用哪种编码?
    Android 常见内存泄漏的解决方式
    集成支付宝支付
    【4.29安恒杯】writeup
    sdut 3-7 类的友元函数的应用
    Linux下libsvm的安装及简单练习
    iOS 使用腾讯地图显示用户位置注意事项
  • 原文地址:https://www.cnblogs.com/programerlrc/p/4153878.html
Copyright © 2011-2022 走看看