黑马十次方项目day03-21之新增发布吐槽的完善

文章目录

Service

在com.tensquare.spit.service.SpitService中
完善saveSpit方法.
即在新增吐槽时,进行完善
首先是要初始化一些值.
其次是判断新增的吐槽有无父级节点,如果有父级的节点,那么把父级节点的回复数进行加一的操作.
用的是MongoDB的自增

/**
     * 方法名: saveSpit
     * 方法描述: 新增吐槽,并用分布式id生成器
     * 修改日期: 2019/1/19 15:42
      * @param spit
     * @return void
     * @author taohongchao
     * @throws
     */
    public void saveSpit(Spit spit) {
        spit.set_id(idWorker.nextId()+"");

        //初始化数据
        spit.setPublishtime(new Date());//发布日期
        spit.setVisits(0);//浏览量
        spit.setShare(0);//分享数
        spit.setThumbup(0);//点赞数
        spit.setComment(0);//回复数
        spit.setState("1");//状态

        //判断当前新增的吐槽,有无父节点, 如果有父节点,那么其对应的父节点要加一
        if (spit.getParentid() != null && !"".equals(spit.getParentid())) {
            //把其父节点的回复数进行自增加一的操作
            Query query = new Query();
            //查询条件为父节点的id
            query.addCriteria(Criteria.where("_id").is(spit.getParentid()));
            Update update = new Update();
            //把父节点的回复数进行加一的操作
            update.inc("comment", 1);
            mongoTemplate.updateFirst(query, update, "spit");
        }
        spitDao.save(spit);
    }

测试

启动项目,进行测试
首先发送根据id查询的请求,查询id为1的数据,可以看到其回复数comment字段为null,代表其回复数为0
黑马十次方项目day03-21之新增发布吐槽的完善
新增一条吐槽,指定其父节点的id为1
黑马十次方项目day03-21之新增发布吐槽的完善
再次查询id为1的吐槽
可以看到其回复数字段加1了
黑马十次方项目day03-21之新增发布吐槽的完善