From ea33d20cf8f59acde652f66cbaa7e05fa1bc2be3 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Wed, 27 Sep 2023 10:47:07 +0800 Subject: [PATCH] bannner --- src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 9 ++++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 4 ++ src/main/java/cc/mrbird/febs/mall/dto/ApiSetInviteDto.java | 18 +++++++++ src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 2 + src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 42 +++++++++++++++++++++ 5 files changed, 75 insertions(+), 0 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 f66e037..c1e5fcc 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java @@ -202,6 +202,15 @@ return iApiMallAgentService.agentApply(apiAgentApplyDto); } + /** + * 绑定默认推荐人 + */ + @ApiOperation(value = "绑定默认推荐人") + @PostMapping(value = "/setInvite") + public FebsResponse setInvite(@RequestBody @Validated ApiSetInviteDto apiSetInviteDto) { + return memberService.setInvite(apiSetInviteDto); + } + @ApiOperation(value = "代理申请信息") @GetMapping(value = "/agentApplyInfo") public FebsResponse agentApplyInfo() { diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiSetInviteDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiSetInviteDto.java new file mode 100644 index 0000000..a22b7d8 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiSetInviteDto.java @@ -0,0 +1,18 @@ +package cc.mrbird.febs.mall.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +@ApiModel(value = "ApiSetInviteDto", description = "申请代理") +public class ApiSetInviteDto { + + //邀请码 + @NotBlank(message = "邀请码不能为空") + @ApiModelProperty(value = "邀请码") + private 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 38de0a4..30501d8 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java @@ -89,4 +89,6 @@ FebsResponse memberCoupon(MallMemberCouponDto mallMemberCouponDto); FebsResponse couponDetails(Long id); + + FebsResponse setInvite(ApiSetInviteDto apiSetInviteDto); } 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 1f89a8b..ec116bd 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 @@ -937,6 +937,48 @@ return new FebsResponse().success().data(mallMemberCouponVo); } + @Override + public FebsResponse setInvite(ApiSetInviteDto apiSetInviteDto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + MallMember mallMember = this.baseMapper.selectById(memberId); + if(ObjectUtil.isNotEmpty(mallMember.getReferrerId())){ + throw new FebsException("已绑定"); + } + String inviteId = apiSetInviteDto.getInviteId(); + MallMember member = this.baseMapper.selectInfoByInviteId(inviteId); + if (member != null) { + mallMember.setReferrerId(member.getInviteId()); + + //推荐人和推荐人链 + boolean flag = false; + String parentId = mallMember.getReferrerId(); + if (StrUtil.isBlank(parentId)) { + flag = true; + } + String ids = ""; + while (!flag) { + if (StrUtil.isBlank(ids)) { + ids += parentId; + } else { + ids += ("," + parentId); + } + MallMember parentMember = this.baseMapper.selectInfoByInviteId(parentId); + if (parentMember == null) { + break; + } + parentId = parentMember.getReferrerId(); + if (StrUtil.isBlank(parentMember.getReferrerId())) { + flag = true; + } + } + if (StrUtil.isNotBlank(ids)) { + mallMember.setReferrerIds(ids); + } + this.baseMapper.updateById(mallMember); + } + return new FebsResponse().success(); + } + private String getXcxLoginUrl(String code) { String wechatLoginUrl =xcxProperties.getWecharLoginUrl(); return String.format(wechatLoginUrl, xcxProperties.getXcxAppid(), xcxProperties.getXcxSecret(), code); 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 3b9cc1d..354714d 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 @@ -226,9 +226,13 @@ orderItem.setGoodsName(sku.getGoodsName()); orderItem.setSkuId(sku.getId()); orderItem.setState(1); + if(ObjectUtil.isNotEmpty(member.getReferrerId())){ + orderItem.setMemberInviteId(member.getReferrerId()); + } if(ObjectUtil.isNotEmpty(addOrderDto.getMemberInviteId())){ orderItem.setMemberInviteId(addOrderDto.getMemberInviteId()); } + orderItem.setStyleName(sku.getStyleName()); orderItem.setSkuName(sku.getSkuName()); orderItem.setSkuImage(sku.getSkuImage()); -- Gitblit v1.9.1