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

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 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.setCashPayCount(count.getOrDefault(PayEnums.CASH_PAY.getValue(), 0L));
data.setCreditPayAmount(sum.getOrDefault(PayEnums.CREDIT_PAY.getValue(), BigDecimal.ZERO)); data.setCreditPayAmount(sum.getOrDefault(PayEnums.CREDIT_PAY.getValue(), BigDecimal.ZERO));
data.setCreditPayCount(count.getOrDefault(PayEnums.CREDIT_PAY.getValue(), 0L)); 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 = shopOrderStatisticMapper.getVipRechargeAmountCount(param);
List<Map<String, Object>> list1 = (List<Map<String, Object>>) collect.get("getVipRechargeAmountCount"); 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")))); 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.setRechargeRefundAmount(sum1.getOrDefault("rechargeRefund", BigDecimal.ZERO).abs());
data.setMemberPayAmount(sum1.getOrDefault("orderPay", BigDecimal.ZERO).abs()); data.setMemberPayAmount(sum1.getOrDefault("orderPay", BigDecimal.ZERO).abs());
data.setMemberPayCount(count1.getOrDefault("orderPay", 0L)); data.setMemberPayCount(count1.getOrDefault("orderPay", 0L));
data.setSaleAmount(NumberUtil.add(data.getWechatPayAmount(), data.getAliPayAmount(), data.getScanPayAmount(), data.getCashPayAmount(), data.getCreditPayAmount())); 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()).longValue()); 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); 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); 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); 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 group by shop_id
</select> </select>
<select id="getNewMemberCount" resultType="java.lang.Long"> <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 != ''"> <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>
<if test="endDate != null and endDate != ''"> <if test="endDate != null and endDate != ''">
<![CDATA[ <![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> </if>
</select> </select>