具体代码如下所示:
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