Selaa lähdekoodia

激活码修改

lwhhszx 2 vuotta sitten
vanhempi
commit
41b6a67f27

+ 5 - 0
PCS/src/main/java/cn/cslg/permission/common/model/vo/TenantVO.java

@@ -119,4 +119,9 @@ public class TenantVO extends BaseVO {
      */
     private String invitation;
     private Integer addType;
+    private String phoneNumber;
+    /*
+    公司名称
+     */
+    private String companyName;
 }

+ 1 - 1
PCS/src/main/java/cn/cslg/permission/controller/TenantController.java

@@ -38,7 +38,7 @@ public class TenantController {
     @Operation(summary = "根据邀请码添加租户")
     public String addByInvitation(@RequestBody TenantVO tenantVo) {
         try {
-            tenantService.addByInvitation(tenantVo);
+            tenantService.addByInvitation3(tenantVo);
         } catch (XiaoShiException e) {
             return Response.error(e.getMessage());
         }

+ 4 - 0
PCS/src/main/java/cn/cslg/permission/domain/Invitation.java

@@ -8,6 +8,8 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import javax.xml.bind.ValidationEvent;
+
 /**
  * 邀请码
  *
@@ -68,5 +70,7 @@ public class Invitation extends Model {
     private String companyName;
     @TableField(value = "PERSONNEL_ID")
     private Integer personnelId;
+    @TableField(value = "PHONE_NUMBER")
+    private String phoneNumber;
 
 }

+ 55 - 5
PCS/src/main/java/cn/cslg/permission/service/TenantService.java

@@ -3,13 +3,17 @@ package cn.cslg.permission.service;
 import cn.cslg.permission.common.model.vo.*;
 import cn.cslg.permission.common.utils.*;
 import cn.cslg.permission.common.utils.SecurityUtils.SecurityUtils;
+import cn.cslg.permission.common.utils.message.MessageUtils;
 import cn.cslg.permission.domain.*;
+import cn.cslg.permission.domain.sys.SysDictItem;
 import cn.cslg.permission.mapper.AssoTenantVipTypeFunctionMapper;
+import cn.cslg.permission.mapper.SysDictItemMapper;
 import cn.cslg.permission.mapper.TenantEntityMapper;
 import cn.cslg.permission.service.associate.PersonRoleService;
 import cn.cslg.permission.service.associate.RoleFunctionDataService;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.crypto.SecureUtil;
+import cn.hutool.extra.mail.MailUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -23,9 +27,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -50,7 +52,8 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
     private final InvitationService invitationService;
     private final LoginUtils loginUtils;
     private final RoleService roleService;
-
+    private final SysDictItemMapper sysDictItemMapper;
+    private final MessageUtils mailUtils;
     @Transactional(rollbackFor = Exception.class)
     public Integer addTenant(TenantVO tenantVO) {
         Personnel personnel = new Personnel();
@@ -389,10 +392,57 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
         invitation.updateById();
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    public void addByInvitation3(TenantVO tenantVo) {
+        //根据验证码查询是否存在
+        LambdaQueryWrapper<Invitation> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Invitation::getInvitation, tenantVo.getInvitation());
+        List<Invitation> invitations = invitationService.list(wrapper);
+        if (invitations == null || invitations.size() == 0) {
+            ThrowException.throwXiaoShiException("邀请码不存在");
+        }
+        Invitation invitation = invitations.get(0);
+        if (invitation.getIsInvalid().equals(1)) {
+            ThrowException.throwXiaoShiException("邀请码已被使用");
+        }
+
+        //邀请码表更新信息
+        //地址
+        invitation.setAddress(tenantVo.getAddress());
+        //电话
+        invitation.setPhoneNumber(tenantVo.getPhoneNumber());
+        //联系人
+        invitation.setContacts(tenantVo.getContacts());
+        //邮箱
+        invitation.setEmail(tenantVo.getEmail());
+        //租户名称
+        invitation.setCompanyName(tenantVo.getName());
+        invitation.setIsInvalid(1);
+        invitation.updateById();
+       //从字典表里获得配置联系人数
+        LambdaQueryWrapper<SysDictItem> wrapper1 =new LambdaQueryWrapper<>();
+        wrapper1.eq(SysDictItem::getDictParentKey,"ADMIN_EMAIL");
+       List<SysDictItem> sysDictItems= sysDictItemMapper.selectList(wrapper1);
+       sysDictItems.forEach(item->{
+           Map<String, Object> map = new LinkedHashMap<>();
+           map.put("title", "激活码审核通知");
+           map.put("template", "mail/adminEmail.html");
+           map.put("value1", item.getDictChildLabel());
+           map.put("img", "/logo.png");
+           map.put("email", item.getDictChildValue());
+           map.put("value2",invitation.getInvitation());
+           map.put("value3",invitation.getName());
+           map.put("value4",invitation.getContacts());
+           map.put("value5",invitation.getEmail());
+           map.put("value6",invitation.getPhoneNumber());
+           map.put("value7",invitation.getAddress());
+           mailUtils.sendEmailMessage(map);
+       });
+
+    }
 
     public Invitation queryByInvitation(String invitation) {
         log.info("开始处理【根据邀请码查询租户】的业务,参数为:{}", invitation);
-
         LambdaQueryWrapper<Invitation> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(Invitation::getInvitation, invitation);
         List<Invitation> invitations = invitationService.list(wrapper);

+ 1 - 1
PCS/src/main/resources/application-prodNetIn.yml

@@ -29,7 +29,7 @@ spring:
         max-wait: -1ms
     timeout: 2000ms
   datasource:
-    url: jdbc:mysql://172.27.247.174:3306/PCS_TEST2?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
+    url: jdbc:mysql://172.27.247.174:3306/PCS_PROD?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8
     username: root
     password: TU5x6IeBi7rl
     driver-class-name: com.mysql.cj.jdbc.Driver