From 81f7b163d6d70ad3e154ca012b76be7027b9514f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 22 Dec 2020 15:41:16 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 106 insertions(+), 0 deletions(-)
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
index da5030c..538d594 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -1219,5 +1219,111 @@
<select id="selectVipInfoByVipNo" resultMap="SysVipInfoMapSimple">
select * from sys_vip_info where company_id=#{companyId} and vip_no=#{vipNo}
</select>
+
+ <select id="selectVipAddressBookByList" resultType="com.matrix.system.app.vo.VipInfoListVo">
+ select
+ a.ID id,
+ a.VIP_NAME vipName,
+ a.PHONE phone,
+ a.photo photo,
+ b.arriveCnt arriveCnt,
+ g.shop_short_name shopName
+ from sys_vip_info a
+ left join (
+ select x.vip_id, count(1) arriveCnt from (
+ select vip_id, date_format(datatime, '%Y-%m-%d')
+ from achieve_new
+ where 1=1
+ <!-- 本月到店次数 -->
+ <if test="record.sort == 'monthArrived'">
+ and date_format(curdate(), '%Y-%m') = date_format(datatime, '%Y-%m')
+ </if>
+ <!-- 本年到店次数 -->
+ <if test="record.sort == 'yearArrived'">
+ and date_format(curdate(), '%Y') = date_format(datatime, '%Y')
+ </if>
+ group by date_format(datatime, '%Y-%m-%d'), vip_id
+ ) x group by x.vip_id
+ ) b on a.ID=b.vip_id
+ <!-- 本月消费 -->
+ <if test="record.sort == 'used'">
+ left join (
+ select y.vip_id, sum(IFNULL(card_cash, 0) + IFNULL(proj_cash,0) + IFNULL(goods_cash, 0)) used from achieve_new y where date_format(datatime,'%Y-%m') = date_format(curdate(), '%Y-%m') group by y.vip_id
+ ) c on a.id=c.vip_id
+ </if>
+ <!-- 本月消耗 -->
+ <if test="record.sort == 'consume'">
+ left join (
+ select z.vip_id, SUM(IFNULL(free_consume, 0) + IFNULL(his_consume, 0) + IFNULL(consume, 0)) consume from achieve_new z where date_format(datatime,'%Y-%m') = date_format(curdate(), '%Y-%m') group by z.vip_id
+ ) d on a.ID = d.vip_id
+ </if>
+ <!-- 上次到店时间 -->
+ <if test="record.sort == 'arriveTime'">
+ left join (
+ select m.vip_id, MAX(datatime) arriveTime from achieve_new m group by m.vip_id
+ ) e on a.ID=e.vip_id
+ </if>
+ <!-- 会员级别排序 -->
+ <if test="record.sort == 'vipLevel'">
+ left join (
+ select n.VIP_LEVEL vipLevel, n.ID from sys_vip_level n
+ ) f on a.LEVEL_ID = f.ID
+ </if>
+ left join sys_shop_info g on a.shop_id = g.id
+ left join sys_vip_level h on a.level_id=h.id
+ where 1=1
+ <if test="record.queryKey != null and record.queryKey != ''">
+ and (instr(PHONE,#{record.queryKey})
+ or instr(VIP_NAME ,#{record.queryKey})
+ or instr(zjm ,#{record.queryKey})
+ or instr(VIP_NO ,#{record.queryKey}))
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ <if test='record.birthType=="1"'>
+ and a.BIRTHDAY1 between curdate() and DATE_ADD(CURDATE(), INTERVAL 3 DAY)
+ </if>
+ <if test='record.birthType=="2"'>
+ and date_format(a.BIRTHDAY1, '%Y-%m') = date_format(CURDATE(), '%Y-%m')
+ </if>
+ <if test='record.birthType=="3"'>
+ and PERIOD_DIFF(date_format(now() ,'%Y-%m') , date_format(a.BIRTHDAY1, '%Y-%m')) =1
+ </if>
+ <if test="record.vipType != null">
+ and a.level_id=#{record.vipType}
+ </if>
+ <if test="record.other != null and record.other!=''">
+ and a.is_deal=#{record.other}
+ </if>
+
+ <if test="record.sort == 'monthArrived' or record.sort == 'yearArrived'">
+ order by arriveCnt ${record.order}
+ </if>
+ <if test="record.sort != 'monthArrived' and record.sort != 'yearArrived'">
+ order by ${record.sort} ${record.order}
+ </if>
+ </select>
+
+ <select id="selectVipInfoById" resultType="com.matrix.system.app.vo.VipInfoVo">
+ select
+ a.ID id,
+ a.photo photo,
+ a.PHONE phone,
+ a.VIP_NAME vipName,
+ a.VIP_NO vipNo,
+ c.LEVEL_NAME vipLevel,
+ a.POINT_ALL integral,
+ e.shop_short_name shopName,
+ sum(IFNULL(b.gift_money, 0) + IFNULL(b.real_money, 0)) totalBalance,
+ sum(IFNULL(b.gift_money, 0)) giftBalance,
+ sum(IFNULL(d.goods_cash, 0) + IFNULL(d.proj_cash, 0) + IFNULL(d.card_cash, 0)) totalShopping
+ from sys_vip_info a
+ left join money_card_use b on a.ID = b.vip_id and b.status='有效'
+ left join sys_vip_level c on a.LEVEL_ID = c.ID
+ left join achieve_new d on a.ID = d.vip_id
+ left join sys_shop_info e on a.SHOP_ID=e.ID
+ where a.ID=#{id}
+ </select>
</mapper>
--
Gitblit v1.9.1