From b0e15cf443f945d3c2f7bc2da7cd48972e5117af Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 24 Sep 2021 16:47:13 +0800 Subject: [PATCH] add my team --- src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 2 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java | 10 +++++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 6 ++- src/main/resources/mapper/modules/MallMemberMapper.xml | 28 ++++++++++++++ src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java | 2 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 7 +-- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 33 ++++++++++++++-- 7 files changed, 76 insertions(+), 12 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java index 1031f9f..5a3d2de 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java +++ b/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); } } diff --git a/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java b/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java index 76842ea..fb0e579 100644 --- a/src/main/java/cc/mrbird/febs/mall/dto/TeamListDto.java +++ b/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; } diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java index 3708e77..d847311 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java +++ b/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); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java index 1c6997f..8871a2b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java +++ b/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); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index ca6e862..b96b8aa 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/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); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java index dee52ce..b81522d 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java +++ b/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); } diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml index 96f8df2..b7e0872 100644 --- a/src/main/resources/mapper/modules/MallMemberMapper.xml +++ b/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> \ No newline at end of file -- Gitblit v1.9.1