From 52358cd76aee8d5f7edc54e177b6eab0d1f58533 Mon Sep 17 00:00:00 2001 From: zhujie <leon.zhu@cloudroam.com.cn> Date: 星期五, 11 四月 2025 17:31:06 +0800 Subject: [PATCH] 邀请功能 --- src/main/java/com/mzl/flower/service/customer/CustomerService.java | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/customer/CustomerService.java b/src/main/java/com/mzl/flower/service/customer/CustomerService.java index 1331f6e..401be19 100644 --- a/src/main/java/com/mzl/flower/service/customer/CustomerService.java +++ b/src/main/java/com/mzl/flower/service/customer/CustomerService.java @@ -33,6 +33,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.List; +import java.util.Random; @Service @Transactional @@ -48,6 +49,10 @@ @Resource private BaseService baseService; + + private static final String CHARACTERS = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"; + + private final Random random = new Random(); public CustomerService(CustomerMapper customerMapper, PartnerMapper partnerMapper) { this.customerMapper = customerMapper; @@ -88,6 +93,8 @@ customer.create(SecurityUtils.getUserId()); customer.setIsEnabled(true); + customer.setIntervialcode(generateCode()); + customer.setReintervialcode(dto.getRegesterCode()); customer.setLevelId(Long.valueOf(Constants.DEFAULT_MEMBER_ID)); customerMapper.insert(customer); } else {//重新修改 @@ -133,6 +140,11 @@ private boolean checkExist(String userId) { return customerMapper.selectCount(new LambdaQueryWrapper<Customer>().eq(Customer::getUserId, userId)) > 0; + } + + //验证邀请码是否有效 + public boolean checkCode(String code) { + return customerMapper.findCustomerByInvitationCode(code) == null; } public Page<CustomerDTO> queryCustomer(QueryCustomerDTO dto, Page page) { @@ -281,4 +293,13 @@ // 获取当天日期之前,且is_member=1的用户,设置为is_member=0并且将member_overtime设置为null customerMapper.checkVipExpireTime(); } + + //生成邀请码 + private String generateCode() { + StringBuilder sb = new StringBuilder(4); + for (int i = 0; i < 4; i++) { + sb.append(CHARACTERS.charAt(random.nextInt(CHARACTERS.length()))); + } + return sb.toString(); + } } -- Gitblit v1.9.3