下级
This commit is contained in:
parent
5981038a0f
commit
fe69ac4052
|
|
@ -26,6 +26,11 @@ const wechatLogin = async (req, res) => {
|
|||
|
||||
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
|
||||
const deviceInfo = {
|
||||
ipAddress: req.ip || req.connection.remoteAddress,
|
||||
|
|
@ -41,6 +46,10 @@ const wechatLogin = async (req, res) => {
|
|||
deviceInfo
|
||||
);
|
||||
|
||||
console.log('=== Login Result ===');
|
||||
console.log('User ID:', result.user.id);
|
||||
console.log('User invitedBy:', result.user.invitedBy);
|
||||
|
||||
return sendSuccess(res, {
|
||||
user: {
|
||||
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.log('=== Creating New User ===');
|
||||
console.log('OpenId:', openId);
|
||||
console.log('InvitationCode received:', invitationCode);
|
||||
|
||||
// Create new user
|
||||
const userData = {
|
||||
wechatOpenId: openId,
|
||||
|
|
@ -100,14 +104,18 @@ const wechatLogin = async (code, userInfo = {}, invitationCode = null, deviceInf
|
|||
// Handle invitation
|
||||
let inviterId = null;
|
||||
if (invitationCode) {
|
||||
console.log('Looking for inviter with code:', invitationCode);
|
||||
const inviter = await User.findOne({ where: { invitationCode } });
|
||||
console.log('Inviter found:', inviter ? inviter.id : 'NOT FOUND');
|
||||
if (inviter) {
|
||||
userData.invitedBy = inviter.id;
|
||||
inviterId = inviter.id;
|
||||
console.log('Setting invitedBy to:', inviter.id);
|
||||
}
|
||||
}
|
||||
|
||||
user = await User.create(userData);
|
||||
console.log('New user created:', user.id, 'invitedBy:', user.invitedBy);
|
||||
|
||||
// Record invitation relationship
|
||||
if (inviterId) {
|
||||
|
|
@ -118,11 +126,33 @@ const wechatLogin = async (code, userInfo = {}, invitationCode = null, deviceInf
|
|||
registeredAt: new Date(),
|
||||
rewardStatus: 'pending',
|
||||
});
|
||||
console.log('Invitation record created');
|
||||
}
|
||||
} else {
|
||||
// Update existing user info if provided
|
||||
if (userInfo.nickname) user.nickname = userInfo.nickname;
|
||||
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();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user