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