新增会员 以及 订单支付统计

This commit is contained in:
wangw 2025-04-25 10:00:09 +08:00
parent d525b078bc
commit 91159b07c3
3 changed files with 30 additions and 5 deletions

View File

@ -113,6 +113,26 @@ public class ShopOrderStatistic implements Serializable {
*/
private BigDecimal scanPayAmount = BigDecimal.ZERO;
/**
* 被扫支付笔数
*/
private Long backScanPayCount = 0L;
/**
* 被扫支付金额
*/
private BigDecimal backScanPayAmount = BigDecimal.ZERO;
/**
* 被扫支付笔数
*/
private Long h5PayCount = 0L;
/**
* 被扫支付金额
*/
private BigDecimal h5PayAmount = BigDecimal.ZERO;
/**
* 现金支付笔数
*/

View File

@ -87,6 +87,11 @@ public class DataSummaryServiceImpl implements DataSummaryService {
data.setCashPayCount(count.getOrDefault(PayEnums.CASH_PAY.getValue(), 0L));
data.setCreditPayAmount(sum.getOrDefault(PayEnums.CREDIT_PAY.getValue(), BigDecimal.ZERO));
data.setCreditPayCount(count.getOrDefault(PayEnums.CREDIT_PAY.getValue(), 0L));
data.setBackScanPayAmount(sum.getOrDefault(PayEnums.BACK_SCAN.getValue(), BigDecimal.ZERO));
data.setBackScanPayCount(count.getOrDefault(PayEnums.BACK_SCAN.getValue(), 0L));
data.setH5PayAmount(sum.getOrDefault(PayEnums.H5_PAY.getValue(), BigDecimal.ZERO));
data.setH5PayCount(count.getOrDefault(PayEnums.H5_PAY.getValue(), 0L));
//List<Map<String, Object>> list1 = shopOrderStatisticMapper.getVipRechargeAmountCount(param);
List<Map<String, Object>> list1 = (List<Map<String, Object>>) collect.get("getVipRechargeAmountCount");
Map<String, BigDecimal> sum1 = list1.stream().collect(Collectors.toMap(item -> Convert.toStr(item.get("bizCode")), item -> Convert.toBigDecimal(item.get("amount"))));
@ -95,8 +100,8 @@ public class DataSummaryServiceImpl implements DataSummaryService {
data.setRechargeRefundAmount(sum1.getOrDefault("rechargeRefund", BigDecimal.ZERO).abs());
data.setMemberPayAmount(sum1.getOrDefault("orderPay", BigDecimal.ZERO).abs());
data.setMemberPayCount(count1.getOrDefault("orderPay", 0L));
data.setSaleAmount(NumberUtil.add(data.getWechatPayAmount(), data.getAliPayAmount(), data.getScanPayAmount(), data.getCashPayAmount(), data.getCreditPayAmount()));
data.setSaleCount(NumberUtil.add(data.getWechatPayCount(), data.getAliPayCount(), data.getScanPayCount(), data.getCashPayCount(), data.getCreditPayCount()).longValue());
data.setSaleAmount(NumberUtil.add(data.getWechatPayAmount(), data.getAliPayAmount(), data.getScanPayAmount(), data.getCashPayAmount(), data.getCreditPayAmount(),data.getBackScanPayAmount(),data.getH5PayAmount()));
data.setSaleCount(NumberUtil.add(data.getWechatPayCount(), data.getAliPayCount(), data.getScanPayCount(), data.getCashPayCount(), data.getCreditPayCount(),data.getBackScanPayCount(),data.getH5PayCount()).longValue());
BigDecimal refundAmount = list.stream().filter(item -> item.get("payType") != null).map(item -> Convert.toBigDecimal(item.get("refund"), BigDecimal.ZERO)).reduce(BigDecimal.ZERO, BigDecimal::add);
data.setRefundAmount(refundAmount);
long refundCount = list.stream().filter(item -> item.get("payType") != null).map(item -> Convert.toLong(item.get("refundCount"), 0L)).reduce(0L, Long::sum);

View File

@ -41,13 +41,13 @@
group by shop_id
</select>
<select id="getNewMemberCount" resultType="java.lang.Long">
select count(1) from tb_shop_user where shop_id = #{shopId}
select count(1) from tb_shop_user where shop_id = #{shopId} and is_vip = 1
<if test="beginDate != null and beginDate != ''">
and create_time >= str_to_date(#{beginDate}, '%Y-%m-%d %H:%i:%s')
and join_time >= str_to_date(#{beginDate}, '%Y-%m-%d %H:%i:%s')
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[
and create_time <= str_to_date(#{endDate}, '%Y-%m-%d %H:%i:%s')
and join_time <= str_to_date(#{endDate}, '%Y-%m-%d %H:%i:%s')
]]>
</if>
</select>