|
|
@@ -19,12 +19,14 @@ import com.cyksj.dto.Result;
|
|
|
import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.PhoneCodeMapper;
|
|
|
import com.cyksj.mapper.WxAppMapper;
|
|
|
+import com.cyksj.mapper.manage.distribute.UserDistributeSharedMapper;
|
|
|
import com.cyksj.model.dto.AuthRedirect;
|
|
|
import com.cyksj.model.dto.AuthToken;
|
|
|
import com.cyksj.model.dto.GzhOAuth2UserInfo;
|
|
|
import com.cyksj.model.dto.JsSdkTicket;
|
|
|
import com.cyksj.model.entity.PhoneCode;
|
|
|
import com.cyksj.model.entity.User;
|
|
|
+import com.cyksj.model.entity.UserDistributeShared;
|
|
|
import com.cyksj.model.request.LoginPhoneReq;
|
|
|
import com.cyksj.model.response.LoginPhoneRep;
|
|
|
import com.cyksj.redis.RedisService;
|
|
|
@@ -36,6 +38,7 @@ import com.cyksj.web.util.StpUserUtil;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.dao.DuplicateKeyException;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
@@ -83,7 +86,7 @@ public class AuthorizationController {
|
|
|
|
|
|
private final PhoneCodeMapper phoneCodeMapper;
|
|
|
|
|
|
-
|
|
|
+ private final UserDistributeSharedMapper userDistributeSharedMapper;
|
|
|
|
|
|
@GetMapping(value = "/weChat")
|
|
|
public void base(String url,Long sharedId, String authType, HttpServletResponse response) throws Exception {
|
|
|
@@ -309,6 +312,8 @@ public class AuthorizationController {
|
|
|
}
|
|
|
//保存用户信息
|
|
|
User user = userService.getOne(Wrappers.lambdaQuery(User.class).eq(User::getLoginPhone, loginPhoneReq.getPhone()).last("limit 1"));
|
|
|
+ UserDistributeShared userDistributeShared = null;
|
|
|
+ Long sharedId = loginPhoneReq.getSharedId();
|
|
|
if (user == null) {
|
|
|
user = new User();
|
|
|
user.setLoginPhone(loginPhoneReq.getPhone());
|
|
|
@@ -316,10 +321,24 @@ public class AuthorizationController {
|
|
|
//默认头像
|
|
|
user.setHeadimgurl("https://cdn.sxfoundation.com/picture/f6ee11101c4f5f0bc48d88aca7a5dbfd-1666945673391.png");
|
|
|
userService.save(user);
|
|
|
+ //新用户分销
|
|
|
+ if (sharedId != null) {
|
|
|
+ userDistributeShared = new UserDistributeShared();
|
|
|
+ userDistributeShared.setSharedId(loginPhoneReq.getSharedId());
|
|
|
+ }
|
|
|
}
|
|
|
//写回登陆信息
|
|
|
StpUserUtil.login(user.getId());
|
|
|
LoginPhoneRep loginPhoneRep = new LoginPhoneRep(StpUserUtil.getTokenValue(), user.getId(), user.getNickname(), user.getHeadimgurl());
|
|
|
+ //存在分销
|
|
|
+ if (userDistributeShared != null) {
|
|
|
+ userDistributeShared.setUserId(user.getId());
|
|
|
+ try {
|
|
|
+ userDistributeSharedMapper.insert(userDistributeShared);
|
|
|
+ } catch (DuplicateKeyException e) {
|
|
|
+ log.info("分销被邀请人重复插入");
|
|
|
+ }
|
|
|
+ }
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(loginPhoneRep);
|
|
|
}
|
|
|
}
|