app注册生成推广关系bug

This commit is contained in:
xuwenbo
2020-09-15 11:19:55 +08:00
parent f96b6555cb
commit 5414fa4839
2 changed files with 20 additions and 7 deletions

View File

@ -28,6 +28,6 @@ public class RegParam {
@ApiModelProperty(value = "分销绑定关系的ID") @ApiModelProperty(value = "分销绑定关系的ID")
private String spread; private String spread;
@ApiModelProperty(value = "邀请码(预留字段)") @ApiModelProperty(value = "邀请码")
private String inviteCode; private String inviteCode;
} }

View File

@ -14,24 +14,25 @@ import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.SecureUtil;
import co.yixiang.annotation.AnonymousAccess;
import co.yixiang.api.YshopException; import co.yixiang.api.YshopException;
import co.yixiang.common.util.IpUtil; import co.yixiang.common.util.IpUtil;
import co.yixiang.constant.ShopConstants; import co.yixiang.constant.ShopConstants;
import co.yixiang.enums.AppFromEnum; import co.yixiang.enums.AppFromEnum;
import co.yixiang.modules.auth.param.LoginParam; import co.yixiang.modules.auth.param.LoginParam;
import co.yixiang.modules.auth.param.RegParam; import co.yixiang.modules.auth.param.RegParam;
import co.yixiang.modules.shop.domain.YxSystemAttachment;
import co.yixiang.modules.shop.service.YxSystemAttachmentService;
import co.yixiang.modules.user.domain.YxUser; import co.yixiang.modules.user.domain.YxUser;
import co.yixiang.modules.user.service.YxUserService; import co.yixiang.modules.user.service.YxUserService;
import co.yixiang.modules.user.service.dto.WechatUserDto; import co.yixiang.modules.user.service.dto.WechatUserDto;
import co.yixiang.modules.user.vo.OnlineUser; import co.yixiang.modules.user.vo.OnlineUser;
import co.yixiang.modules.mp.config.WxMpConfiguration; import co.yixiang.modules.mp.config.WxMpConfiguration;
import co.yixiang.modules.mp.config.WxMaConfiguration; import co.yixiang.modules.mp.config.WxMaConfiguration;
import co.yixiang.utils.EncryptUtils; import co.yixiang.utils.*;
import co.yixiang.utils.RedisUtils;
import co.yixiang.utils.ShopKeyUtils;
import co.yixiang.utils.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vdurmont.emoji.EmojiParser; import com.vdurmont.emoji.EmojiParser;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.error.WxErrorException;
@ -42,8 +43,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
@ -62,7 +67,7 @@ public class AuthService {
private final YxUserService userService; private final YxUserService userService;
private final RedisUtils redisUtils; private final RedisUtils redisUtils;
private static Integer expiredTimeIn; private static Integer expiredTimeIn;
private final YxSystemAttachmentService systemAttachmentService;
@Value("${yshop.security.token-expired-in}") @Value("${yshop.security.token-expired-in}")
public void setExpiredTimeIn(Integer expiredTimeIn) { public void setExpiredTimeIn(Integer expiredTimeIn) {
@ -256,6 +261,7 @@ public class AuthService {
*/ */
@Transactional @Transactional
public void register(RegParam param){ public void register(RegParam param){
String account = param.getAccount(); String account = param.getAccount();
String ip = IpUtil.getRequestIp(); String ip = IpUtil.getRequestIp();
YxUser user = YxUser.builder() YxUser user = YxUser.builder()
@ -271,7 +277,14 @@ public class AuthService {
userService.save(user); userService.save(user);
userService.setSpread(param.getSpread(),user.getUid()); //设置推广关系
if (StrUtil.isNotBlank(param.getInviteCode())) {
YxSystemAttachment systemAttachment = systemAttachmentService.getByCode(param.getInviteCode());
if(systemAttachment != null){
userService.setSpread(String.valueOf(systemAttachment.getUid()),
user.getUid());
}
}
} }