From 4479995b176ba5a53a72a97a9898e3bfbd50aee6 Mon Sep 17 00:00:00 2001 From: wangqx Date: Sat, 13 Sep 2025 16:58:31 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=E5=A2=9E=E5=8A=A0=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E6=8E=A8=E5=B9=BF=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/app/AppMemberController.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/ruoyi-admin/src/main/java/org/dromara/app/AppMemberController.java b/ruoyi-admin/src/main/java/org/dromara/app/AppMemberController.java index 0c9dc521c..38fae8981 100644 --- a/ruoyi-admin/src/main/java/org/dromara/app/AppMemberController.java +++ b/ruoyi-admin/src/main/java/org/dromara/app/AppMemberController.java @@ -43,6 +43,8 @@ import org.dromara.common.social.config.properties.SocialProperties; import org.dromara.common.social.utils.SocialUtils; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; + @RestController @RequestMapping("/app/member") @Tag(name = "会员管理") @@ -128,6 +130,33 @@ public class AppMemberController { } + @Tag(name = "绑定微信") + @PostMapping("/bind/spread") + public R bindSpread(@RequestBody SocialLoginBody loginBody) { + + //获取用户信息 + LoginUser loginUser = LoginHelper.getLoginUser(); + if (loginUser == null) { + throw new ServiceException("用户未登录"); + } + + //检查推广人 + Long memberId = loginUser.getUserId(); + //检查推广人是否绑定 + Member member = service.getById(memberId); + if (member.getSpreadUid() != null) { + throw new ServiceException("用户已绑定推广人"); + } + //检查推广人是否存在 + Member spreadMember = service.getById(loginBody.getSocialCode()); + if (spreadMember == null) { + throw new ServiceException("推广人不存在"); + } + member = Member.builder().id(memberId).spreadUid(spreadMember.getId()).spreadTime(LocalDateTime.now()).build(); + service.updateById(member); + return R.ok(); + } + @Tag(name = "绑定微信") @PostMapping("/bind/wechat") public R bindWechat(@RequestBody SocialLoginBody loginBody) {