| | |
| | | <result property="meiliao" column="meiliao" /> |
| | | <result property="zkTotal" column="zk_total" /> |
| | | |
| | | <result property="arriveCnt" column="arrive_cnt" /> |
| | | |
| | | |
| | | |
| | | </resultMap> |
| | |
| | | where 1=1 |
| | | <include refid="where_sql"></include> |
| | | </select> |
| | | |
| | | |
| | | <select id="selectVipConsumeStatisticsList" resultMap="AchieveNewMap"> |
| | | select |
| | | a.VIP_NAME, |
| | | a.PHONE t9, |
| | | GROUP_CONCAT(DISTINCT e.su_name) meiliao, |
| | | d.cnt arrive_cnt, |
| | | sum(b.buyConsume) goods_cash, |
| | | sum(b.freeConsume) free_consume, |
| | | sum(b.hisConsume) his_consume |
| | | from sys_vip_info a |
| | | inner join ( |
| | | select vip_id,datatime, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_cash, 0) + IFNULL(card_cash, 0)) buyConsume from achieve_new a group by vip_id |
| | | ) b on a.ID = b.vip_id |
| | | inner join ( |
| | | select vip_id, count(1) cnt from ( |
| | | select vip_id, date_format(datatime, '%Y-%m-%d') |
| | | from achieve_new |
| | | group by date_format(datatime, '%Y-%m-%d'), vip_id |
| | | ) c group by vip_id |
| | | ) d on a.ID=d.vip_id |
| | | |
| | | left join sys_users e on find_in_set(e.su_id, a.BEATUY_ID) |
| | | where 1=1 |
| | | <if test="record.vipName != null and record.vipName !=''"> |
| | | and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName} or a.phone = #{record.vipName}) |
| | | </if> |
| | | <if test="record.shopId != null"> |
| | | and a.shop_id=#{record.shopId} |
| | | </if> |
| | | <if test="record.beginTime != null and record.endTime!=null"> |
| | | and date_format(b.datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime} |
| | | </if> |
| | | |
| | | <if test="record.beaultId != null and record.beaultId!=''"> |
| | | and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID) |
| | | </if> |
| | | group by a.PHONE |
| | | <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> |
| | | <if test="pageVo.sort !=null and pageVo.order !=null"> |
| | | order by |
| | | ${pageVo.sort} ${pageVo.order} |
| | | </if> |
| | | <if test="pageVo.offset >=0 and pageVo.limit >0"> |
| | | limit |
| | | #{pageVo.offset},#{pageVo.limit} |
| | | </if> |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectVipConsumeStatisticsTotal" resultType="java.lang.Integer"> |
| | | select count(1) |
| | | from sys_vip_info a |
| | | inner join ( |
| | | select vip_id,datatime, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_cash, 0) + IFNULL(card_cash, 0)) buyConsume from achieve_new a group by vip_id |
| | | ) b on a.ID = b.vip_id |
| | | inner join ( |
| | | select vip_id, count(1) cnt from ( |
| | | select vip_id, date_format(datatime, '%Y-%m-%d') |
| | | from achieve_new |
| | | group by date_format(datatime, '%Y-%m-%d'), vip_id |
| | | ) c group by vip_id |
| | | ) d on a.ID=d.vip_id |
| | | |
| | | left join sys_users e on find_in_set(e.su_id, a.BEATUY_ID) |
| | | where 1=1 |
| | | <if test="record.vipName != null and record.vipName !=''"> |
| | | and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName} or a.phone = #{record.vipName}) |
| | | </if> |
| | | <if test="record.shopId != null"> |
| | | and a.shop_id=#{record.shopId} |
| | | </if> |
| | | <if test="record.beginTime != null and record.endTime!=null"> |
| | | and date_format(b.datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime} |
| | | </if> |
| | | |
| | | <if test="record.beaultId != null and record.beaultId!=''"> |
| | | and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID) |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="selectUserAchieveByTime" resultType="com.matrix.system.app.vo.UserAchieveVo"> |
| | | select |
| | | sum(IFNULL(proj_cash,0) + IFNULL(goods_cash,0) + IFNULL(card_cash,0)) allCash, |
| | | sum(card_cash) card, |
| | | sum(proj_cash) project, |
| | | sum(goods_cash) product, |
| | | sum(consume) cardUse, |
| | | sum(proj_percentage) projCommission |
| | | from achieve_new |
| | | where sale_id=#{userId} |
| | | and (date_format(datatime, "%Y-%m-%d") >= #{startTime} or #{endTime} >= date_format(datatime, "%Y-%m-%d")) |
| | | </select> |
| | | </mapper> |