xiaoyong931011
2023-01-06 84102b8a1e4e716ffb8041e3a20a11e9e0b2651a
20221227 充值归集
3 files modified
65 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java 16 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 47 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -102,4 +102,6 @@
    void updateLevelStatusById(@Param("levelStatus")int i, @Param("id")Long memberId);
    IPage<MemberCoinChargeEntity> selectMemberChargeListInPage(Page<MemberCoinChargeEntity> page, @Param("record")MemberCoinChargeEntity memberCoinChargeEntity);
    BigDecimal getSumAmountByMemberId(@Param("memberId")Long memberId);
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -224,6 +224,7 @@
        if(CollUtil.isNotEmpty(records)){
            for(AdminAgentVo adminAgentVo : records){
                String inviteId = adminAgentVo.getInviteId();
                //直接下级
                List<MallMember> mallMembers = mallMemberMapper.selectChildAgentListByInviteId(inviteId);
                adminAgentVo.setMemberNum(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
@@ -231,6 +232,17 @@
                //获取总数
                List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId);
                adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size());
                //团队业绩
                BigDecimal amount = BigDecimal.ZERO;
                if(CollUtil.isNotEmpty(allMallMembers)){
                    for(MallMember teamMember : allMallMembers){
                        Long memberId = teamMember.getId();
                        BigDecimal sumAmount = mallMemberMapper.getSumAmountByMemberId(memberId);
                        amount = amount.add(sumAmount);
                    }
                }
                adminAgentVo.setAmount(amount);
            }
        }
        return adminAgentVos;
@@ -277,8 +289,8 @@
        List<AdminAgentMemberVo> records = adminAgentMemberVos.getRecords();
        if(CollUtil.isNotEmpty(records)){
            for(AdminAgentMemberVo agentMemberVo : records){
                String inviteId = agentMemberVo.getInviteId();
                BigDecimal amount = mallMemberMapper.getAgentTeamAmountByInviteId(inviteId);
                Long agentMemberVoId = agentMemberVo.getId();
                BigDecimal amount = mallMemberMapper.getSumAmountByMemberId(agentMemberVoId);
                agentMemberVo.setAmount(amount);
            }
        }
src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -135,22 +135,11 @@
    <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 and b.comment_state = 2
        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
        SELECT m.*,a.description levelName
        FROM mall_member m
        left join data_dictionary_custom a on a.description = m.level
        <where>
            1= 1
            and m.level != 'VIP'
            <if test="record != null" >
                <if test="record.name!=null and record.name!=''">
@@ -213,13 +202,11 @@
            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
                mall_order_info b
                    INNER JOIN mall_member e ON e.id = b.member_id
                    and b.comment_state = 2
            WHERE
                e.invite_id = #{inviteId}
               OR e.referrer_id = #{inviteId}
               or find_in_set(#{inviteId}, e.referrer_ids)
    </select>
@@ -356,15 +343,24 @@
    <select id="selectAchieveByMemberId" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(a.amount, 0)), 0)
        from mall_order_info a
             inner join mall_member b on a.member_id=b.ID
        where 1=1
        and a.status = 4
        and a.comment_state = 2
        <if test="type == 1">
            and b.invite_id=#{inviteId}
        </if>
        <if test="type == 2">
            and (find_in_set(#{inviteId}, b.referrer_ids) or b.invite_id=#{inviteId})
            AND a.member_id IN (
            SELECT
            id
            FROM
            mall_member
            WHERE
            1 = 1
            AND (
                find_in_set(#{inviteId}, referrer_ids)
                OR invite_id = #{inviteId}
                )
            )
        </if>
    </select>
@@ -465,4 +461,15 @@
        </where>
        order by a.CREATED_TIME desc
    </select>
    <select id="getSumAmountByMemberId" resultType="java.math.BigDecimal">
        SELECT
            IFNULL(sum(IFNULL(a.amount, 0)), 0)
        FROM
            mall_order_info a
        WHERE
            1 = 1
          AND a.comment_state = 2
          and a.member_id = #{memberId}
    </select>
</mapper>