| @@ -48,7 +48,7 @@ public class WxBusinessCircleOrderController extends BaseController { | |||
| } | |||
| circleOrder.updateTenantInfo(getTenantInfo()); | |||
| circleOrder.setSortColumns(BaseEntity.SortField.CreateTime_DESC,BaseEntity.SortField.Id_DESC); | |||
| final PageInfo<WxBusinessCircleOrder> page = wxBusinessCircleOrderService.listAsPage(circleOrder, pageNum, pageSize); | |||
| PageInfo<WxBusinessCircleOrder> page = wxBusinessCircleOrderService.listAsPage(circleOrder, pageNum, pageSize); | |||
| return new ResultData(page); | |||
| } | |||
| @@ -119,7 +119,7 @@ public class WxBusinessCircleOrderController extends BaseController { | |||
| circleOrder = new WxBusinessCircleOrder(); | |||
| } | |||
| circleOrder.updateTenantInfo(getTenantInfo()); | |||
| final PageInfo<AlipayOrWxStatistics> page = wxBusinessCircleOrderService.wxPayList(circleOrder, pageNum, pageSize); | |||
| PageInfo<AlipayOrWxStatistics> page = wxBusinessCircleOrderService.wxPayList(circleOrder, pageNum, pageSize); | |||
| return new ResultData(page); | |||
| } | |||
| @@ -134,7 +134,7 @@ public class WxBusinessCircleOrderController extends BaseController { | |||
| circleOrder = new WxBusinessCircleOrder(); | |||
| } | |||
| circleOrder.updateTenantInfo(getTenantInfo()); | |||
| AlipayOrWxStatistics aliStatistics = wxBusinessCircleOrderService.aliStatistics(circleOrder); | |||
| AlipayOrWxStatistics aliStatistics = wxBusinessCircleOrderService.wxStatistics(circleOrder); | |||
| return new ResultData(aliStatistics); | |||
| } | |||
| @@ -55,8 +55,8 @@ public interface WxBusinessCircleOrderMapper extends CommonMapper<WxBusinessCirc | |||
| List<AlipayOrWxStatistics> wxRefundList(WxBusinessCircleOrder record); | |||
| AlipayOrWxStatistics aliPayStatistics(WxBusinessCircleOrder record); | |||
| AlipayOrWxStatistics wxPayStatistics(WxBusinessCircleOrder record); | |||
| AlipayOrWxStatistics aliRefundStatistics(WxBusinessCircleOrder record); | |||
| AlipayOrWxStatistics wxRefundStatistics(WxBusinessCircleOrder record); | |||
| } | |||
| @@ -93,6 +93,6 @@ public interface WxBusinessCircleOrderService { | |||
| PageInfo<AlipayOrWxStatistics> wxPayList(WxBusinessCircleOrder circleOrder, Integer pageNum, Integer pageSize); | |||
| AlipayOrWxStatistics aliStatistics(WxBusinessCircleOrder circleOrder); | |||
| AlipayOrWxStatistics wxStatistics(WxBusinessCircleOrder circleOrder); | |||
| } | |||
| @@ -399,21 +399,32 @@ public class AliBusinessCircleOrderServiceImpl implements AliBusinessCircleOrder | |||
| if (CollectionUtils.isEmpty(pageInfo.getList())) { | |||
| return pageInfo; | |||
| } | |||
| List<Long> list = pageInfo.getList().parallelStream().map(AlipayOrWxStatistics::getMerchantId).collect(Collectors.toList()); | |||
| record.setMerchantIds(list); | |||
| //查询退款数据 | |||
| List<AlipayOrWxStatistics> alipayOrWxStatistics = aliBusinessCircleOrderMapper.aliRefundList(record); | |||
| List<Long> list = pageInfo.getList().parallelStream().filter(s -> s.getMerchantId() != null) | |||
| .map(AlipayOrWxStatistics::getMerchantId).collect(Collectors.toList()); | |||
| Map<Long, AlipayOrWxStatistics> statisticsMap = null; | |||
| if (CollectionUtils.isNotEmpty(alipayOrWxStatistics)) { | |||
| statisticsMap = alipayOrWxStatistics.stream().collect(Collectors.toMap(AlipayOrWxStatistics::getMerchantId, s -> s)); | |||
| } | |||
| Map<Long, String> merchantNamesMap = null; | |||
| if(CollectionUtils.isNotEmpty(list)){ | |||
| //查询退款数据 | |||
| record.setMerchantIds(list); | |||
| List<AlipayOrWxStatistics> alipayOrWxStatistics = aliBusinessCircleOrderMapper.aliRefundList(record); | |||
| if (CollectionUtils.isNotEmpty(alipayOrWxStatistics)) { | |||
| statisticsMap = alipayOrWxStatistics.stream().collect(Collectors.toMap(AlipayOrWxStatistics::getMerchantId, s -> s)); | |||
| } | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.setIds(list); | |||
| Map<Long, String> merchantNamesMap = wxMerchantService.getIdAndNamesMap(wxMerchant); | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.setIds(list); | |||
| merchantNamesMap = wxMerchantService.getIdAndNamesMap(wxMerchant); | |||
| } | |||
| for (AlipayOrWxStatistics statistics:pageInfo.getList()) { | |||
| statistics.setMerchantName(merchantNamesMap.get(statistics.getMerchantId())); | |||
| if(merchantNamesMap != null){ | |||
| statistics.setMerchantName(merchantNamesMap.get(statistics.getMerchantId())); | |||
| } | |||
| if(StringUtils.isBlank(statistics.getMerchantName())){ | |||
| statistics.setMerchantName("其他"); | |||
| } | |||
| if(statisticsMap != null){ | |||
| AlipayOrWxStatistics refundstatistics = statisticsMap.get(statistics.getMerchantId()); | |||
| if(refundstatistics != null){ | |||
| @@ -574,21 +574,32 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||
| if (CollectionUtils.isEmpty(pageInfo.getList())) { | |||
| return pageInfo; | |||
| } | |||
| List<Long> list = pageInfo.getList().parallelStream().map(AlipayOrWxStatistics::getMerchantId).collect(Collectors.toList()); | |||
| record.setMerchantIds(list); | |||
| //查询退款数据 | |||
| List<AlipayOrWxStatistics> alipayOrWxStatistics = wxBusinessCircleOrderMapper.wxRefundList(record); | |||
| List<Long> list = pageInfo.getList().parallelStream().filter(s -> s.getMerchantId() != null) | |||
| .map(AlipayOrWxStatistics::getMerchantId).collect(Collectors.toList()); | |||
| Map<Long, AlipayOrWxStatistics> statisticsMap = null; | |||
| if (CollectionUtils.isNotEmpty(alipayOrWxStatistics)) { | |||
| statisticsMap = alipayOrWxStatistics.stream().collect(Collectors.toMap(AlipayOrWxStatistics::getMerchantId, s -> s)); | |||
| } | |||
| Map<Long, String> merchantNamesMap = null; | |||
| if(CollectionUtils.isNotEmpty(list)){ | |||
| //查询退款数据 | |||
| record.setMerchantIds(list); | |||
| List<AlipayOrWxStatistics> alipayOrWxStatistics = wxBusinessCircleOrderMapper.wxRefundList(record); | |||
| if (CollectionUtils.isNotEmpty(alipayOrWxStatistics)) { | |||
| statisticsMap = alipayOrWxStatistics.stream().collect(Collectors.toMap(AlipayOrWxStatistics::getMerchantId, s -> s)); | |||
| } | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.setIds(list); | |||
| Map<Long, String> merchantNamesMap = wxMerchantService.getIdAndNamesMap(wxMerchant); | |||
| WxMerchant wxMerchant = new WxMerchant(); | |||
| wxMerchant.setIds(list); | |||
| merchantNamesMap = wxMerchantService.getIdAndNamesMap(wxMerchant); | |||
| } | |||
| for (AlipayOrWxStatistics statistics:pageInfo.getList()) { | |||
| statistics.setMerchantName(merchantNamesMap.get(statistics.getMerchantId())); | |||
| if(merchantNamesMap != null){ | |||
| statistics.setMerchantName(merchantNamesMap.get(statistics.getMerchantId())); | |||
| } | |||
| if(StringUtils.isBlank(statistics.getMerchantName())){ | |||
| statistics.setMerchantName("其他"); | |||
| } | |||
| if(statisticsMap != null){ | |||
| AlipayOrWxStatistics refundstatistics = statisticsMap.get(statistics.getMerchantId()); | |||
| if(refundstatistics != null){ | |||
| @@ -601,7 +612,7 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||
| } | |||
| @Override | |||
| public AlipayOrWxStatistics aliStatistics(WxBusinessCircleOrder record) { | |||
| public AlipayOrWxStatistics wxStatistics(WxBusinessCircleOrder record) { | |||
| if (StringUtils.isNotEmpty(record.getMerchantName())) { | |||
| List<Long> ids = wxMerchantService.selectByMerchantIds(record.getMerchantName()); | |||
| if (!CollectionUtils.isEmpty(ids)) { | |||
| @@ -611,9 +622,9 @@ public class WxBusinessCircleOrderServiceImpl implements WxBusinessCircleOrderSe | |||
| record.setMerchantIds(ids); | |||
| } | |||
| } | |||
| AlipayOrWxStatistics aliStatistics = wxBusinessCircleOrderMapper.aliPayStatistics(record); | |||
| AlipayOrWxStatistics aliStatistics = wxBusinessCircleOrderMapper.wxPayStatistics(record); | |||
| if(aliStatistics.getPayAmount() > 0){ | |||
| AlipayOrWxStatistics aliRefundStatistics = wxBusinessCircleOrderMapper.aliRefundStatistics(record); | |||
| AlipayOrWxStatistics aliRefundStatistics = wxBusinessCircleOrderMapper.wxRefundStatistics(record); | |||
| aliStatistics.setRefundAmount(aliRefundStatistics.getRefundAmount()); | |||
| aliStatistics.setRefundPoints(aliRefundStatistics.getRefundPoints()); | |||
| } | |||
| @@ -248,7 +248,7 @@ | |||
| </foreach> | |||
| </if> | |||
| GROUP BY merchant_id | |||
| order by payAmount desc; | |||
| order by payAmount desc | |||
| </select> | |||
| <select id="aliRefundList" parameterType="com.iformall.domain.po.AliBusinessCircleOrder" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| @@ -263,10 +263,10 @@ | |||
| <select id="wxPayList" parameterType="com.iformall.domain.po.WxBusinessCircleOrder" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| SELECT merchant_id as 'merchantId', | |||
| IFNULL(SUM(`pay_amount`),0) as 'payAmount', | |||
| IFNULL(SUM(`increased_points`),0) as 'payPoints' | |||
| IFNULL(SUM(`pay_amount`),0) as 'payAmount', | |||
| IFNULL(SUM(`increased_points`),0) as 'payPoints' | |||
| FROM wx_business_circle_order | |||
| where is_refund = 0 and merchant_id is not null | |||
| where is_refund = 0 | |||
| <if test=" null != tenantId and '' != tenantId"> | |||
| and `tenant_id` = #{tenantId} | |||
| </if> | |||
| @@ -280,10 +280,10 @@ | |||
| </foreach> | |||
| </if> | |||
| GROUP BY merchant_id | |||
| order by payAmount desc; | |||
| order by payAmount desc | |||
| </select> | |||
| <select id="wxRefundList" parameterType="com.iformall.domain.po.AliBusinessCircleOrder" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| <select id="wxRefundList" parameterType="com.iformall.domain.po.WxBusinessCircleOrder" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| SELECT merchant_id as 'merchantId', | |||
| IFNULL(SUM(`refund_amount`),0) as 'refundAmount', | |||
| IFNULL(SUM(`increased_points`),0) as 'refundPoints' | |||
| @@ -304,7 +304,7 @@ | |||
| GROUP BY merchant_id | |||
| </select> | |||
| <select id="wxPayStatistics" parameterType="com.iformall.domain.po.AliBusinessCircleOrder" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| <select id="wxPayStatistics" parameterType="com.iformall.domain.po.WxBusinessCircleOrder" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| SELECT | |||
| IFNULL(SUM(`pay_amount`),0) as 'payAmount', | |||
| IFNULL(SUM(`increased_points`),0) as 'payPoints' | |||
| @@ -324,7 +324,7 @@ | |||
| </if> | |||
| </select> | |||
| <select id="wxRefundStatistics" parameterType="com.iformall.domain.po.AliBusinessCircleOrder" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| <select id="wxRefundStatistics" parameterType="com.iformall.domain.po.WxBusinessCircleOrder" resultType="com.iformall.domain.vo.AlipayOrWxStatistics"> | |||
| SELECT | |||
| IFNULL(SUM(`refund_amount`),0) as 'refundAmount', | |||
| IFNULL(SUM(`increased_points`),0) as 'refundPoints' | |||