From 19428a49b4c07b14097615d48a7a72dbf941c4e7 Mon Sep 17 00:00:00 2001
From: zhujie <leon.zhu@cloudroam.com.cn>
Date: 星期五, 18 四月 2025 15:20:02 +0800
Subject: [PATCH] Merge branch 'master' of http://47.96.225.205:8888/r/smart_message

---
 src/main/java/com/mzl/flower/service/customer/CustomerService.java |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 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 1c9ae43..91f59f1 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) {
@@ -276,4 +288,32 @@
     public void updateMemberInfo(Customer customer) {
         customerMapper.updateById(customer);
     }
+
+    public void checkVipExpireTime() {
+        // 获取当天日期之前,且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();
+    }
+
+    public void updateMemberInfoByUserId(Customer customer) {
+        if(null!= customer && StringUtils.isNotBlank(customer.getUserId())){
+            Customer byUserId = getByUserId(customer.getUserId());
+            if(null !=byUserId){
+                byUserId.setName(customer.getName());
+                byUserId.setCover(customer.getCover());
+                customerMapper.updateById(byUserId);
+            }else{
+                throw new ValidationException("用户不存在");
+            }
+
+        }
+    }
 }

--
Gitblit v1.9.3