From e53fcbe9fe844b7788b29c5106c1ac24d17c5535 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sat, 08 May 2021 22:40:19 +0800
Subject: [PATCH] Merge branch 'score_shop' into api_score_meger

---
 zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml |  294 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 241 insertions(+), 53 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 0a9189e..9724622 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -35,6 +35,10 @@
         <result property="disease" column="disease"/>
         <result property="zjm" column="zjm"/>
         <result property="companyId" column="company_id"/>
+        <result property="province" column="province"/>
+        <result property="city" column="city"/>
+        <result property="area" column="area"/>
+        <result property="recommendId" column="recommend_id"/>
 
         <result property="statu" column="statu"/>
         <result property="birthdayType" column="birthdayType"/>
@@ -48,6 +52,15 @@
         <result property="isDeal" column="is_deal"/>
         <result property="createDistributionTime" column="create_distribution_time"/>
 
+        <result property="isSales" column="is_sales" />
+        <result property="withdrawalCash" column="withdrawal_cash" />
+        <result property="salesmanGrade" column="salesman_grade" />
+        <result property="nickName" column="nick_name" />
+        <result property="avatarUrl" column="avatar_url" />
+        <result property="gender" column="gender" />
+        <result property="country" column="country" />
+        <result property="sessionKey" column="session_key" />
+        <result property="userIsAuthorize" column="user_is_authorize" />
 
         <!-- 扩展属性 -->
         <result property="staffName" column="STAFF_NAME"/>
@@ -101,9 +114,24 @@
         <result property="createDistributionTime" column="create_distribution_time"/>
         <result property="disease" column="disease"/>
         <result property="companyId" column="company_id"/>
+
+        <result property="isSales" column="is_sales" />
+        <result property="withdrawalCash" column="withdrawal_cash" />
+        <result property="salesmanGrade" column="salesman_grade" />
+        <result property="nickName" column="nick_name" />
+        <result property="avatarUrl" column="avatar_url" />
+        <result property="gender" column="gender" />
+        <result property="country" column="country" />
+        <result property="sessionKey" column="session_key" />
+        <result property="userIsAuthorize" column="user_is_authorize" />
+
         <!-- 扩展属性 -->
         <result property="staffName" column="STAFF_NAME"/>
         <result property="shopName" column="SHOP_NAME"/>
+        <association property="vipLevel" javaType="com.matrix.system.hive.bean.SysVipLevel" >
+            <result property="levelName" column="levelName"/>
+            <result property="vipLevel" column="vipLevel"/>
+        </association>
     </resultMap>
 
     <!-- 查询几天内过生日的会员 -->
@@ -274,7 +302,20 @@
         disease,
         is_deal,
         zjm,
-        company_id
+        company_id,
+        province,
+        city,
+        area,
+        recommend_id,
+        is_sales,
+        withdrawal_cash,
+        salesman_grade,
+        nick_name,
+        avatar_url,
+        gender,
+        country,
+        session_key,
+        user_is_authorize
         )
 
 
@@ -318,7 +359,20 @@
         #{disease},
         #{isDeal},
         #{zjm},
-        #{companyId}
+        #{companyId},
+        #{province},
+        #{city},
+        #{area},
+        #{recommendId},
+        #{isSales},
+        #{withdrawalCash},
+        #{salesmanGrade},
+        #{nickName},
+        #{avatarUrl},
+        #{gender},
+        #{country},
+        #{sessionKey},
+        #{userIsAuthorize}
         )
 
     </insert>
@@ -445,6 +499,46 @@
             <if test="isDeal != null  ">
                 is_deal = #{isDeal},
             </if>
+            <if test="recommendId != null  ">
+                recommend_id = #{recommendId},
+            </if>
+            <if test="province != null and province !=''  ">
+                province = #{province},
+            </if>
+            <if test="city != null and city !=''  ">
+                city = #{city},
+            </if>
+            <if test="area != null and area !=''  ">
+                area = #{area},
+            </if>
+            <if test="isSales != null ">
+                is_sales  = #{isSales},
+            </if>
+            <if test="withdrawalCash != null ">
+                withdrawal_cash  = #{withdrawalCash},
+            </if>
+            <if test="salesmanGrade != null ">
+                salesman_grade  = #{salesmanGrade},
+            </if>
+
+            <if test="gender != null and gender != '' ">
+                gender  = #{gender},
+            </if>
+            <if test="country != null and country != '' ">
+                country  = #{country},
+            </if>
+            <if test="sessionKey != null and sessionKey != '' ">
+                session_key  = #{sessionKey},
+            </if>
+            <if test="userIsAuthorize != null ">
+                user_is_authorize  = #{userIsAuthorize},
+            </if>
+            <if test="nickName != null and nickName != '' ">
+                nick_name  = #{nickName},
+            </if>
+            <if test="avatarUrl != null and avatarUrl != '' ">
+                avatar_url  = #{avatarUrl},
+            </if>
 
 
         </set>
@@ -454,6 +548,10 @@
     <update id="pointClose">
 		UPDATE sys_vip_info set POINT_ALL = 0
 	</update>
+
+    <update id="unbundlingSaleMan">
+        UPDATE sys_vip_info set recommend_id = NULL where id=#{userId};
+    </update>
 
     <!-- 批量删除 -->
     <delete id="deleteByIds" parameterType="java.util.List">
@@ -508,6 +606,11 @@
         <include refid="select"></include>
         <include refid="from"></include>
         where a.ID=#{id}
+    </select>
+
+    <select id="findByOpenId" resultMap="SysVipInfoMap">
+        select *
+        from sys_vip_info where openid=#{openId}
     </select>
 
     <!-- 根据手机和密码查询 -->
@@ -612,14 +715,11 @@
 		COMMISSION_ALL,IN_DATE,STAFF_ID,SHOP_ID,IS_DELETE,REMARK,PASSWORD,
 		EMAIL,CREATE_TIME,UUID,BALANCE,blood,sfCard,link,marry,vocation 
 	     from sys_vip_info 
-	     where
-	     SHOP_ID=#{shopId}
-	    and  (
-	    instr(PHONE,#{keyWord})
+	     where company_id=#{companyId}
+	   and (instr(PHONE,#{keyWord})
 	      or instr(VIP_NAME ,#{keyWord})
 	      or instr(zjm ,#{keyWord})
-	        or instr(VIP_NO ,#{keyWord})
-	    )
+	        or instr(VIP_NO ,#{keyWord}))
 	      limit 0,15
 	</select>
 
@@ -644,7 +744,7 @@
         and
         (a.VIP_NO =#{key} or
         a.VIP_NAME =#{key} or
-        a.PHONE =#{key}) and a.shop_id=#{shopId}
+        a.PHONE =#{key})
     </select>
 
     <select id="getLevelIdByMoney" resultMap="SysVipInfoMap">
@@ -786,6 +886,28 @@
             <if test="(record.companyId!=null and record.companyId!='') ">
                 and a.company_id = #{record.companyId}
             </if>
+
+            <if test="(record.nickName!=null and record.nickName!='') or  (record.nickName!='' and record.nickName==0)  ">
+                and a.nick_name  like concat('%',#{record.nickName},'%')
+            </if>
+            <if test="(record.avatarUrl!=null and record.avatarUrl!='') or  (record.avatarUrl!='' and record.avatarUrl==0)  ">
+                and a.avatar_url  = #{record.avatarUrl}
+            </if>
+            <if test="record.isSales != null and record.isSales !='' ">
+                and a.is_sales = #{record.isSales}
+            </if>
+
+            <if test="record.withdrawalCash != null and record.withdrawalCash !='' ">
+                and a.withdrawal_cash = #{record.withdrawalCash}
+            </if>
+
+            <if test="record.salesmanGrade != null and record.salesmanGrade !='' ">
+                and a.salesman_grade = #{record.salesmanGrade}
+            </if>
+            <if test="(record.userIsAuthorize!=null and record.userIsAuthorize!='') or  (record.userIsAuthorize!='' and record.userIsAuthorize==0)  ">
+                and a.user_is_authorize  = #{record.userIsAuthorize}
+            </if>
+
         </if>
     </sql>
 
@@ -891,58 +1013,42 @@
             <if test="record.isDeal != null and record.isDeal !='' ">
                 and a.is_deal = #{record.isDeal}
             </if>
+            <if test="(record.nickName!=null and record.nickName!='') or  (record.nickName!='' and record.nickName==0)  ">
+                and a.nick_name  like concat('%',#{record.nickName},'%')
+            </if>
+            <if test="(record.avatarUrl!=null and record.avatarUrl!='') or  (record.avatarUrl!='' and record.avatarUrl==0)  ">
+                and a.avatar_url  = #{record.avatarUrl}
+            </if>
+            <if test="record.isSales != null and record.isSales !='' ">
+                and a.is_sales = #{record.isSales}
+            </if>
+
+            <if test="record.withdrawalCash != null and record.withdrawalCash !='' ">
+                and a.withdrawal_cash = #{record.withdrawalCash}
+            </if>
+
+            <if test="record.salesmanGrade != null and record.salesmanGrade !='' ">
+                and a.salesman_grade = #{record.salesmanGrade}
+            </if>
+            <if test="(record.userIsAuthorize!=null and record.userIsAuthorize!='') or  (record.userIsAuthorize!='' and record.userIsAuthorize==0)  ">
+                and a.user_is_authorize  = #{record.userIsAuthorize}
+            </if>
         </if>
     </sql>
 
     <sql id="select">
 		select
-	 	a.ID,
-		a.VIP_NO,
-		a.VIP_NAME,
-		a.PHONE,
-		a.SEX,
-		a.BIRTHDAY1,
-		a.photo,
-		a.ADDR,
-		a.CONSTELL,
-		a.ANIMAL_SIGN,
-		a.ARRIVAL_WAY,
-		a.VIP_TYPE,
-		a.VIP_STATE,
-		a.POINT_ALL,
-		a.COMMISSION_ALL,
-		a.IN_DATE,
-		a.REMARK,
-		a.SHOP_ID,
-		a.IS_DELETE,
-		a.EMAIL,
-		a.STAFF_ID,
-		a.CREATE_TIME,
-		a.LEVEL_ID,
-		a.UUID,
-		a.BALANCE,
-		a.BEATUY_ID,
-		a.PASSWORD,
+	 	a.*,
 		c.su_name as STAFF_NAME,
 		d.SHOP_NAME,
-		a.blood,
-		a.sfCard,
-		a.link,
-		a.marry,
-		a.vocation,
-		a.handle_time,
-		a.statu,
-		a.openid,
-		a.parent_id,
-		a.create_distribution_time,
-		a.birthdayType,
-		a.disease,
-		a.is_deal
+		e.level_name levelName,
+		e.vip_level vipLevel
 	</sql>
     <sql id="from">
 		from sys_vip_info a
 		left join sys_users c on c.su_id =a.STAFF_ID
 		left join sys_shop_info d ON d.ID=a.SHOP_ID
+		left join sys_vip_level e on a.level_id=e.id
 	   
 	</sql>
 
@@ -1101,7 +1207,7 @@
 
     <select id="selectByPhone" resultMap="SysVipInfoMapSimple">
 
-		select * from sys_vip_info where  PHONE = #{phone}
+		select * from sys_vip_info where  PHONE = #{phone} and company_id=#{companyId}
 	</select>
 
 
@@ -1171,7 +1277,22 @@
         create_distribution_time,
         birthdayType,
         disease,
-        is_deal
+        is_deal,
+        zjm,
+        company_id,
+        province,
+        city,
+        area,
+        recommend_id,
+        is_sales,
+        withdrawal_cash,
+        salesman_grade,
+        nick_name,
+        avatar_url,
+        gender,
+        country,
+        session_key,
+        user_is_authorize
         )
         VALUES
         <foreach collection="list" item="item" index="index" separator=",">(
@@ -1212,7 +1333,22 @@
             #{item.createDistributionTime},
             #{item.birthdayType},
             #{item.disease},
-            #{item.isDeal}
+            #{item.isDeal},
+            #{zjm},
+            #{companyId},
+            #{province},
+            #{city},
+            #{area},
+            #{recommendId},
+            #{isSales},
+            #{withdrawalCash},
+            #{salesmanGrade},
+            #{nickName},
+            #{avatarUrl},
+            #{gender},
+            #{country},
+            #{sessionKey},
+            #{userIsAuthorize}
             )</foreach>
     </insert>
 
@@ -1226,7 +1362,9 @@
                a.VIP_NAME vipName,
                a.PHONE phone,
                a.photo photo,
-               b.arriveCnt arriveCnt
+               b.arriveCnt arriveCnt,
+               g.shop_short_name shopName,
+               z.level_name vipLevel
         from sys_vip_info a
         left join (
             select x.vip_id, count(1) arriveCnt from (
@@ -1244,6 +1382,7 @@
                                                  group by date_format(datatime, '%Y-%m-%d'), vip_id
                                              ) x group by x.vip_id
             ) b on a.ID=b.vip_id
+        left join sys_vip_level z on a.level_id=z.id
         <!-- 本月消费 -->
         <if test="record.sort == 'used'">
             left join (
@@ -1268,6 +1407,8 @@
             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})
@@ -1278,6 +1419,24 @@
         <if test="record.shopId != null">
             and a.shop_id=#{record.shopId}
         </if>
+        <if test="record.companyId != null">
+            and a.company_id=#{record.companyId}
+        </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}
@@ -1285,6 +1444,35 @@
         <if test="record.sort != 'monthArrived' and record.sort != 'yearArrived'">
             order by ${record.sort} ${record.order}
         </if>
+        <if test="record.offset >=0  and record.limit >0">
+            limit #{record.offset},#{record.limit}
+        </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,
+               (select sum(IFNULL(d.goods_cash, 0) + IFNULL(d.proj_cash, 0) + IFNULL(d.card_cash, 0)) from achieve_new d where d.vip_id=a.id) 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 sys_shop_info e on a.SHOP_ID=e.ID
+        where a.ID=#{id}
+    </select>
+
+
+
+
+
+
 </mapper>
 	

--
Gitblit v1.9.1