From 1bf57dbbb7025facb8a3e3c2074e82af6f13b24f Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 28 Apr 2022 15:13:59 +0800 Subject: [PATCH] fix --- src/main/resources/mapper/modules/MallMemberMapper.xml | 306 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 302 insertions(+), 4 deletions(-) diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index 3d724fb..960799d 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/src/main/resources/mapper/modules/MallMemberMapper.xml @@ -3,14 +3,21 @@ <mapper namespace="cc.mrbird.febs.mall.mapper.MallMemberMapper"> <select id="selectMallMemberListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember"> - SELECT * FROM mall_member m + SELECT m.*,a.name referrerName,IFNULL(c.balance,0) balance FROM mall_member m + left join mall_member a on m.referrer_id = a.invite_id + LEFT JOIN mall_member_wallet c on c.member_id = m.id <where> <if test="record != null" > <if test="record.name!=null and record.name!=''"> - and (m.name like concat('%', #{record.name},'%') + and m.name like concat('%', #{record.name},'%') </if> - <if test="record.phone!=null and record.phone!=''"> - and (m.phone like concat('%', #{record.phone},'%') or m.email like concat('%', #{record.phone},'%')) + <if test="record.account!=null and record.account!=''"> + and ( + m.phone like concat('%', #{record.account},'%') + or m.email like concat('%', #{record.account},'%') + or m.bind_phone like concat('%', #{record.account},'%') + or m.invite_id like concat('%', #{record.account},'%') + ) </if> <if test="record.accountStatus!=null"> and m.account_status = #{record.accountStatus} @@ -23,4 +30,295 @@ order by m.CREATED_TIME desc </select> + <select id="getMallMemberInfoById" resultType="cc.mrbird.febs.mall.vo.MallMemberVo"> + SELECT a.id, + a.name, + a.phone, + a.email, + a.sex, + a.invite_id, + a.level, + a.account_status, + a.CREATED_TIME, + IFNULL(c.balance,0) balance, + d.description levelName, + b.name + FROM mall_member a + LEFT JOIN mall_member b on a.referrer_id = b.invite_id + LEFT JOIN mall_member_wallet c on c.member_id = a.id + LEFT JOIN data_dictionary_custom d on d.code = a.level + where a.id = #{id} + GROUP BY a.id + </select> + + <select id="selectInfoByAccount" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member where phone=#{account} or email=#{account} or invite_id=#{account} + </select> + + <select id="selectInfoByInviteId" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member where invite_id=#{inviteId} + </select> + + <select id="selectInfoByAccountAndPwd" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member where (phone=#{account} or email=#{account}) and password=#{password} + </select> + + <select id="selectTeamListByInviteId" resultType="cc.mrbird.febs.mall.vo.TeamListVo"> + select + a.id, + a.name, + a.phone, + a.invite_id, + 2 isCurrent, + a.created_time, + (select sum(b.amount) from mall_member e + inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4) + where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) amount, + (select count(1) from mall_member e + inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4) + where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) orderCnt, + (select count(1) from mall_member x where x.referrer_id=a.invite_id) cnt + from mall_member a + where a.referrer_id=#{inviteId} + </select> + + <select id="selectOwnOrderAmountByInviteId" resultType="java.math.BigDecimal"> + select + IFNULL(sum(b.amount),0) + from mall_member e + inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4) + where e.invite_id=#{inviteId} or e.referrer_id=#{inviteId} + </select> + + <select id="selectOwnCntByInviteId" resultType="java.lang.Integer"> + select IFNULL(count(1),0) from mall_member x where x.referrer_id=#{inviteId} + </select> + + <select id="selectOwnOrderCntByInviteId" resultType="java.lang.Integer"> + select + IFNULL(count(1),0) + from mall_member e + inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4) + where e.invite_id=#{inviteId} or e.referrer_id=#{inviteId} + </select> + + <select id="selectByRefererId" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member + where referrer_id=#{inviteId} + </select> + + <select id="selectChildAgentList" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member + where (find_in_set(#{inviteId}, referrer_ids) or invite_id=#{inviteId}) and level=#{agentLevel} + </select> + + <select id="selectByInviteIds" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member + where invite_id IN + <foreach collection = "list" item = "item" separator="," open = "(" close = ")" > + #{item} + </foreach > + order by id desc + </select> + + <select id="getAgentListInPage" resultType="cc.mrbird.febs.mall.vo.AdminAgentVo"> + + SELECT m.*,a.description levelName, + ifnull(( + SELECT + sum(b.amount) + FROM + mall_member e + INNER JOIN mall_order_info b ON e.id = b.member_id + AND b. STATUS = 4 + WHERE + e.invite_id = m.invite_id + OR e.referrer_id = m.invite_id + or find_in_set(m.invite_id, e.referrer_ids) + ),0) amount + FROM mall_member m + left join data_dictionary_custom a on a.code = m.level + <where> + <if test="record != null" > + <if test="record.name!=null and record.name!=''"> + and m.name like concat('%', #{record.name},'%') + </if> + <if test="record.level!=null and record.level!=''"> + and m.level = #{record.level} + </if> + <if test="record.account!=null and record.account!=''"> + and m.phone like concat('%', #{record.account},'%') + </if> + </if> + </where> + group by m.id + order by m.CREATED_TIME desc + </select> + + <select id="selectChildAgentListByInviteId" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member where referrer_id = #{inviteId} + </select> + + <select id="selectAllChildAgentListByInviteId" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member where find_in_set(#{inviteId}, referrer_ids) + </select> + + <select id="selectMemberParentAgentList" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member + where level not in ('ZERO_LEVEL', 'FIRST_LEVEL') and invite_id!=#{refererId} and invite_id IN + <foreach collection = "list" item = "item" separator="," open = "(" close = ")" > + #{item} + </foreach > + order by id desc + </select> + + <select id="getAgentLevelListInPage" resultType="cc.mrbird.febs.mall.vo.AdminAgentLevelVo"> + SELECT + a.id,b.description name + FROM + data_dictionary_custom a + left JOIN data_dictionary_custom b on a.code = b.code + where a.type = 'AGENT_LEVEL_REQUIRE' + GROUP BY a.id + ORDER BY + a.CREATED_TIME DESC + </select> + + <select id="getAgentChildInPage" resultType="cc.mrbird.febs.mall.vo.AdminAgentMemberVo"> + select m.*,a.description levelName from mall_member m + left join data_dictionary_custom a on a.code = m.level + where find_in_set(#{record.inviteId}, m.referrer_ids) + GROUP BY m.id + ORDER BY + m.CREATED_TIME DESC + </select> + + <select id="getRankAwardListInPage" resultType="cc.mrbird.febs.mall.vo.AdminRankAwardVo"> + select a.* from data_dictionary_custom a where a.type = 'RANK_AWARD' or a.type = 'RANK_AWARD_SETTING' + </select> + + + <select id="getAgentTeamAmountByInviteId" resultType="java.math.BigDecimal"> + SELECT + ifnull(sum(b.amount),0) + FROM + mall_member e + INNER JOIN mall_order_info b ON e.id = b.member_id + AND b. STATUS = 4 + WHERE + e.invite_id = #{inviteId} + OR e.referrer_id = #{inviteId} + or find_in_set(#{inviteId}, e.referrer_ids) + </select> + + <select id="getAppVersionListInPage" resultType="cc.mrbird.febs.mall.entity.AppVersion"> + select a.* from app_version a + </select> + + <select id="selectByIdAndNoLevel" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from mall_member where referrer_id=#{refererId} and level != #{level} + </select> + + <select id="selectMallMemberByInviteIdAndLevel" resultType="cc.mrbird.febs.mall.entity.MallMember"> + SELECT + m.*, b. + VALUE + + FROM + mall_member m + LEFT JOIN data_dictionary_custom b ON m. LEVEL = b. CODE + WHERE + find_in_set(#{inviteId}, m.referrer_ids) + AND b.type = 'AGENT_LEVEL' + AND b.VALUE > ( + SELECT + VALUE + FROM + data_dictionary_custom a + WHERE + a. CODE = #{level} + AND a.type = 'AGENT_LEVEL' + ) + GROUP BY + m.id + </select> + + + + <select id="getAgentLevelSetInfoByMemberId" resultType="cc.mrbird.febs.mall.vo.AdminAgentLevelSetInfoVo"> + SELECT a.id,d.code levelCode + FROM mall_member a + LEFT JOIN data_dictionary_custom d on d.code = a.level + where a.id = #{id} and d.type = 'AGENT_LEVEL' + GROUP BY a.id + </select> + + <select id="getMallDataListInPage" resultType="cc.mrbird.febs.mall.vo.MallDataVo"> + SELECT + DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') createdTime, + IFNULL(t1.tol, 0) *- 1 AS payMoney, + IFNULL(t2.to2, 0) AS refundMoney, + IFNULL(t3.to3, 0) *- 1 AS rewordMoney, + ( + (IFNULL(t1.tol, 0)*- 1) - (IFNULL(t2.to2, 0)) + (IFNULL(t3.to3, 0)*- 1) + ) AS surplusMoney + FROM + mall_money_flow a + LEFT JOIN ( + SELECT + b.CREATED_TIME, + IFNULL(SUM(b.amount), 0) AS tol + FROM + mall_money_flow b + WHERE + b.type = 3 + GROUP BY + DATE_FORMAT(b.CREATED_TIME, '%Y-%m-%d') + ) t1 ON DATE_FORMAT(t1.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') + LEFT JOIN ( + SELECT + c.CREATED_TIME, + IFNULL(SUM(c.amount), 0) AS to2 + FROM + mall_money_flow c + WHERE + c.type = 4 + GROUP BY + DATE_FORMAT(c.CREATED_TIME, '%Y-%m-%d') + ) t2 ON DATE_FORMAT(t2.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') + LEFT JOIN ( + SELECT + d.CREATED_TIME, + IFNULL(SUM(d.amount), 0) AS to3 + FROM + mall_money_flow d + WHERE + d.type IN (1, 2) + GROUP BY + DATE_FORMAT(d.CREATED_TIME, '%Y-%m-%d') + ) t3 ON DATE_FORMAT(t3.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') + GROUP BY + DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') + ORDER BY + DATE_FORMAT(a.CREATED_TIME, '%Y-%m-%d') DESC + </select> + + <select id="selectRankListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember"> + select * from ( + select a.id, a.name, a.invite_id, a.avatar, sum(b.amount) amount,max(order_time) orderTime from mall_member a, mall_order_info b + where a.id=b.member_id and b.status = 4 + <!-- 日 --> + <if test="record.query == '1'"> + + </if> + <!-- 月 --> + <if test="record.query == '2'"> + and date_format(#{record.createdTime},'%Y-%m') = date_format(b.order_time,'%Y-%m') + </if> + <if test="record.amount != null"> + and amount = #{record.amount} + </if> + group by a.id + ) a order by amount desc, a.orderTime desc + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1