服务器之家

服务器之家 > 正文

springboot+mongodb 实现按日期分组分页查询功能

时间:2021-05-16 15:57     来源/作者:0剑小破

具体代码如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
walletdetailsresp walletdetailsresp = new walletdetailsresp();
list<walletdetailsresp.walletdetail> list = new arraylist<>();
walletdetailsresp.pageinfobean pageinfobean = new walletdetailsresp.pageinfobean();
list<integer> types = new arraylist<>();
types.add(innercashtype.finisher_add_cutmoney.getcode());
types.add(innercashtype.finisher_add_reward.getcode());
types.add(innercashtype.finisher_sub_withdraw.getcode());
types.add(innercashtype.finisher_add_withdraw.getcode());
criteria eatcriteria = criteria.where("_change_type").in(types).and("_downstream_user_id").is(userid);
sort.order orders = new sort.order(sort.direction.desc, "changedate");
aggregation eataggregation = aggregation.newaggregation(
    aggregation.match(eatcriteria),
    aggregation.project("_change_money","_change_type").andexpression("substr(_change_time,0,10)").as("changedate"),
    aggregation.group("changedate","_change_type").sum("_change_money").as("changemoney"),
    aggregation.sort(new sort(orders)),
    aggregation.skip(pageindex > 1 ? (pageindex - 1) * pagesize : 0l),
    aggregation.limit(pagesize));
aggregationresults<basicdbobject> eatoutputtype = mongotemplate.aggregate(eataggregation, "inner_cash_change", basicdbobject.class);
for (dbobject obj : eatoutputtype) {
  walletdetailsresp.walletdetail walletdetail = new walletdetailsresp.walletdetail();
  walletdetail.setchangetype(integer.parseint(obj.get("_change_type").tostring()));
  walletdetail.setchangemoney(new bigdecimal(obj.get("changemoney").tostring()).divide(qrtype.yuan_to_fen));
  walletdetail.setchangedate(obj.get("changedate").tostring());
  list.add(walletdetail);
}
walletdetailsresp.setwalletdetails(list);
pageinfobean.setpageindex(pageindex);
pageinfobean.setpagesize(pagesize);
pageinfobean.setrecordtotal(eatoutputtype.getmappedresults().size());
walletdetailsresp.setpageinfo(pageinfobean);

总结

以上所述是小编给大家介绍的springboot+mongodb 实现按日期分组分页查询功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://blog.csdn.net/kljxp/article/details/81027719

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部