Explorar el Código

合伙人查询全部四级机构下部门后线员工

helixiao hace 2 años
padre
commit
fcab0f72a7

+ 43 - 0
src/main/java/com/ydtech/modules/admin/controller/SysLoginController.java

@@ -323,6 +323,49 @@ public class SysLoginController {
 
     }
 
+    /**
+     * 合伙人APP手机验证码登录
+     *
+     * @param phoneLoginVo 手机号登录实体
+     * @return token
+     */
+    @PostMapping("/loginAPPByPhone")
+    @ApiOperation(value = "合伙人APP手机验证码登录")
+    public HttpResult<AAPLoginVo> loginAPPByPhone(@RequestBody PhoneLoginVo phoneLoginVo) {
+        AAPLoginVo aapLoginVo = new AAPLoginVo();
+        // 用户信息
+        String phone = phoneLoginVo.getPhone();
+        String phoneMsg = phoneLoginVo.getPhoneMsg();
+        SysUser user = sysUserService.findByPhone(phone);
+        //验证用户
+        SysUser.verifyUser(user);
+        //校验登录用户是否为合伙人或者是机构负责人
+        boolean a = sysPartnerService.checkPartner(user.getId());
+        boolean b = sysAgencyLeaderService.checkUserId(user.getId());
+        if (a ) {
+            //类型:1.合伙人;2机构负责人
+            aapLoginVo.setType(1);
+        }else if (b) {
+            aapLoginVo.setType(2);
+        }else {
+            throw  new SystemException("该用户无权限登录AAP,只能合伙人或者机构负责人才能登录!");
+
+        }
+        String msg = redisTemplate.opsForValue().get(PHONE_VERIFICATION_CODE_KEY + phone);
+        if (msg == null || msg.isEmpty()) {
+            return HttpResult.error("验证码已失效");
+        }
+
+        if (!phoneMsg.equals(msg)) {
+            return HttpResult.error("短信验证码不正确");
+        }
+        // 获取这个人的token
+        String token = StpUtil.createLoginSession(user.getId());
+        StpUtil.getSessionByLoginId(user.getId()).set(SaSession.USER, user);
+        aapLoginVo.setToken(token);
+        return HttpResult.ok("登录成功", aapLoginVo);
+    }
+
 
     /**
      * 手机验证码登录

+ 25 - 5
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -80,18 +80,38 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     @Override
     public BasePageResult<SysUserPartner> queryByPage(SysPartnerPageDto sysPartnerPageDto) {
         Page<SysUser> page = new Page<>(sysPartnerPageDto.getPageNum(), sysPartnerPageDto.getPageSize());
+        List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
+        List<String> stringList =null;
+        if (sysAgencyLeaders.size()>0) {
+            stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
+
+        }
+        List<String> idList =null;
+        List<SysDept> sysDeptLists = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getComlevel, 4).eq(SysDept::getDelFlag,0));
+        if (sysDeptLists.size()>0) {
+            List<String> collect = sysDeptLists.stream().map(SysDept::getId).collect(Collectors.toList());
+
+            List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>()
+                    .in(SysDept::getParentId, collect)
+                    .eq(SysDept::getDelFlag,0).isNull(SysDept::getComlevel).eq(SysDept::getDeptType,"D"));
+            if (sysDeptList.size()>0) {
+                idList = sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList());
+            }
+        }
         LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SysUser::getStatus, 1);
         wrapper.likeRight(StringUtils.isNotEmpty(sysPartnerPageDto.getDeptId()), SysUser::getId, sysPartnerPageDto.getDeptId());
         wrapper.notLike(SysUser::getId, "M");
+        wrapper.notIn(SysUser::getId, stringList);
+        wrapper.in(SysUser::getDeptId, idList);
 
         Page<SysUser> insOrdersPage = sysUserService.page(page, wrapper);
         List<SysUser> records = insOrdersPage.getRecords();
-        List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
-        if (sysAgencyLeaders.size()>0) {
-            List<String> stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
-            records = records.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
-        }
+//        List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
+//        if (sysAgencyLeaders.size()>0) {
+//            List<String> stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
+//            records = records.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
+//        }
 //        //查询所有四级部门
 //        List<SysDept> sysDeptList = sysDeptMapper.selectList(new LambdaQueryWrapper<SysDept>().eq(SysDept::getComlevel, 5));
 //        List<String> idList = sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList());