xiaoyong931011
2023-08-14 58b9c60649a874b61cb60010b99a76f2162d4c0e
赠送积分更新状态
4 files modified
34 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java 3 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 14 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderInfoMapper.xml 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -1,6 +1,5 @@
package cc.mrbird.febs.mall.mapper;
import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum;
import cc.mrbird.febs.mall.dto.MallOrderInfoDto;
import cc.mrbird.febs.mall.dto.OrderListDto;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
@@ -55,6 +54,8 @@
    BigDecimal selectTotalAmount(@Param("memberId") Long memberId);
    List<MallOrderInfo> selectTotalAmountListByMemberId(@Param("memberId") Long memberId);
    BigDecimal selectTotalAmountForDate(@Param("date") Date date, @Param("member") Long memberId);
    BigDecimal selectTotalAmountUnCostForDate(@Param("date") Date date, @Param("member") Long memberId, @Param("dateType") String dateType, @Param("isNormal") Integer isNormal);
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -359,6 +359,18 @@
        MallMember mallMember = this.baseMapper.selectById(memberId);
        List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
        if(CollUtil.isNotEmpty(list)){
            for(TeamListVo teamListVo : list){
                List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectTotalAmountListByMemberId(teamListVo.getId());
                if(CollUtil.isNotEmpty(mallOrderInfos)){
                    BigDecimal reduce = mallOrderInfos.stream().map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
                    teamListVo.setAmount(reduce);
                    teamListVo.setOrderCnt(mallOrderInfos.size());
                    List<MallMember> mallMembers = this.baseMapper.selectChildAgentListByInviteId(teamListVo.getInviteId());
                    teamListVo.setCnt(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
                }
            }
        }
        MyTeamVo myTeamVo = new MyTeamVo();
        myTeamVo.setTeam(list);
        myTeamVo.setMyAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 1));
src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -79,16 +79,7 @@
            a.invite_id,
            2 isCurrent,
            a.created_time,
            p.prize_score,
            (select sum(e.amount)
             from mall_order_info e
                      inner join mall_member b on e.member_id=b.ID
                      inner join mall_order_item c on e.id = c.order_id
             where e.status in (2, 3, 4) and (find_in_set(a.invite_id, b.referrer_ids))) amount,
            (select count(e.id) from mall_order_info e
                      inner join mall_member  b on b.id = e.member_id and e.status in (2, 3, 4)
             where (find_in_set(a.invite_id, b.referrer_ids))) orderCnt,
            (select count(1) from mall_member x where (find_in_set(a.invite_id, x.referrer_ids))) cnt
            p.prize_score
        from mall_member a
        inner join mall_member_wallet p on a.id=p.member_id
        where a.referrer_id=#{inviteId}
@@ -375,7 +366,8 @@
                and b.invite_id=#{inviteId}
            </if>
            <if test="type == 2">
                and find_in_set(#{inviteId}, b.referrer_ids)
                b.referrer_id = #{inviteId}
--                 and find_in_set(#{inviteId}, b.referrer_ids)
            </if>
    </select>
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -262,6 +262,11 @@
        where member_id=#{memberId} and status in (2, 3, 4) and order_type=1
    </select>
    <select id="selectTotalAmountListByMemberId" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
        select * from mall_order_info
        where member_id=#{memberId} and status in (2, 3, 4)
    </select>
    <select id="selectTotalAmountForDate" resultType="java.math.BigDecimal">
        select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
        where status = 4