// 分页查询
public Object userPage(String auth, int number, int size) {
Criteria c1 = Criteria.where("auth").is(auth).and("type").is("1");
Criteria c2 = Criteria.where("auth").is(auth).and("type").is("2");
Criteria criteria = new Criteria();
criteria.orOperator(c1, c2); //or或者
if (StringUtils.isNotBlank(cmd)) {
criteria.and("cmd").is(cmd);
}
Sort sort = new Sort(Sort.Direction.DESC, "_id");
Query query = new Query();
query.addCriteria(criteria);
query.with(sort); //排序
long count = mongoTemplate.count(query, User.class);
query.skip(number * size); //skip分页
query.limit(size);
List<User> list = mongoTemplate.find(query, User.class);
Pageable pageable = PageRequest.of(number, size);
Page<Object> page = new PageImpl<Object>(list, pageable, count);
return page;
}
// 修改
private void updateByAuth(String auth, String dataTime) {
Criteria criteria = Criteria.where("auth").is(auth).and("status").is(false);
Sort sort = new Sort(Sort.Direction.ASC, "_id");
Query query = new Query();
query.addCriteria(criteria);
query.with(sort);
Update update = new Update();
update.set("updateTime", dataTime);
mongoTemplate.updateMulti(query, update, User.class); //修改
}
// 删除
public void delete(UserVo vo) {
Optional<User> po = userRepository.findById(vo.getId());
if (po.isPresent()) {
Criteria criteria = Criteria.where("name").is(po.get().getName());
Query query = new Query(criteria);
mongoTemplate.remove(query, User.class);
userRepository.delete(po.get());
} else {
throw new RuntimeException(MessageConstant.INVALID_DATA);
}
}