|
|
@ -8,6 +8,7 @@ import com.yxt.anrui.crm.api.crmcustomer.CrmCustomer; |
|
|
|
import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign; |
|
|
|
import com.yxt.anrui.portal.api.sms.SmsFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysmenu.SysMenu; |
|
|
|
import com.yxt.anrui.portal.api.sysmobilemenu.SysMobileMenu; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganization; |
|
|
|
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfo; |
|
|
|
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo; |
|
|
@ -22,6 +23,7 @@ import com.yxt.anrui.portal.api.sysuser.wx.WxMySysUserInfoVo; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.wx.WxSysUserVo; |
|
|
|
import com.yxt.anrui.portal.api.sysuserdefaultorg.SysUserDefaultOrg; |
|
|
|
import com.yxt.anrui.portal.biz.sysmenu.SysMenuService; |
|
|
|
import com.yxt.anrui.portal.biz.sysmobilemenu.SysMobileMenuService; |
|
|
|
import com.yxt.anrui.portal.biz.sysorganization.SysOrganizationService; |
|
|
|
import com.yxt.anrui.portal.biz.sysrole.SysRoleService; |
|
|
|
import com.yxt.anrui.portal.biz.sysstaffinfo.SysStaffinfoService; |
|
|
@ -109,6 +111,8 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|
|
|
private SysUserDefaultOrgService sysUserDefaultOrgService; |
|
|
|
@Autowired |
|
|
|
private SysMenuService sysMenuService; |
|
|
|
@Autowired |
|
|
|
private SysMobileMenuService sysMobileMenuService; |
|
|
|
|
|
|
|
|
|
|
|
public PagerVo<SysUser> listPage(PagerQuery<SysUserQuery> pq) { |
|
|
@ -135,7 +139,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|
|
|
if (StringUtils.isNotBlank(query.getName())) { |
|
|
|
qw.like("staff.name", query.getName()); |
|
|
|
} |
|
|
|
qw.ne("staff.personTypeKey","01"); |
|
|
|
qw.ne("staff.personTypeKey", "01"); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
@ -380,14 +384,14 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|
|
|
//根据orgSidPath查询分公司sid=====
|
|
|
|
//根据用户sid查询用户是否设置了默认的组织机构
|
|
|
|
SysUserDefaultOrg sysUserDefaultOrg = sysUserDefaultOrgService.selectByUserSid(user.getSid()); |
|
|
|
if(sysUserDefaultOrg == null){ |
|
|
|
if (sysUserDefaultOrg == null) { |
|
|
|
userInfoOneVo.setDefaultOrgPath(sysStaffOrg.getOrgSidPath()); |
|
|
|
userInfoOneVo.setDefaultOrgPathName(sysStaffOrg.getOrgNamePath()); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
List<SysStaffOrgVo> sysStaffOrgVos = sysStaffOrgService.selectByStaffS(user.getStaffSid()); |
|
|
|
sysStaffOrgVos.removeAll(Collections.singleton(null)); |
|
|
|
List<String> orgSidPathList = sysStaffOrgVos.stream().map(v->v.getOrgSidPath()).collect(Collectors.toList()); |
|
|
|
if(!orgSidPathList.contains(sysUserDefaultOrg.getOrgSidPath())){ |
|
|
|
List<String> orgSidPathList = sysStaffOrgVos.stream().map(v -> v.getOrgSidPath()).collect(Collectors.toList()); |
|
|
|
if (!orgSidPathList.contains(sysUserDefaultOrg.getOrgSidPath())) { |
|
|
|
sysUserDefaultOrgService.deleteByUserSid(user.getSid()); |
|
|
|
} |
|
|
|
userInfoOneVo.setDefaultOrgPath(sysUserDefaultOrg.getOrgSidPath()); |
|
|
@ -947,7 +951,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|
|
|
public ResultBean reGetPwd(String userName, String userPhone) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String userSid = baseMapper.fetchByUserNameAndUserPhone(userName, userPhone); |
|
|
|
if (StringUtils.isNotBlank(userSid)){ |
|
|
|
if (StringUtils.isNotBlank(userSid)) { |
|
|
|
Boolean aBoolean = initPwd(userSid); |
|
|
|
if (!aBoolean) { |
|
|
|
return ResultBean.fireFail().setMsg("初始化密码失败"); |
|
|
@ -1006,11 +1010,11 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|
|
|
if (query.getOrgSidPath().split("/").length >= Integer.parseInt(levelTypeKey) - 1) { |
|
|
|
String levelOrgSid = query.getOrgSidPath().split("/")[Integer.parseInt(levelTypeKey) - 1]; |
|
|
|
sysUserVoList = baseMapper.getUserByRole(query.getRoleSid(), levelOrgSid); |
|
|
|
if(sysUserVoList.size()>1){ |
|
|
|
List<String> stringList = sysUserVoList.stream().map(v->v.getSid()).collect(Collectors.toList()); |
|
|
|
List<SysUserVo> sysUserVoList1 = baseMapper.getUserMessageByRole(query.getRoleSid(), levelOrgSid,stringList); |
|
|
|
if (sysUserVoList.size() > 1) { |
|
|
|
List<String> stringList = sysUserVoList.stream().map(v -> v.getSid()).collect(Collectors.toList()); |
|
|
|
List<SysUserVo> sysUserVoList1 = baseMapper.getUserMessageByRole(query.getRoleSid(), levelOrgSid, stringList); |
|
|
|
sysUserVoList1.removeAll(Collections.singleton(null)); |
|
|
|
if(sysUserVoList1.size()>0){ |
|
|
|
if (sysUserVoList1.size() > 0) { |
|
|
|
sysUserVoList = sysUserVoList1; |
|
|
|
} |
|
|
|
} |
|
|
@ -1104,14 +1108,14 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|
|
|
return rb.success().setData(sysUserVoList); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<List<SysUserListVo>> selectSysUserList(String userSid,String orgPath) { |
|
|
|
public ResultBean<List<SysUserListVo>> selectSysUserList(String userSid, String orgPath) { |
|
|
|
ResultBean<List<SysUserListVo>> rb = ResultBean.fireFail(); |
|
|
|
//销售经理角色sid
|
|
|
|
String roleSid = "f07e98d3-d179-48ee-a5ff-5928addead3f"; |
|
|
|
UserQuery userRoleQuery = new UserQuery(); |
|
|
|
if(StringUtils.isNotBlank(orgPath)){ |
|
|
|
if (StringUtils.isNotBlank(orgPath)) { |
|
|
|
userRoleQuery.setOrgSidPath(orgPath); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
//根据用户sid查询用户的部门全路径
|
|
|
|
SysUserVo vo = fetchBySidVo(userSid); |
|
|
|
//根据staffSid获取用户的组织全路径
|
|
|
@ -1166,32 +1170,32 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|
|
|
String orgPath = sysHaveMessageQuery.getOrgPath(); |
|
|
|
//根据orgPath 查询当前组织所管理的层级
|
|
|
|
List<String> orgPathsList = Arrays.asList(orgPath.split("/")); |
|
|
|
String orgSid = orgPathsList.get(orgPathsList.size()-1); |
|
|
|
String orgSid = orgPathsList.get(orgPathsList.size() - 1); |
|
|
|
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); |
|
|
|
if(sysOrganization == null){ |
|
|
|
if (sysOrganization == null) { |
|
|
|
return rb.setMsg("当前所在组织机构不存在"); |
|
|
|
} |
|
|
|
//根据菜单路由查询菜单的sid
|
|
|
|
List<SysMenu> sysMenuList = sysMenuService.selectByMenuUrl(menuUrl); |
|
|
|
if(sysMenuList.size()>1){ |
|
|
|
if (sysMenuList.size() > 1) { |
|
|
|
return rb.setMsg("当前菜单的路由存在多个,请联系管理员"); |
|
|
|
}else if(sysMenuList.size() == 0){ |
|
|
|
} else if (sysMenuList.size() == 0) { |
|
|
|
return rb.setMsg("当前菜单不存在"); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
String menuSid = sysMenuList.get(0).getSid(); |
|
|
|
//根据菜单sid查询所授权的角色
|
|
|
|
List<SysMenuRoleVoList> list = sysRoleService.selectRoleList(menuSid); |
|
|
|
list.removeAll(Collections.singleton(null)); |
|
|
|
if(!list.isEmpty()){ |
|
|
|
List<String> typeList = list.stream().map(v->v.getRoleType()).collect(Collectors.toList()); |
|
|
|
if(StringUtils.isBlank(sysOrganization.getOrgLevelKey())){ |
|
|
|
if (!list.isEmpty()) { |
|
|
|
List<String> typeList = list.stream().map(v -> v.getRoleType()).collect(Collectors.toList()); |
|
|
|
if (StringUtils.isBlank(sysOrganization.getOrgLevelKey())) { |
|
|
|
return rb.setMsg("当前组织未设置管理层级"); |
|
|
|
} |
|
|
|
if(!typeList.contains(sysOrganization.getOrgLevelKey())){ |
|
|
|
if (!typeList.contains(sysOrganization.getOrgLevelKey())) { |
|
|
|
return rb.setMsg("请检查当前菜单是否为目前机构层级对应的角色"); |
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
return rb.setMsg("当前菜单未授权角色权限"); |
|
|
|
} |
|
|
|
} |
|
|
@ -1213,4 +1217,35 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> { |
|
|
|
} |
|
|
|
return rb.success().setData(orgList); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean selectAppHaveMessage(String menuSid, String orgPath) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//根据orgPath 查询当前组织所管理的层级
|
|
|
|
List<String> orgPathsList = Arrays.asList(orgPath.split("/")); |
|
|
|
String orgSid = orgPathsList.get(orgPathsList.size() - 1); |
|
|
|
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); |
|
|
|
if (sysOrganization == null) { |
|
|
|
return rb.setMsg("当前所在组织机构不存在"); |
|
|
|
} |
|
|
|
SysMobileMenu sysMobileMenu = sysMobileMenuService.fetchBySid(menuSid); |
|
|
|
if (sysMobileMenu == null) { |
|
|
|
return rb.setMsg("当前菜单不存在"); |
|
|
|
} |
|
|
|
//根据菜单sid查询所授权的角色
|
|
|
|
List<SysMenuRoleVoList> list = sysRoleService.selectMobileRoleList(menuSid); |
|
|
|
list.removeAll(Collections.singleton(null)); |
|
|
|
if (!list.isEmpty()) { |
|
|
|
List<String> typeList = list.stream().map(v -> v.getRoleType()).collect(Collectors.toList()); |
|
|
|
if (StringUtils.isBlank(sysOrganization.getOrgLevelKey())) { |
|
|
|
return rb.setMsg("当前组织未设置管理层级"); |
|
|
|
} |
|
|
|
if (!typeList.contains(sysOrganization.getOrgLevelKey())) { |
|
|
|
return rb.setMsg("请检查当前菜单是否为目前机构层级对应的角色"); |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
return rb.setMsg("当前菜单未授权角色权限"); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |