下级
This commit is contained in:
parent
5981038a0f
commit
fe69ac4052
|
|
@ -26,6 +26,11 @@ const wechatLogin = async (req, res) => {
|
||||||
|
|
||||||
const { code, userInfo, invitationCode } = req.body;
|
const { code, userInfo, invitationCode } = req.body;
|
||||||
|
|
||||||
|
console.log('=== WeChat Login Request ===');
|
||||||
|
console.log('Code:', code);
|
||||||
|
console.log('InvitationCode:', invitationCode);
|
||||||
|
console.log('UserInfo:', userInfo);
|
||||||
|
|
||||||
// Extract device info from request
|
// Extract device info from request
|
||||||
const deviceInfo = {
|
const deviceInfo = {
|
||||||
ipAddress: req.ip || req.connection.remoteAddress,
|
ipAddress: req.ip || req.connection.remoteAddress,
|
||||||
|
|
@ -41,6 +46,10 @@ const wechatLogin = async (req, res) => {
|
||||||
deviceInfo
|
deviceInfo
|
||||||
);
|
);
|
||||||
|
|
||||||
|
console.log('=== Login Result ===');
|
||||||
|
console.log('User ID:', result.user.id);
|
||||||
|
console.log('User invitedBy:', result.user.invitedBy);
|
||||||
|
|
||||||
return sendSuccess(res, {
|
return sendSuccess(res, {
|
||||||
user: {
|
user: {
|
||||||
id: result.user.id,
|
id: result.user.id,
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,10 @@ const wechatLogin = async (code, userInfo = {}, invitationCode = null, deviceInf
|
||||||
console.error('Failed to get default avatar config:', e);
|
console.error('Failed to get default avatar config:', e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('=== Creating New User ===');
|
||||||
|
console.log('OpenId:', openId);
|
||||||
|
console.log('InvitationCode received:', invitationCode);
|
||||||
|
|
||||||
// Create new user
|
// Create new user
|
||||||
const userData = {
|
const userData = {
|
||||||
wechatOpenId: openId,
|
wechatOpenId: openId,
|
||||||
|
|
@ -100,14 +104,18 @@ const wechatLogin = async (code, userInfo = {}, invitationCode = null, deviceInf
|
||||||
// Handle invitation
|
// Handle invitation
|
||||||
let inviterId = null;
|
let inviterId = null;
|
||||||
if (invitationCode) {
|
if (invitationCode) {
|
||||||
|
console.log('Looking for inviter with code:', invitationCode);
|
||||||
const inviter = await User.findOne({ where: { invitationCode } });
|
const inviter = await User.findOne({ where: { invitationCode } });
|
||||||
|
console.log('Inviter found:', inviter ? inviter.id : 'NOT FOUND');
|
||||||
if (inviter) {
|
if (inviter) {
|
||||||
userData.invitedBy = inviter.id;
|
userData.invitedBy = inviter.id;
|
||||||
inviterId = inviter.id;
|
inviterId = inviter.id;
|
||||||
|
console.log('Setting invitedBy to:', inviter.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
user = await User.create(userData);
|
user = await User.create(userData);
|
||||||
|
console.log('New user created:', user.id, 'invitedBy:', user.invitedBy);
|
||||||
|
|
||||||
// Record invitation relationship
|
// Record invitation relationship
|
||||||
if (inviterId) {
|
if (inviterId) {
|
||||||
|
|
@ -118,11 +126,33 @@ const wechatLogin = async (code, userInfo = {}, invitationCode = null, deviceInf
|
||||||
registeredAt: new Date(),
|
registeredAt: new Date(),
|
||||||
rewardStatus: 'pending',
|
rewardStatus: 'pending',
|
||||||
});
|
});
|
||||||
|
console.log('Invitation record created');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Update existing user info if provided
|
// Update existing user info if provided
|
||||||
if (userInfo.nickname) user.nickname = userInfo.nickname;
|
if (userInfo.nickname) user.nickname = userInfo.nickname;
|
||||||
if (userInfo.avatar) user.avatar = userInfo.avatar;
|
if (userInfo.avatar) user.avatar = userInfo.avatar;
|
||||||
|
|
||||||
|
// Handle invitation for existing user who hasn't been invited yet
|
||||||
|
if (invitationCode && !user.invitedBy) {
|
||||||
|
const inviter = await User.findOne({ where: { invitationCode } });
|
||||||
|
if (inviter && inviter.id !== user.id) {
|
||||||
|
// Bind invitation relationship
|
||||||
|
user.invitedBy = inviter.id;
|
||||||
|
|
||||||
|
// Record invitation relationship
|
||||||
|
await Invitation.create({
|
||||||
|
inviterId: inviter.id,
|
||||||
|
inviteeId: user.id,
|
||||||
|
invitationCode,
|
||||||
|
registeredAt: new Date(),
|
||||||
|
rewardStatus: 'pending',
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`User ${user.id} bound to inviter ${inviter.id} via code ${invitationCode}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await user.save();
|
await user.save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user