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>