[fix]增加绑定推广人

This commit is contained in:
wangqx 2025-09-13 16:58:31 +08:00
parent 4c580e3ec5
commit 4479995b17

View File

@ -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<AuthToken> 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<AuthToken> bindWechat(@RequestBody SocialLoginBody loginBody) {