|
@@ -19,6 +19,7 @@ import pay.platform.domain.PayOrder;
|
|
import pay.platform.domain.table.PayOrderTableDef;
|
|
import pay.platform.domain.table.PayOrderTableDef;
|
|
import pay.platform.mapper.PayOrderMapper;
|
|
import pay.platform.mapper.PayOrderMapper;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
import java.util.Calendar;
|
|
import java.util.Calendar;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -39,10 +40,10 @@ public class PayOrderServiceImpl extends BaseService<PayOrderMapper, PayOrder> i
|
|
QueryWrapper queryWrapper = QueryWrapper.create().from(PayOrderTableDef.PAY_ORDER).where("1 = 1")
|
|
QueryWrapper queryWrapper = QueryWrapper.create().from(PayOrderTableDef.PAY_ORDER).where("1 = 1")
|
|
.and(PayOrderTableDef.PAY_ORDER.ORDER_NO.like(query.getOrderNo(), StringUtil.isNotBlank(query.getOrderNo())))
|
|
.and(PayOrderTableDef.PAY_ORDER.ORDER_NO.like(query.getOrderNo(), StringUtil.isNotBlank(query.getOrderNo())))
|
|
.and(PayOrderTableDef.PAY_ORDER.PLATFORM_ORDER_NO.like(query.getPlatformOrderNo(), StringUtil.isNotBlank(query.getPlatformOrderNo())))
|
|
.and(PayOrderTableDef.PAY_ORDER.PLATFORM_ORDER_NO.like(query.getPlatformOrderNo(), StringUtil.isNotBlank(query.getPlatformOrderNo())))
|
|
- .and(PayOrderTableDef.PAY_ORDER.MERCHANT_ID.like(query.getMerchantId(), query.getMerchantId() != null)
|
|
|
|
- .and(PayOrderTableDef.PAY_ORDER.AGENT_ID.like(query.getAgentId(), query.getAgentId() != null)
|
|
|
|
-
|
|
|
|
- .and(PayOrderTableDef.PAY_ORDER.STATUS.eq(query.getStatus(), query.getStatus() != null)))).orderBy(PayOrderTableDef.PAY_ORDER.CREATE_TIME.desc());
|
|
|
|
|
|
+ .and(PayOrderTableDef.PAY_ORDER.MERCHANT_ID.eq(query.getMerchantId(), StringUtil.isNotBlank(query.getMerchantId()))
|
|
|
|
+ .and(PayOrderTableDef.PAY_ORDER.AGENT_ID.like(query.getAgentId(), StringUtil.isNotBlank(query.getAgentId()))
|
|
|
|
+ .and(PayOrderTableDef.PAY_ORDER.STATUS.eq(query.getStatus(), query.getStatus() != null))))
|
|
|
|
+ .orderBy(PayOrderTableDef.PAY_ORDER.CREATE_TIME.desc());
|
|
if (CollectionUtil.isNotEmpty(query.getTimes())) {
|
|
if (CollectionUtil.isNotEmpty(query.getTimes())) {
|
|
queryWrapper.and(PayOrderTableDef.PAY_ORDER.CREATE_TIME.ge(query.getTimes().get(0) + " 00:00:00", CollectionUtil.isNotEmpty(query.getTimes())))
|
|
queryWrapper.and(PayOrderTableDef.PAY_ORDER.CREATE_TIME.ge(query.getTimes().get(0) + " 00:00:00", CollectionUtil.isNotEmpty(query.getTimes())))
|
|
.and(PayOrderTableDef.PAY_ORDER.CREATE_TIME.le(query.getTimes().get(1) + " 23:59:59", CollectionUtil.isNotEmpty(query.getTimes())));
|
|
.and(PayOrderTableDef.PAY_ORDER.CREATE_TIME.le(query.getTimes().get(1) + " 23:59:59", CollectionUtil.isNotEmpty(query.getTimes())));
|
|
@@ -52,6 +53,45 @@ public class PayOrderServiceImpl extends BaseService<PayOrderMapper, PayOrder> i
|
|
return new BasePage<>(page.getPageNumber(), page.getPageSize(), page.getTotalRow(), vos);
|
|
return new BasePage<>(page.getPageNumber(), page.getPageSize(), page.getTotalRow(), vos);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<PayOrderVO> orderTotalGroup(PayOrderQuery query) {
|
|
|
|
+ QueryWrapper queryWrapper = QueryWrapper.create().from(PayOrderTableDef.PAY_ORDER).where("1 = 1")
|
|
|
|
+ .and(PayOrderTableDef.PAY_ORDER.MERCHANT_ID.eq(query.getMerchantId(), StringUtil.isNotBlank(query.getMerchantId()))
|
|
|
|
+ .and(PayOrderTableDef.PAY_ORDER.AGENT_ID.like(query.getAgentId(), StringUtil.isNotBlank(query.getAgentId()))
|
|
|
|
+ .and(PayOrderTableDef.PAY_ORDER.STATUS.eq(1, true))));
|
|
|
|
+ if (CollectionUtil.isNotEmpty(query.getTimes())) {
|
|
|
|
+ queryWrapper.and(PayOrderTableDef.PAY_ORDER.CREATE_TIME.ge(query.getTimes().get(0) + " 00:00:00", CollectionUtil.isNotEmpty(query.getTimes())))
|
|
|
|
+ .and(PayOrderTableDef.PAY_ORDER.CREATE_TIME.le(query.getTimes().get(1) + " 23:59:59", CollectionUtil.isNotEmpty(query.getTimes())));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (query.getGroupType() != null) {
|
|
|
|
+ switch (query.getGroupType()) {
|
|
|
|
+ case 1:
|
|
|
|
+ queryWrapper.select(PayOrderTableDef.PAY_ORDER.CHANNEL_ID, PayOrderTableDef.PAY_ORDER.CHANNEL_NAME.as("channel_name"), QueryMethods.sum(PayOrderTableDef.PAY_ORDER.AMOUNT).as("amount")
|
|
|
|
+ , QueryMethods.sum(PayOrderTableDef.PAY_ORDER.PLATFORM_RATE_AMOUNT).as("platform_rate_amount"));
|
|
|
|
+ queryWrapper.groupBy(PayOrderTableDef.PAY_ORDER.CHANNEL_ID, PayOrderTableDef.PAY_ORDER.CHANNEL_NAME);
|
|
|
|
+ break;
|
|
|
|
+ case 2:
|
|
|
|
+ queryWrapper.select(PayOrderTableDef.PAY_ORDER.AGENT_ID, PayOrderTableDef.PAY_ORDER.AGENT_NAME.as("agent_name"), QueryMethods.sum(PayOrderTableDef.PAY_ORDER.AMOUNT).as("amount")
|
|
|
|
+ , QueryMethods.sum(PayOrderTableDef.PAY_ORDER.PLATFORM_RATE_AMOUNT).as("platform_rate_amount"));
|
|
|
|
+ queryWrapper.groupBy(PayOrderTableDef.PAY_ORDER.AGENT_ID, PayOrderTableDef.PAY_ORDER.AGENT_NAME);
|
|
|
|
+ break;
|
|
|
|
+ case 3:
|
|
|
|
+ queryWrapper.select(PayOrderTableDef.PAY_ORDER.MERCHANT_ID, PayOrderTableDef.PAY_ORDER.MERCHANT_NAME.as("merchant_name"), QueryMethods.sum(PayOrderTableDef.PAY_ORDER.AMOUNT).as("amount")
|
|
|
|
+ , QueryMethods.sum(PayOrderTableDef.PAY_ORDER.PLATFORM_RATE_AMOUNT).as("platform_rate_amount"));
|
|
|
|
+ queryWrapper.groupBy(PayOrderTableDef.PAY_ORDER.MERCHANT_ID, PayOrderTableDef.PAY_ORDER.MERCHANT_NAME);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ var payOrders = mapper.selectListByQuery(queryWrapper);
|
|
|
|
+ List<PayOrderVO> vos = BeanUtil.copyToList(payOrders, PayOrderVO.class);
|
|
|
|
+ vos.forEach(item -> {
|
|
|
|
+ DecimalFormat decimalFormat = new DecimalFormat("0.00");
|
|
|
|
+ var payAmount = Double.parseDouble(decimalFormat.format(item.getPlatformRateAmount()));
|
|
|
|
+ item.setPlatformRateAmount(BigDecimal.valueOf(payAmount));
|
|
|
|
+ });
|
|
|
|
+ return vos;
|
|
|
|
+ }
|
|
|
|
+
|
|
public QueryWrapper getQueryWrapper(Calendar calendar, int period, QueryColumn queryColumn) {
|
|
public QueryWrapper getQueryWrapper(Calendar calendar, int period, QueryColumn queryColumn) {
|
|
//当天支付
|
|
//当天支付
|
|
QueryWrapper queryWrapper = QueryWrapper.create().from(PayOrderTableDef.PAY_ORDER).where("1 = 1")
|
|
QueryWrapper queryWrapper = QueryWrapper.create().from(PayOrderTableDef.PAY_ORDER).where("1 = 1")
|