diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java index c0d86476d3..efda60251c 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java @@ -160,31 +160,16 @@ public class SysOrganizationService extends MybatisBaseService 0 || count2 > 0) { - SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid); - name = sysStaffinfo.getName(); - return rb.setMsg("该组织机构中已包含" + name + ",请勿重复操作"); - } - if (count1 > 0) { - SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid); - name = sysStaffinfo.getName(); - return rb.setMsg(name + "已是其他机构组织的主管"); - } //查询是否有员工信息,如果有的话,删除关联关系 - sysStaffOrgService.deleteByStaffSidAndType(orgSid, sid, "3"); - } else {//分管操作 - int count = sysStaffOrgService.selectByStaffAndOrg(orgSid, sid, "1"); - int count1 = sysStaffOrgService.selectByStaffAndOrg(orgSid, sid, "3"); - if (count > 0 || count1 > 0) { - SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid); - name = sysStaffinfo.getName(); - return rb.setMsg("该组织机构中已包含" + name + ",请勿重复操作"); + sysStaffOrgService.deleteByStaffSidAndType(entity.getOrgSidPath(), sid, "3"); + }else{ + int count = sysStaffOrgService.selectByStaffAndOrg(entity.getOrgSidPath(), sid, "3"); + SysStaffinfo sysStaffinfo = sysStaffInfoService.fetchBySid(sid); + if(count>0){ + return rb.setMsg(sysStaffinfo.getName()+"已在本部门"); } + } //添加员工与组织的关联关系 SysStaffOrg sysStaffOrg = new SysStaffOrg(); diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java index a074692e31..8c2b4d2261 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java @@ -178,15 +178,19 @@ public class SysStaffinfoService extends MybatisBaseService 0) { - return rb.setMsg("该组织机构下已存在该员工"); + sysStaffOrgService.deleteByStaffSidAndType(sysStaffOrgDto.getOrgSidPath(), sid, "2"); } - SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(sid); + SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSidAndPath(sid,sysStaffOrgDto.getOrgSidPath()); BeanUtil.copyProperties(sysStaffOrgDto,sysStaffOrg); sysStaffOrg.setManageType("3"); sysStaffOrgService.updateById(sysStaffOrg); diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java index 7475a0c55d..162e2dfe14 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java @@ -69,7 +69,8 @@ public interface SysStaffOrgMapper extends BaseMapper { * @return */ SysStaffOrgDetailsVo selectByStaff(@Param("sid") String sid, @Param("orgSid") String orgSid); - SysStaffOrgDetailsVo selectByStaffByType(@Param("sid") String sid, @Param("orgSid") String orgSid,@Param("type")String type); + + SysStaffOrgDetailsVo selectByStaffByType(@Param("sid") String sid, @Param("orgSid") String orgSid, @Param("type") String type); @Select("SELECT GROUP_CONCAT(DISTINCT(orgSid)) FROM sys_staff_org WHERE staffSid=#{staffSid}") String getSysStaffOrgSidListByStaffSid(@Param("staffSid") String staffSid); @@ -82,6 +83,9 @@ public interface SysStaffOrgMapper extends BaseMapper { @Select("select * from sys_staff_org where staffSid=#{sid}") SysStaffOrg getOrgByStaffSid(String sid); + @Select("select * from sys_staff_org where staffSid=#{sid} and orgSidPath = #{path} ") + SysStaffOrg getOrgByStaffSidAndPath(@Param("sid") String sid, @Param("path") String path); + @Select("select * from sys_staff_org where staffSid=#{sid}") List getOrgByStaffSidList(String sid); @@ -89,7 +93,6 @@ public interface SysStaffOrgMapper extends BaseMapper { void delZGAndFGByOrgSid(String sid); int selectByStaffAndOrg(@Param("sid") String sid, @Param("staffSid") String zgStaffSid, @Param("type") String type); - int selectByStaffAndType(@Param("sid") String sid, @Param("staffSid") String zgStaffSid, @Param("type") String type); - + int deleteByStaffSidAndType(@Param("sid") String sid, @Param("staffSid") String zgStaffSid, @Param("type") String type); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml index c4736492f4..70cdf21134 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml @@ -72,15 +72,7 @@ from sys_staff_org sso where sso.staffSid = #{staffSid} and sso.manageType = #{type} - and find_in_set(#{sid}, replace(sso.orgSidPath, '/', ',')) - - - @@ -88,6 +80,6 @@ from sys_staff_org where staffSid = #{staffSid} and manageType = #{type} - and find_in_set(#{sid}, replace(orgSidPath, '/', ',')) + and orgSidPath = #{sid} \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java index fb99a3cc72..16fee5c9eb 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java @@ -215,6 +215,10 @@ public class SysStaffOrgService extends MybatisBaseService getOrgByStaffSidList(String sid) { return baseMapper.getOrgByStaffSidList(sid); } @@ -262,10 +266,6 @@ public class SysStaffOrgService extends MybatisBaseService { //@Update("update sys_user set name=#{msg} where id=#{id}") //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper ew, @Param("orgName") String orgName); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper ew, @Param("orgName") String orgName,@Param("userName") String userName); List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml index d90db0ae87..6d9028c956 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml @@ -59,6 +59,16 @@ '%' ) + + and concat(IFNULL(USER.userName + , '') + , ifnull(USER.mobile + , '') + , ifnull(staff.name + , '')) LIKE concat('%' + , #{userName} + , '%') + diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java index 43df06b908..952604d6b1 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java @@ -419,6 +419,9 @@ public class SysUserRest implements SysUserFeign { } // 根据用户信息查询用户的角色信息 SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(user); + if (userInfoOneVo == null) { + return new ResultBean().fail().setMsg("该用户不是公司员工"); + } SystemLog systemLog = new SystemLog(); systemLog.setUserName(user.getUserName()); String ip = WebUtil.getIpAddr(httpServletRequest); @@ -462,6 +465,9 @@ public class SysUserRest implements SysUserFeign { } // 根据用户信息查询用户的角色信息 SysUserVo userInfoOneVo = sysUserService.setUserRedisSessionToken(user); + if (userInfoOneVo == null) { + return new ResultBean().fail().setMsg("该用户不是公司员工"); + } SystemLog systemLog = new SystemLog(); systemLog.setUserName(user.getUserName()); String ip = WebUtil.getIpAddr(httpServletRequest); @@ -534,6 +540,9 @@ public class SysUserRest implements SysUserFeign { } SysUser user = sysUserService.selectByUserName(userName); SysUserVo userInfoOneVo = sysUserService.selectUserOne(user); + if (userInfoOneVo == null) { + return new ResultBean().fail().setMsg("该用户不是公司员工"); + } return new ResultBean().success().setData(userInfoOneVo); } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java index 7ce0d1d8b1..66b97e66c1 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java @@ -120,10 +120,6 @@ public class SysUserService extends MybatisBaseService { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); QueryWrapper qw = new QueryWrapper<>(); - - if (StringUtils.isNotBlank(query.getUserName())) { - qw.like("user.userName", query.getUserName()); - } if (StringUtils.isNotBlank(query.getRoleSid())) { qw.eq("role.sid", query.getRoleSid()); } @@ -134,7 +130,15 @@ public class SysUserService extends MybatisBaseService { SysUserQuery query = pq.getParams(); QueryWrapper qw = createQueryWrapper(query); IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw, query.getOrgName()); + String deptName = ""; + String userName = ""; + if (StringUtils.isNotBlank(query.getOrgName())) { + deptName = query.getOrgName().trim(); + } + if (StringUtils.isNotBlank(query.getUserName())) { + userName = query.getUserName().trim(); + } + IPage pagging = baseMapper.selectPageVo(page, qw, deptName, userName); List records = pagging.getRecords(); for (SysUserVo record : records) { String departmentSid = record.getDepartmentSid(); @@ -274,8 +278,13 @@ public class SysUserService extends MybatisBaseService { redisUtil.set(uniqueToken, user.getUserName(), USERS_REDIS_SESSION_TL_PC); SysUserVo userInfoOneVo = selectUserOne(user); - userInfoOneVo.setToken(uniqueToken); - return userInfoOneVo; + if (userInfoOneVo == null) { + return userInfoOneVo; + } else { + userInfoOneVo.setToken(uniqueToken); + return userInfoOneVo; + } + } //公共的方法 @@ -287,8 +296,10 @@ public class SysUserService extends MybatisBaseService { userInfoOneVo.setSid(user.getSid()); userInfoOneVo.setUserName(user.getUserName()); userInfoOneVo.setIsAdmin(user.getIsAdmin()); - SysStaffOrg sysStaffOrg = sysStaffOrgService.selectAllByStaffSid(user.getStaffSid()).getData(); + if (sysStaffOrg == null) { + return null; + } userInfoOneVo.setRoleName(""); String dwjb = ""; @@ -357,10 +368,15 @@ public class SysUserService extends MybatisBaseService { String newToken = "App" + uniqueToken; redisUtil.set(newToken, user.getUserName(), USERS_REDIS_SESSION_TL_App); SysUserVo sysUserVo = selectUserOne(user); - sysUserVo.setToken(newToken); - // 更新用户中的token - updateToken(user.getSid(), newToken); - return sysUserVo; + if (sysUserVo == null) { + return null; + } else { + sysUserVo.setToken(newToken); + // 更新用户中的token + updateToken(user.getSid(), newToken); + return sysUserVo; + } + } /** @@ -1008,7 +1024,7 @@ public class SysUserService extends MybatisBaseService { sysUserVoList.removeAll(Collections.singleton(null)); List voList = Optional.ofNullable(sysUserVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SysUserListVo.class)).collect(Collectors.toList()); voList.removeAll(Collections.singleton(null)); - if(voList.isEmpty()){ + if (voList.isEmpty()) { return rb.setMsg("下一环节没有用户"); } return rb.success().setData(voList); diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java index c7d6671f04..aae5293c86 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/app/AppSysUserRest.java @@ -98,6 +98,9 @@ public class AppSysUserRest implements AppSysUserFeign { if (md5.equals(sysUser.getPassword())) { sysUserService.updateAppId(sysUser.getSid(), appId); SysUserVo sysUserVo = sysUserService.selectUser(sysUser); + if(sysUserVo == null){ + return rb.setMsg("该用户不是公司员工"); + } insertLoginLog(sysUser); return new ResultBean().success().setData(sysUserVo); } else { @@ -110,6 +113,9 @@ public class AppSysUserRest implements AppSysUserFeign { if (verifyCode.equals(codeFromRedis.substring(0, 4))) { sysUserService.updateAppId(sysUser.getSid(), appId); SysUserVo sysUserVo = sysUserService.selectUser(sysUser); + if(sysUserVo == null){ + return rb.setMsg("该用户不是公司员工"); + } redisUtil.remove("loginCode" + userName); insertLoginLog(sysUser); return new ResultBean().success().setData(sysUserVo); @@ -127,6 +133,9 @@ public class AppSysUserRest implements AppSysUserFeign { String md5 = Encodes.md5(password); if (md5.equals(sysUser.getPassword())) { SysUserVo sysUserVo = sysUserService.selectUser(sysUser); + if(sysUserVo == null){ + return rb.setMsg("该用户不是公司员工"); + } insertLoginLog(sysUser); return new ResultBean().success().setData(sysUserVo); } else { @@ -138,6 +147,9 @@ public class AppSysUserRest implements AppSysUserFeign { return new ResultBean().fail().setMsg("短信验证码已失效,请重新发送"); if (verifyCode.equals(codeFromRedis.substring(0, 4))) { SysUserVo sysUserVo = sysUserService.selectUser(sysUser); + if(sysUserVo == null){ + return rb.setMsg("该用户不是公司员工"); + } redisUtil.remove("loginCode" + userName); insertLoginLog(sysUser); return new ResultBean().success().setData(sysUserVo);