فهرست منبع

Merge remote-tracking branch 'origin/dev2' into dev2

chendayu 2 سال پیش
والد
کامیت
3609b4c347

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

@@ -45,6 +45,17 @@ public class TenantController {
         return Response.success("添加成功");
     }
 
+    @PostMapping("/addByInvitation2")
+    @Operation(summary = "根据邀请码添加租户")
+    public String addByInvitation2(@RequestBody TenantVO tenantVo) {
+        try {
+            tenantService.addByInvitation2(tenantVo);
+        } catch (XiaoShiException e) {
+            return Response.error(e.getMessage());
+        }
+        return Response.success("添加成功");
+    }
+
     @Operation(summary = "根据邀请码查询信息")
     @GetMapping("/queryByInvitation")
     public String queryByInvitation(String invitation) {

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

@@ -66,5 +66,7 @@ public class Invitation extends Model {
      */
     @TableField(value = "COMPANY_NAME")
     private String companyName;
+    @TableField(value = "PERSONNEL_ID")
+    private Integer personnelId;
 
 }

+ 30 - 0
PCS/src/main/java/cn/cslg/permission/service/TenantService.java

@@ -9,6 +9,7 @@ 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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -360,6 +361,35 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
         invitationService.update(null, updateWrapper);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    public void addByInvitation2(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("邀请码已被使用");
+        }
+            //保存管理员用户
+        Integer personId = invitation.getPersonnelId();
+        if(personId==null){
+            ThrowException.throwXiaoShiException("此邀请码初始数据有误,请联系管理员");
+        }
+        //根据人员id获得人员信息
+        Personnel personnel =personnelService.getById(personId);
+        personnel.setPersonnelPassword(SecureUtil.md5(tenantVo.getPassword()));
+        personnel.setPersonnelStatus(1);
+        personnel.updateById();
+        //邀请码表更新信息
+        invitation.setIsInvalid(1);
+        invitation.updateById();
+    }
+
+
     public Invitation queryByInvitation(String invitation) {
         log.info("开始处理【根据邀请码查询租户】的业务,参数为:{}", invitation);
 

+ 1 - 15
PCS/src/main/java/cn/cslg/permission/service/associate/RoleFunctionDataService.java

@@ -65,20 +65,7 @@ public class RoleFunctionDataService extends ServiceImpl<AssoRoleFunctionDataMap
             }
 
         }
-//
-//        functionMapper.getFunctionInPathById(ids, roleVO.getTenant());
-//        List<Function> functionList = new ArrayList<>();
-//        pList.forEach(item -> {
-//            Function function = functionService.getById(item.getFunctionId());
-//            //如果是父功能则将所有的不展示子功能放进列表里(所有功能都在租户拥有的功能范围内)
-//            if (function.getFunctionUp().equals(0)) {
-//                List<Function> lst;
-//                lst = functionMapper.getFunctionInPathById(function.getId(), roleVO.getTenant());
-//                functionList.addAll(lst);
-//            }
-//            functionList.add(function);
-//        });
-//        List<Function> lst = functionList.stream().filter(DataUtils.distinctByKey(Function::getId)).collect(Collectors.toList());
+
         List<Function> lst=new ArrayList<>();
         if(ids!=null&&ids.size()>0){
             LambdaQueryWrapper<Function> wrapper =new LambdaQueryWrapper<>();
@@ -150,7 +137,6 @@ public class RoleFunctionDataService extends ServiceImpl<AssoRoleFunctionDataMap
             e.printStackTrace();
         }
     }
-
     @Transactional(rollbackFor = Exception.class)
     public void delete(Integer roleId, Integer functionId, List<Integer> functionIds, List<Integer> roleIds) {
         try {