diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml
index 3d030b137..e23b1b481 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/marketingActivity/cardValue/mapper/xml/CardValueRecordMapper.xml
@@ -317,11 +317,11 @@
@@ -83,8 +83,8 @@
COALESCE(SUM(pay_money), 0) AS amount,
COALESCE(COUNT(*), 0) AS strokeCount,
CASE
- WHEN COUNT(*) = 0 THEN 0
- ELSE SUM(pay_money) / COUNT(*)
+ WHEN COUNT(*) = 0 THEN 0
+ ELSE SUM(pay_money) / COUNT(*)
END AS unitPrice
from all_order_info aoi
@@ -104,10 +104,10 @@
-
-
-
-
+
+
+
+
-
+
-
-
+
SELECT
- SUM(CASE WHEN type = 3 THEN pay_money ELSE 0 END) AS leijiMoney, -- 累计消费金额
- COUNT(CASE WHEN type = 3 THEN 0 END) AS leijiNum,
- SUM(CASE WHEN type = 3 and status = 'refund' THEN ref_money ELSE 0 END) AS leijiMoneyRef, -- 累计退款金额
- COUNT(CASE WHEN type = 3 and status = 'refund' THEN 0 END) AS leijiNum
-
- from all_order_info
+ -- 总消费
+ COALESCE(SUM(CASE WHEN type NOT IN (3, 5) AND ref_by IS NULL THEN pay_money ELSE 0 END), 0) AS s1,
+ COUNT(CASE WHEN type NOT IN (3, 5) AND ref_by IS NULL THEN pay_money ELSE 0 END) AS s1c,
+ -- 总充值
+ COALESCE(SUM(CASE WHEN type = 3 AND ref_by IS NULL THEN pay_money ELSE 0 END), 0) AS s2,
+ COUNT(CASE WHEN type = 3 AND ref_by IS NULL THEN pay_money ELSE 0 END) AS s2c,
+ -- 退款总金额 次数
+ COALESCE(SUM(CASE WHEN ref_by IS NOT NULL THEN ref_money ELSE 0 END), 0) AS s3,
+ COUNT(CASE WHEN ref_by IS NOT NULL THEN ref_money ELSE 0 END) AS s3c
+ FROM all_order_info
where user_id = #{order.mtUserId}
-
+
+
SELECT
- SUM(CASE WHEN content = "储值卡充值" THEN pay_money ELSE 0 END) AS tongjMoney, -- 累计充值金额
- SUM(CASE WHEN type = 3 THEN pay_money ELSE 0 END) AS tongjXfMoney -- 累计消费金额
- from all_order_info
-
-
- store_id in
-
- #{item}
-
-
-
- and date_format(create_time,'%y%m%d') >= date_format(#{order.params.beginTime},'%y%m%d')
-
-
- and date_format(create_time,'%y%m%d') <= date_format(#{order.params.endTime},'%y%m%d')
-
-
+ -- 总消费
+ SUM(CASE WHEN all_order_info.type NOT IN (3, 5) AND all_order_info.ref_by IS NULL THEN all_order_info.pay_money
+ ELSE 0 END) AS tongjXfMoney,
+ -- 总充值
+ SUM(CASE WHEN all_order_info.type = 3 AND all_order_info.ref_by IS NULL THEN all_order_info.pay_money ELSE 0
+ END) AS tongjMoney
+ FROM all_order_info
+ INNER JOIN (
+ SELECT mt_user.*
+ FROM mt_user_balance
+ LEFT JOIN mt_user ON mt_user_balance.mt_user_id = mt_user.id
+ WHERE mt_user_balance.user_status = 0 AND mt_user_balance.store_id IN
+
+ #{item}
+
+ ) AS mtUser ON mtUser.id = all_order_info.user_id;
+
+
+
+ select
+ SUM(CASE WHEN card_gift.status=1 THEN card_gift.card_amount ELSE 0 END) as cardGiftMoney
+ from card_gift
+ JOIN (
+ SELECT mt_user.*
+ FROM mt_user_balance
+ LEFT JOIN mt_user ON mt_user_balance.mt_user_id = mt_user.id
+ WHERE mt_user_balance.user_status = 0 AND mt_user_balance.store_id IN
+
+ #{item}
+
+ ) AS mtUser ON mtUser.id = card_gift.user_id;
+
+
+
SELECT
- store_id storeId,
- SUM(pay_money) payMoney,
- count(*) count
+ store_id storeId,
+ SUM(pay_money) payMoney,
+ count(*) count
from all_order_info
@@ -581,15 +600,15 @@
SELECT
- store_id storeId,
- SUM(pay_money) payMoney,
- count(*) count,
- sum(CASE WHEN pay_type = 'WECHAT' THEN pay_money ELSE 0 END) wechatMoney,
- sum(CASE WHEN pay_type = 'CASH' THEN pay_money ELSE 0 END) cashMoney,
- sum(CASE WHEN pay_type = 'balance' THEN pay_money ELSE 0 END) balanceMoney,
- sum(CASE WHEN pay_type = 'ALIPAY' THEN pay_money ELSE 0 END) alipayMoney,
- sum(CASE WHEN status = 'refund' THEN pay_money ELSE 0 END) refMoney,
-# count(CASE WHEN status = 'refund' THEN pay_money ELSE 0 END) refCount
+ store_id storeId,
+ SUM(pay_money) payMoney,
+ count(*) count,
+ sum(CASE WHEN pay_type = 'WECHAT' THEN pay_money ELSE 0 END) wechatMoney,
+ sum(CASE WHEN pay_type = 'CASH' THEN pay_money ELSE 0 END) cashMoney,
+ sum(CASE WHEN pay_type = 'balance' THEN pay_money ELSE 0 END) balanceMoney,
+ sum(CASE WHEN pay_type = 'ALIPAY' THEN pay_money ELSE 0 END) alipayMoney,
+ sum(CASE WHEN status = 'refund' THEN pay_money ELSE 0 END) refMoney,
+ # count(CASE WHEN status = 'refund' THEN pay_money ELSE 0 END) refCount
count(CASE WHEN status = 'refund' THEN 1 ELSE NULL END) refCount
from all_order_info
@@ -609,25 +628,24 @@
group by store_id
- SELECT
- payment_channel paymentChannel,
- SUM(pay_money) payMoneyChannel,
- count(*) countChannel
+ SELECT payment_channel paymentChannel,
+ SUM(pay_money) payMoneyChannel,
+ count(*) countChannel
from all_order_info
group by payment_channel
-
-
-
-
-
-
+
+
+
+
+
+
SELECT
- payment_channel paymentChannel,
- SUM(pay_money) payMoneyChannel,
- count(*) countChannel
+ payment_channel paymentChannel,
+ SUM(pay_money) payMoneyChannel,
+ count(*) countChannel
from all_order_info
@@ -647,8 +665,8 @@
SELECT
- SUM(pay_money) payMoney,
- count(*) count
+ SUM(pay_money) payMoney,
+ count(*) count
from all_order_info
@@ -667,9 +685,8 @@
- SELECT
- SUM(pay_money) payMoney,
- count(*) count,
+ SELECT SUM(pay_money) payMoney,
+ count(*) count,
sum(CASE WHEN status = 'refund' THEN pay_money ELSE 0 END) refMoney,
count(CASE WHEN status = 'refund' THEN pay_money ELSE 0 END) refCount
@@ -678,11 +695,11 @@
SELECT
- count(distinct store_id) storeId,
- SUM(pay_money) payMoney,
- count(*) count,
- sum(CASE WHEN status = 'refund' THEN pay_money ELSE 0 END) refMoney,
- count(CASE WHEN status = 'refund' THEN 1 ELSE 0 END) refCount
+ count(distinct store_id) storeId,
+ SUM(pay_money) payMoney,
+ count(*) count,
+ sum(CASE WHEN status = 'refund' THEN pay_money ELSE 0 END) refMoney,
+ count(CASE WHEN status = 'refund' THEN 1 ELSE 0 END) refCount
from all_order_info
@@ -701,7 +718,6 @@
-
SELECT
sum(CASE WHEN payment_channel = '富友' THEN pay_money ELSE 0 END) fuYouAmount,
@@ -715,11 +731,10 @@
- SELECT
- SUM(pay_money) payMoney,
- SUM(goods_money) goodsMoney,
- SUM(ref_money) refMoney,
- count(*) count,
+ SELECT SUM(pay_money) payMoney,
+ SUM(goods_money) goodsMoney,
+ SUM(ref_money) refMoney,
+ count(*) count,
count(CASE WHEN status = 'refund' THEN 1 ELSE 0 END) AS refund,
content content
@@ -753,33 +768,34 @@
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/xml/UserBalanceMapper.xml b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/xml/UserBalanceMapper.xml
index 05c450ec3..38a47d8ff 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/xml/UserBalanceMapper.xml
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/mapper/xml/UserBalanceMapper.xml
@@ -41,10 +41,13 @@
mub.store_id storeId,
mub.card_balance cardBalance,
mub.create_time,
- mu.id mtUserId
+ mu.id mtUserId,
+ mub.grade_id
+
from mt_user_balance mub
- left join mt_user mu on mub.mt_user_id = mu.id
+ left join mt_user mu on mub.mt_user_id = mu.id
+ mub.user_status = 0 and
mub.store_id in
#{item}
@@ -58,8 +61,13 @@
count(*) sumnum,
sum(mub.card_balance) balanceSum
from mt_user_balance mub
- left join mt_user mu on mub.mt_user_id = mu.id
-
+ left join mt_user mu on mub.mt_user_id = mu.id
+ where
+ mub.user_status = 0 and
+ mub.store_id in
+
+ #{item}
+
select
diff --git a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/UserBalanceServiceImpl.java b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/UserBalanceServiceImpl.java
index d0ece41fa..68b0a4a85 100644
--- a/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/UserBalanceServiceImpl.java
+++ b/fuintBackend/fuint-application/src/main/java/com/fuint/business/userManager/service/impl/UserBalanceServiceImpl.java
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.generator.config.IFileCreate;
import com.fuint.business.marketingActivity.cardFavorable.entity.CardFavorableRecord;
import com.fuint.business.marketingActivity.cardFavorable.mapper.CardFavorableRecordMapper;
import com.fuint.business.marketingActivity.cardGift.entity.CardGift;
@@ -97,16 +98,17 @@ public class UserBalanceServiceImpl extends ServiceImpl strings = sysDeptMapper.selectChildByDeptIdR(user.getDeptId());
+// 根据部门id 查询 店铺id
List longs = mtStoreMapper.queryStoresByDeptIdsR(strings);
user.setStoreIds(longs);
IPage userBalanceVoIPage = userBalanceMapper.listByZt(page, user);
for (UserBalanceVo record : userBalanceVoIPage.getRecords()) {
+// 店铺名称
LJStore ljStore = storeService.selectStoreByIdUni(record.getStoreId());
if (ObjectUtil.isNotEmpty(ljStore)) {
record.setStoreName(ljStore.getName());
-
}
// 会员等级
LJUserGrade ljUserGrade = ljUserGradeMapper.selectById(record.getGradeId());
@@ -115,34 +117,23 @@ public class UserBalanceServiceImpl extends ServiceImpl amountAndConsume = cardValueRecordMapper.getAmountAndConsume(record);
- if (ObjectUtil.isNotEmpty(amountAndConsume)) {
- record.setCountNum(amountAndConsume.get("consumeNum").toString()); // 累计重置次数
- record.setAmount(ObjectUtil.isNotEmpty(amountAndConsume.get("amount")) ? amountAndConsume.get("amount").toString() : "0");
- }
-
-
Map leiJiInfo = allOrderInfoMapper.getLeiJiInfo(record);
if (ObjectUtil.isNotEmpty(leiJiInfo)) {
-// log.info("累计消费信息:"+JSON.toJSONString(leiJiInfo));
- if (ObjectUtil.isNotEmpty(leiJiInfo.get("leijiMoneyRef"))) {
- record.setLeijiMoney(leiJiInfo.get("leijiMoney").toString());// 累计消费金额
- }
- if (ObjectUtil.isNotEmpty(leiJiInfo.get("leijiMoneyRef"))) {
- record.setLeijiNum(leiJiInfo.get("leijiNum").toString()); // 累计消费次数
- }
- if (ObjectUtil.isNotEmpty(leiJiInfo.get("leijiMoneyRef"))) {
- record.setLeijiMoneyRef(leiJiInfo.get("leijiMoneyRef").toString()); // 累计退款余额
- }
- if (ObjectUtil.isNotEmpty(leiJiInfo.get("leijiNumRef"))) {
- record.setLeijiNumRef(leiJiInfo.get("leijiNum").toString()); // 累计退款笔数
- }
+// public String leijiMoney; 消费总金额
+// public String leijiNum; 消费次数
+// amount 累计充值金额
+// CountNum 次数
+// public String leijiMoneyRef; 退款总金额
+// public String leijiNumRef; 退款次数
+ record.setLeijiMoney(leiJiInfo.get("s1").toString());
+ record.setLeijiNum(leiJiInfo.get("s1c").toString());
+ record.setAmount(leiJiInfo.get("s2").toString());
+ record.setCountNum(leiJiInfo.get("s2c").toString());
+ record.setLeijiMoneyRef(leiJiInfo.get("s3").toString());
+ record.setLeijiNumRef(leiJiInfo.get("s3c").toString());
+
}
- // 电子礼品卡余额
-
-
}
return userBalanceVoIPage;
}
@@ -152,13 +143,18 @@ public class UserBalanceServiceImpl extends ServiceImpl strings = sysDeptMapper.selectChildByDeptIdR(user.getDeptId());
+// 查询所有店铺id
List longs = mtStoreMapper.queryStoresByDeptIdsR(strings);
user.setStoreIds(longs);
-
+// 会员总数 sumnum 累计储值卡余额 balanceSum
Map dataByZt = userBalanceMapper.getDataByZt(user);
+// 累计总消费金额 累计总充值金额 注: 店铺统计的时候 要把注销的会员去掉
Map leiJiInfo = allOrderInfoMapper.getShuJuVipInfo(user);
+// 累计礼品卡余额
+ String cardGift = allOrderInfoMapper.getCardGift(user);
+
if (ObjectUtil.isEmpty(dataByZt)) {
dataByZt = new HashMap<>();
}
@@ -168,8 +164,9 @@ public class UserBalanceServiceImpl extends ServiceImpl