admin权限修改,注册逻辑修改

This commit is contained in:
18792927508
2024-04-09 16:22:08 +08:00
parent 6559304793
commit 02ba078238
7 changed files with 434 additions and 404 deletions
@@ -21,6 +21,7 @@ import com.ruoyi.framework.manager.AsyncManager;
import com.ruoyi.framework.manager.factory.AsyncFactory;
import com.ruoyi.framework.security.context.AuthenticationContextHolder;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -56,6 +57,8 @@ public class SysLoginService
private ISysConfigService configService;
@Autowired
private SysRoleMapper roleMapper;
@Autowired
private SysUserMapper userMapper;
/**
* 登录验证
@@ -231,7 +234,12 @@ public class SysLoginService
AjaxResult ajax = AjaxResult.success();
String username = loginBody.getUsername();
// 根据用户名获取用户信息,如果用户不存在则新增用户
SysUser user = userService.selectUserByUserName(username);
SysUser user =null;
if(username.contains("@")) {
user= userMapper.selectUserByEmail(username);
}else {
user= userService.selectUserByUserName(username);
}
if(user==null){
// 新增用户
user = new SysUser();
@@ -63,7 +63,9 @@ public class SysPermissionService
// 管理员拥有所有权限
if (user.isAdmin())
{
perms.add("*:*:*");
// 查询所有数据权限,排除案件管理下的权限即可
perms.addAll(menuService.selectAdminMenu());
// perms.add("*:*:*");
}
else
{
@@ -1,11 +1,12 @@
package com.ruoyi.system.service;
import java.util.List;
import java.util.Set;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.system.domain.vo.RouterVo;
import java.util.List;
import java.util.Set;
/**
* 菜单 业务层
*
@@ -141,4 +142,11 @@ public interface ISysMenuService
* @return 结果
*/
public boolean checkMenuNameUnique(SysMenu menu);
/**
* 查询管理员权限
* @return
*/
Set<String> selectAdminMenu();
}
@@ -1,15 +1,6 @@
package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.hutool.core.collection.CollectionUtil;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.TreeSelect;
@@ -24,6 +15,11 @@ import com.ruoyi.system.mapper.SysMenuMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysRoleMenuMapper;
import com.ruoyi.system.service.ISysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
* 菜单 业务层处理
@@ -120,6 +116,28 @@ public class SysMenuServiceImpl implements ISysMenuService
}
return permsSet;
}
/**
* 查询管理员权限
* @return
*/
@Override
public Set<String> selectAdminMenu() {
Set<String> permsSet = new HashSet<>();
List<SysMenu> sysMenus = menuMapper.selectMenuList(new SysMenu());
Long caseMenuId =null;
if(CollectionUtil.isNotEmpty(sysMenus)){
Optional<SysMenu> optional = sysMenus.stream().filter(sysMenu -> sysMenu.getMenuName().equals("案件列表")).findFirst();
if(optional.isPresent()){
caseMenuId= optional.get().getMenuId();
}
for (SysMenu sysMenu : sysMenus) {
if(!sysMenu.getParentId().equals(caseMenuId)&&StringUtils.isNotEmpty(sysMenu.getPerms())){
permsSet.addAll(Arrays.asList(sysMenu.getPerms().trim().split(",")));
}
}
}
return permsSet;
}
/**
* 根据用户ID查询菜单
@@ -346,6 +364,8 @@ public class SysMenuServiceImpl implements ISysMenuService
return UserConstants.UNIQUE;
}
/**
* 获取路由名称
*
@@ -483,11 +483,11 @@ public class SysUserServiceImpl implements ISysUserService {
checkUserDataScope(userId);
}
// 删除用户与角色关联
userRoleMapper.deleteUserRole(userIds);
// userRoleMapper.deleteUserRole(userIds);
// 删除用户与岗位关联
userPostMapper.deleteUserPost(userIds);
// userPostMapper.deleteUserPost(userIds);
// 删除用户部门关联
userDeptMapper.deleteUserByIds(userIds);
// userDeptMapper.deleteUserByIds(userIds);
int i = userMapper.deleteUserByIds(userIds);
for (Long userId : userIds) {
// 删除缓存
@@ -120,18 +120,11 @@ public class WeChatUserServiceImpl implements WeChatUserService {
if(checkPhoneUnique!=null){
return AjaxResult.warn("手机号已存在");
}
SysUser checkEmailUnique = sysUserMapper.checkEmailUnique(ientityAuthentication.getEmail());
if(checkEmailUnique!=null){
return AjaxResult.warn("邮箱已存在");
}
// 根据身份证查询系统用户表中是否存在该用户,存在则同步已认证的信息,不存在则新增
SysUser sysUser=sysUserMapper.selectUserByIdCard(ientityAuthentication.getIdentityNo());
// 根据邮箱查询系统用户表中是否存在该用户,存在则同步已认证的信息,不存在则新增
SysUser sysUser=sysUserMapper.selectUserByEmail(ientityAuthentication.getEmail());
// 查询角色
Long roleIdByName =ientityAuthentication.getRoleId();
// if(roleIdByName==null){
// return AjaxResult.warn("被申请人角色不存在,请联系系统管理员新增角色");
// }
if(sysUser!=null){
sysUser.setIdCard(ientityAuthentication.getIdentityNo());
sysUser.setNickName(ientityAuthentication.getName());
@@ -145,7 +138,6 @@ public class WeChatUserServiceImpl implements WeChatUserService {
ientityAuthentication.setUserId(sysUser.getUserId());
int count=0;
if(CollectionUtil.isNotEmpty(sysUser.getRoles()) && roleIdByName!=null){
for (SysRole role : sysUser.getRoles()) {
if(Objects.equals(role.getRoleId(), roleIdByName)){
count++;
@@ -1806,8 +1806,8 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
if(CollectionUtil.isEmpty(operatorList)){
return AjaxResult.error("未找到案件操作人员");
}
long applicantCount = operatorList.stream().filter(affiliate -> (affiliate.getRoleType() != null) && (affiliate.getRoleType().equals(1) || affiliate.getRoleType().equals(2))).count();
long resCount = operatorList.stream().filter(affiliate -> (affiliate.getRoleType() != null) && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).count();
long applicantCount = operatorList.stream().filter(affiliate ->StrUtil.isNotEmpty(affiliate.getPhone())&& (affiliate.getRoleType() != null) && (affiliate.getRoleType().equals(1) || affiliate.getRoleType().equals(2))).count();
long resCount = operatorList.stream().filter(affiliate ->StrUtil.isNotEmpty(affiliate.getPhone())&& (affiliate.getRoleType() != null) && (affiliate.getRoleType().equals(3) || affiliate.getRoleType().equals(4))).count();
if(applicantCount==0 && resCount==0){
return AjaxResult.error("申请人操作人、被申请人操作人手机号不存在,请修改案件信息");
}else if(applicantCount==0 ){
@@ -2534,6 +2534,9 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
}
// 调解结果
Integer mediaResult = req.getMediaResult();
if (mediaResult == null) {
return AjaxResult.error("请选择调解结果");
}
if (application.getMediationMethod().equals("1")) {
// 线上调解
List<MsCaseAttach> attachList = req.getAttachList();
@@ -2639,7 +2642,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
double positionX = coordinateObj.getDoubleValue("positionX");
double positionY = coordinateObj.getDoubleValue("positionY");
sealSignRecord.setPositionXpsn(positionX + 120);
sealSignRecord.setPositionYpsn(positionY+40);
sealSignRecord.setPositionYpsn(positionY + 40);
}
} else if (keyword.equals("被申请人(签字):")) {
//签名
@@ -2654,7 +2657,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
double positionX = coordinateObj.getDoubleValue("positionX");
double positionY = coordinateObj.getDoubleValue("positionY");
sealSignRecord.setPositionXpsnRes(positionX + 120);
sealSignRecord.setPositionYpsnRes(positionY+10 );
sealSignRecord.setPositionYpsnRes(positionY + 10);
}
} else if (keyword.equals("调解员(签字):")) {
//签名
@@ -2669,7 +2672,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
double positionX = coordinateObj.getDoubleValue("positionX");
double positionY = coordinateObj.getDoubleValue("positionY");
sealSignRecord.setPositionXpsnMedi(positionX + 120);
sealSignRecord.setPositionYpsnMedi(positionY+10 );
sealSignRecord.setPositionYpsnMedi(positionY + 10);
}
} else {
// 设置用印位置
@@ -2854,6 +2857,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
}
application.setMediaResult(mediaResult);
application.setSealFlag(req.getSealFlag());
msCaseApplicationMapper.updateByPrimaryKeySelective(application);
} else {
return AjaxResult.error();
@@ -2867,10 +2871,9 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
}
}
}
return AjaxResult.success();
} else if (mediaResult.intValue() == 2) {
} else if (mediaResult == 2) {
//未达成调解
//todo 发送终止调解短信,尊敬的{1}用户,您的{2}调解案件已终止调解,如非本人操作,请忽略本短信
// 申请人短信
@@ -2920,7 +2923,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
msCaseApplicationMapper.updateByPrimaryKey(application);
}
return AjaxResult.success();
} else if (mediaResult.intValue() == 3) {
} else if (mediaResult == 3) {
//未达成调解但不再争议
// 修改案件状态为结束
Example flowExample = new Example(MsCaseFlow.class);
@@ -2937,7 +2940,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
CaseLogUtils.insertCaseLog(application.getId(), caseFlow.getNodeId(), caseFlow.getCaseStatusName(), null);
}
return AjaxResult.success();
} else if (mediaResult.intValue() == 4) {
} else if (mediaResult == 4) {
//未达成调解但同意引入仲裁
String accessSec = "mCFMA6ffe938v79m";
MsCaseApplicationVO applicationVO = new MsCaseApplicationVO();
@@ -2946,7 +2949,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
CaseApplicationVO caseApplicationVO = new CaseApplicationVO();
BeanUtils.copyProperties(applicationVO, caseApplicationVO);
boolean importFlag = applicationVO.isImportFlag();
if (importFlag == true) {
if (importFlag) {
caseApplicationVO.setImportFlag(1);
} else {
caseApplicationVO.setImportFlag(0);
@@ -2976,7 +2979,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
}
return AjaxResult.success();
} else if (mediaResult.intValue() == 5) {
} else if (mediaResult == 5) {
// 达成和解
List<MsCaseAttach> caseAttachList = msCaseAttachMapper.queryAnnexPathByCaseId(req.getId());
if (caseAttachList != null && caseAttachList.size() > 0) {
@@ -3178,10 +3181,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
}
}
}
else
{
} else {
// 线下调解
List<MsCaseAttach> attachList = req.getAttachList();
if (CollectionUtil.isEmpty(attachList)) {
@@ -3270,8 +3270,8 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
}
return AjaxResult.success();
}
return AjaxResult.error();
}
/**
* 确定会议结果