具体代码如下所示:
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 实现按日期分组分页查询功能,希望对大家有所帮助
如对本文有疑问, 点击进行留言回复!!
SpringBoot实现本地存储文件上传及提供HTTP访问服务的方法
Java实现AES/CBC/PKCS7Padding加解密的方法
SpringBoot整合Spring Security的详细教程
IDEA 非常重要的一些设置项(一连串的问题差点让我重新用回 Eclipse)
详解Springboot2.3集成Spring security 框架(原生集成)
网友评论