Helius
2021-09-24 b0e15cf443f945d3c2f7bc2da7cd48972e5117af
add my team
7 files modified
88 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 33 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 6 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallMemberMapper.xml 28 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -67,6 +67,6 @@
    })
    @PostMapping(value = "/teamList")
    public FebsResponse teamList(@RequestBody TeamListDto teamListDto) {
        return null;
        return memberService.teamList(teamListDto);
    }
}
src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java
@@ -12,6 +12,6 @@
@ApiModel(value = "TeamListDto", description = "我的团队接收参数类")
public class TeamListDto {
    @ApiModelProperty(value = "用户ID", example = "1")
    @ApiModelProperty(value = "用户ID, 若查询本账号则不传", example = "1")
    private Long id;
}
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -2,10 +2,14 @@
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import cc.mrbird.febs.mall.vo.TeamListVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
/**
 * @author wzy
@@ -22,4 +26,10 @@
    MallMember selectInfoByAccountAndPwd(@Param("account") String account, @Param("password") String password);
    MallMemberVo getMallMemberInfoById(@Param("id")long id);
    List<TeamListVo> selectTeamListByInviteId(@Param("inviteId") String inviteId);
    BigDecimal selectOwnAmountByInviteId(@Param("inviteId") String inviteId);
    Integer selectOwnCntByInviteId(@Param("inviteId") String inviteId);
}
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -1,10 +1,7 @@
package cc.mrbird.febs.mall.service;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.ForgetPwdDto;
import cc.mrbird.febs.mall.dto.LoginDto;
import cc.mrbird.febs.mall.dto.ModifyMemberInfoDto;
import cc.mrbird.febs.mall.dto.RegisterDto;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.MallMember;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -24,4 +21,6 @@
    FebsResponse setTradePwd(ForgetPwdDto forgetPwdDto);
    FebsResponse modifyMemberInfo(ModifyMemberInfoDto modifyMemberInfoDto);
    FebsResponse teamList(TeamListDto teamListDto);
}
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -7,10 +7,7 @@
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.common.utils.ShareCodeUtil;
import cc.mrbird.febs.mall.conversion.MallMemberConversion;
import cc.mrbird.febs.mall.dto.ForgetPwdDto;
import cc.mrbird.febs.mall.dto.LoginDto;
import cc.mrbird.febs.mall.dto.ModifyMemberInfoDto;
import cc.mrbird.febs.mall.dto.RegisterDto;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.entity.MallMemberWallet;
import cc.mrbird.febs.mall.entity.MallShoppingCart;
@@ -21,6 +18,7 @@
import cc.mrbird.febs.mall.service.IApiMallMemberService;
import cc.mrbird.febs.mall.service.ICommonService;
import cc.mrbird.febs.mall.vo.MallMemberVo;
import cc.mrbird.febs.mall.vo.TeamListVo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
@@ -264,4 +262,31 @@
        this.baseMapper.updateById(mallMember);
        return new FebsResponse().success().message("修改成功");
    }
    @Override
    public FebsResponse teamList(TeamListDto teamListDto) {
        Long memberId = null;
        if (teamListDto.getId() == null) {
            memberId = LoginUserUtil.getLoginUser().getId();
        } else {
            memberId = teamListDto.getId();
        }
        MallMember mallMember = this.baseMapper.selectById(memberId);
        List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
        BigDecimal ownAmount = this.baseMapper.selectOwnAmountByInviteId(mallMember.getInviteId());
        TeamListVo own = new TeamListVo();
        own.setCreatedTime(mallMember.getCreatedTime());
        own.setAmount(ownAmount);
        own.setName(mallMember.getName());
        own.setPhone(mallMember.getPhone());
        own.setInviteId(mallMember.getInviteId());
        own.setIsCurrent(1);
        own.setCnt(this.baseMapper.selectOwnCntByInviteId(mallMember.getInviteId()));
        own.setId(mallMember.getId());
        list.add(0, own);
        return new FebsResponse().success().data(list);
    }
}
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -113,6 +113,7 @@
            mallOrderItemMapper.insert(orderItem);
            sku.setStock(sku.getStock() - item.getCnt());
            sku.setSkuVolume(sku.getSkuVolume() + item.getCnt());
            mallGoodsSkuMapper.updateById(sku);
            if (addOrderDto.getType() == 1) {
@@ -288,6 +289,7 @@
            throw new FebsException("该订单不能退款");
        }
        Integer beforeStatus = orderInfo.getStatus();
        MallMember member = LoginUserUtil.getLoginUser();
        orderInfo.setStatus(OrderStatusEnum.REFUNDING.getValue());
        this.baseMapper.updateById(orderInfo);
@@ -301,7 +303,7 @@
            orderRefund.setReason(addRefundDto.getReason());
            orderRefund.setType(addRefundDto.getType());
            orderRefund.setRefundTime(new Date());
            orderRefund.setBeforeStatus(orderInfo.getStatus());
            orderRefund.setBeforeStatus(beforeStatus);
            orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue());
            mallOrderRefundMapper.insert(orderRefund);
        } else {
@@ -309,7 +311,7 @@
            orderRefund.setReason(addRefundDto.getReason());
            orderRefund.setType(addRefundDto.getType());
            orderRefund.setRefundTime(new Date());
            orderRefund.setBeforeStatus(orderInfo.getStatus());
            orderRefund.setBeforeStatus(beforeStatus);
            orderRefund.setStatus(OrderRefundStatusEnum.REFUND_APPLY.getValue());
            mallOrderRefundMapper.updateById(orderRefund);
        }
src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -55,4 +55,32 @@
    <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=4
             where e.invite_id=a.invite_id or e.referrer_id=a.invite_id) amount,
            (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="selectOwnAmountByInviteId" resultType="java.math.BigDecimal">
        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=#{inviteId} or e.referrer_id=#{inviteId}
    </select>
    <select id="selectOwnCntByInviteId" resultType="java.lang.Integer">
        select count(1) from mall_member x where x.referrer_id=#{inviteId}
    </select>
</mapper>