用户邀请码

邀请注册送湖分
This commit is contained in:
wuchunlei
2024-11-08 16:48:21 +08:00
parent a77ec18e38
commit c41fda16d8
12 changed files with 330 additions and 6 deletions

View File

@@ -0,0 +1,7 @@
package com.peanut.modules.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.peanut.modules.common.entity.UserInviteCourse;
public interface UserInviteCourseService extends IService<UserInviteCourse> {
}

View File

@@ -0,0 +1,12 @@
package com.peanut.modules.common.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.peanut.modules.common.entity.UserInviteRegister;
public interface UserInviteRegisterService extends IService<UserInviteRegister> {
void checkInviteRegisterCount(int userId);
String generateInviteCode();
}

View File

@@ -0,0 +1,13 @@
package com.peanut.modules.common.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.peanut.modules.common.dao.UserInviteCourseDao;
import com.peanut.modules.common.entity.UserInviteCourse;
import com.peanut.modules.common.service.UserInviteCourseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service("commonUserInviteCourseService")
public class UserInviteCourseServiceImpl extends ServiceImpl<UserInviteCourseDao, UserInviteCourse> implements UserInviteCourseService {
}

View File

@@ -0,0 +1,68 @@
package com.peanut.modules.common.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.peanut.modules.common.dao.MyUserDao;
import com.peanut.modules.common.dao.UserContributionDao;
import com.peanut.modules.common.dao.UserInviteRegisterDao;
import com.peanut.modules.common.entity.MyUserEntity;
import com.peanut.modules.common.entity.UserContribution;
import com.peanut.modules.common.entity.UserInviteRegister;
import com.peanut.modules.common.service.UserInviteRegisterService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Random;
@Slf4j
@Service("commonUserInviteRegisterService")
public class UserInviteRegisterServiceImpl extends ServiceImpl<UserInviteRegisterDao, UserInviteRegister> implements UserInviteRegisterService {
@Autowired
private UserContributionDao userContributionDao;
@Autowired
private MyUserDao myUserDao;
@Override
public void checkInviteRegisterCount(int userId) {
//邀请人数(未计算过湖分)
List<UserInviteRegister> registers = this.baseMapper.selectList(new LambdaQueryWrapper<UserInviteRegister>()
.eq(UserInviteRegister::getCountContribution,0)
.eq(UserInviteRegister::getUserId,userId));
if (registers.size()==10){
UserContribution userContribution = new UserContribution();
userContribution.setUserId(userId);
userContribution.setDetail("邀请人数达到10人");
userContribution.setScore(1.0);
userContribution.setType("11");
userContributionDao.insert(userContribution);
for (UserInviteRegister register:registers){
register.setCountContribution(1);
this.baseMapper.updateById(register);
}
}
}
@Override
public String generateInviteCode() {
String code = "";
String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // 邀请码字符集
StringBuilder inviteCode = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 6; i++) {
int index = random.nextInt(chars.length());
inviteCode.append(chars.charAt(index));
}
int count = myUserDao.selectCount(new LambdaQueryWrapper<MyUserEntity>()
.eq(MyUserEntity::getInviteCode,inviteCode.toString()));
if (count > 0) {
code = generateInviteCode();
}else {
code = inviteCode.toString();
}
return code;
}
}