文章目录
Service
- 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 新增一条吐槽,指定其父节点的id为1
再次查询id为1的吐槽 可以看到其回复数字段加1了