From 7cd41b90eefdf3cd1c87a02a120eb6e64e361859 Mon Sep 17 00:00:00 2001 From: yixian Date: Thu, 8 Feb 2018 18:01:10 +0800 Subject: [PATCH] tradelog page --- .../tradelog/core/impls/TradeLogServiceImpl.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 4bb98e03c..18b0afe68 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -32,6 +32,7 @@ import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; +import com.github.miemiedev.mybatis.paginator.domain.Paginator; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; @@ -67,6 +68,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -422,11 +424,16 @@ public class TradeLogServiceImpl implements TradeLogService { clientManager.validateClients(client_id, params); params.put("client_id", client_id); - PageList logs = transactionMapper.listTransFlowPage(params, - new PageBounds(query.getPage(), query.getLimit(), Order.formString("transaction_time.desc"))); + List logs = transactionMapper.listTransFlow(params); TimeZoneUtils.switchTimeZone(logs, timezone, "create_time", "confirm_time", "transaction_time"); - JSONObject result = PageListUtils.buildPageListResult(logs); - JSONObject analysis = analysisTransLogs(logs); + Paginator paginator = new Paginator(query.getPage(), query.getLimit(), logs.size()); + List pagedLogsList = logs.stream() + .sorted((log1, log2) -> log2.getDate("transaction_time").compareTo(log1.getDate("transaction_time"))) + .skip(paginator.getOffset()).limit(paginator.getLimit()) + .collect(Collectors.toList()); + PageList pagedLogs = new PageList<>(pagedLogsList, paginator); + JSONObject result = PageListUtils.buildPageListResult(pagedLogs); + JSONObject analysis = transactionMapper.analysisTransFlow(params); if (analysis.containsKey("paid_fee") && analysis.containsKey("refund_fee")) { analysis.put("actual_fee", analysis.getBigDecimal("paid_fee").add(analysis.getBigDecimal("refund_fee"))); }