|
@@ -2,10 +2,14 @@ package com.huimv.admin.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
+import com.huimv.admin.common.utils.ConstUtil;
|
|
|
+import com.huimv.admin.common.utils.ResultUtil;
|
|
|
import com.huimv.admin.entity.AccountGroup;
|
|
|
+import com.huimv.admin.entity.Farm;
|
|
|
import com.huimv.admin.entity.GroupMenu;
|
|
|
import com.huimv.admin.entity.Menu;
|
|
|
import com.huimv.admin.mapper.AccountGroupMapper;
|
|
|
+import com.huimv.admin.mapper.FarmMapper;
|
|
|
import com.huimv.admin.mapper.GroupMenuMapper;
|
|
|
import com.huimv.admin.mapper.MenuMapper;
|
|
|
import com.huimv.admin.service.IAuthorizeService;
|
|
@@ -16,7 +20,9 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
@Service
|
|
|
public class AuthorizeServiceImpl implements IAuthorizeService {
|
|
@@ -27,6 +33,8 @@ public class AuthorizeServiceImpl implements IAuthorizeService {
|
|
|
GroupMenuMapper groupMenuMapper;
|
|
|
@Autowired
|
|
|
private MenuMapper menuMapper;
|
|
|
+ @Autowired
|
|
|
+ private FarmMapper farmMapper;
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
@@ -65,80 +73,92 @@ public class AuthorizeServiceImpl implements IAuthorizeService {
|
|
|
* Step1:先删除原先的权限组关联菜单数据;
|
|
|
* Step2:再添加新的账号权限组关联菜单数据;
|
|
|
*/
|
|
|
- groupMenuMapper.removeGroupMenu(groupId);
|
|
|
- if (StringUtils.isNotBlank(menuIds)) {
|
|
|
+ QueryWrapper<GroupMenu> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(groupId),"group_id",groupId);
|
|
|
+ groupMenuMapper.delete(queryWrapper);
|
|
|
+ if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(menuIds)) {
|
|
|
String[] menuIdsArray = menuIds.split(",");
|
|
|
+ String[] split = isAll.split(",");
|
|
|
+ boolean isAlla = StringUtils.isNotBlank(isAll);
|
|
|
for (int a = 0; a < menuIdsArray.length; a++) {
|
|
|
- GroupMenu GroupMenu = new GroupMenu();
|
|
|
- GroupMenu.setGroupId(Integer.parseInt(groupId));
|
|
|
- GroupMenu.setMenuId(Integer.parseInt(menuIdsArray[a]));
|
|
|
- groupMenuMapper.insert(GroupMenu);
|
|
|
+ GroupMenu groupMenu = new GroupMenu();
|
|
|
+ groupMenu.setGroupId(Integer.parseInt(groupId));
|
|
|
+ groupMenu.setMenuId(Integer.parseInt(menuIdsArray[a]));
|
|
|
+ if (isAlla){
|
|
|
+ for (String s : split) {
|
|
|
+ if (groupMenu.getMenuId() == Integer.parseInt(s)) {
|
|
|
+ groupMenu.setIsAll(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ groupMenuMapper.insert(groupMenu);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
- return new Result(10000, "保存权限组关联菜单成功", true);
|
|
|
+ return ResultUtil.getResult(1);
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
+ @Override
|
|
|
+ public Result getMenuByGroup(Map paramsMap) {
|
|
|
+ String groupId = (String) paramsMap.get("groupId");
|
|
|
+ String isAll = (String)paramsMap.get("isAll");
|
|
|
+ String[] isAllArray = isAll.split(",");
|
|
|
+ String menuIds = (String)paramsMap.get("menuIds");
|
|
|
+ String[] menuArray = menuIds.split(",");
|
|
|
+ // 过滤上级菜单id
|
|
|
+ List<String> menuList = new ArrayList();
|
|
|
+ for(int a=0;a<menuArray.length;a++){
|
|
|
+ boolean isExist = false;
|
|
|
+ for(int b=0;b<isAllArray.length;b++){
|
|
|
+ if(menuArray[a].trim().equalsIgnoreCase(isAllArray[b])){
|
|
|
+ isExist = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!isExist){
|
|
|
+ menuList.add(menuArray[a]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //-- 删除权限组绑定才菜单 --//
|
|
|
+ QueryWrapper<GroupMenu> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(groupId),"group_id",groupId);
|
|
|
+ groupMenuMapper.delete(queryWrapper);
|
|
|
+ //-- 新增权限组绑定菜单 --//
|
|
|
+ int rows = 0;
|
|
|
+ for(int a=0;a<menuList.size();a++){
|
|
|
+ GroupMenu newGroupMenu = new GroupMenu();
|
|
|
+ newGroupMenu.setGroupId(Integer.parseInt(groupId));
|
|
|
+ newGroupMenu.setMenuId(Integer.parseInt(menuList.get(a)));
|
|
|
+ rows += groupMenuMapper.insert(newGroupMenu);
|
|
|
+ }
|
|
|
+ return ResultUtil.getResult(rows);
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
- public Result getMenuByGroup(String groupId) {
|
|
|
- /* 根据权限组读取已关联菜单 */
|
|
|
- QueryWrapper<GroupMenu> groupMenuQueryWrapper = new QueryWrapper<>();
|
|
|
- groupMenuQueryWrapper.eq("group_id",groupId);
|
|
|
- List<GroupMenu> groupMenuEntityList = groupMenuMapper.selectList(groupMenuQueryWrapper);
|
|
|
- if (groupMenuEntityList.size() == 0) {
|
|
|
- return new Result(10005, "当前权限组暂未关联任何菜单.", false);
|
|
|
+ public Result getMenuByGroupAndFarm(Map<String, String> map) {
|
|
|
+ String groupId = (String) map.get("groupId");
|
|
|
+ String farmId = (String) map.get("farmId");
|
|
|
+ Farm farm = farmMapper.selectById(farmId);
|
|
|
+ String farmMenu = farm.getFarmMenu();
|
|
|
+ if (StringUtils.isNotBlank(farmMenu)){
|
|
|
+ return new Result(ConstUtil.ERR_MYMENU_EMPTY_CODE,"该牧场无任何授权菜单",false);
|
|
|
}
|
|
|
- /* 读取所有菜单 */
|
|
|
- List<Menu> allMenuList = menuMapper.selectList(null);
|
|
|
- if (allMenuList.size() == 0) {
|
|
|
- return new Result(10007, "当前无任何菜单.", false);
|
|
|
+ List<String> list = Arrays.asList(farmMenu);
|
|
|
+ QueryWrapper<GroupMenu> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq(StringUtils.isNotBlank(groupId),"group_id",groupId);
|
|
|
+ queryWrapper.in("group_id",list);
|
|
|
+ List<GroupMenu> sysGroupMenuList = groupMenuMapper.selectList(queryWrapper);
|
|
|
+ if(sysGroupMenuList.size() == 0){
|
|
|
+ return new Result(ConstUtil.ERR_MYMENU_EMPTY_CODE,ConstUtil.ERR_MYMENU_EMPTY_INFO,false);
|
|
|
}
|
|
|
- List<GroupMenu> newList = new ArrayList();
|
|
|
- StringBuilder idSb2 = new StringBuilder();
|
|
|
-
|
|
|
- for (int a = 0; a < groupMenuEntityList.size(); a++) {
|
|
|
- GroupMenu groupMenuEntity = groupMenuEntityList.get(a);
|
|
|
- for (Menu menuEntity : allMenuList) {
|
|
|
- if (menuEntity.getId().equals(groupMenuEntity.getMenuId())) {
|
|
|
- if (menuEntity.getParentId() == 0) {
|
|
|
- if (idSb2.length() > 0) {
|
|
|
- idSb2.append(",");
|
|
|
- }
|
|
|
- idSb2.append(groupMenuEntity.getMenuId());
|
|
|
- break;
|
|
|
- } else {
|
|
|
- boolean isChild = false;
|
|
|
- for (Menu menuEntity2 : allMenuList) {
|
|
|
- if (menuEntity2.getParentId().equals(groupMenuEntity.getMenuId())) {
|
|
|
- isChild = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- if (!isChild) {
|
|
|
- if (idSb2.length() > 0) {
|
|
|
- idSb2.append(",");
|
|
|
- }
|
|
|
- idSb2.append(groupMenuEntity.getMenuId());
|
|
|
- }
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ StringBuilder menuIdSb = new StringBuilder();
|
|
|
+ for(GroupMenu groupMenu:sysGroupMenuList){
|
|
|
+ menuIdSb.append(groupMenu.getMenuId());
|
|
|
+ if(menuIdSb.length()>0){
|
|
|
+ menuIdSb.append(",");
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
-// StringBuilder idSb = new StringBuilder();
|
|
|
-// for (GroupMenu groupMenuEntity : groupMenuEntityList) {
|
|
|
-// if (idSb.length() > 0) {
|
|
|
-// idSb.append(",");
|
|
|
-// }
|
|
|
-// idSb.append(groupMenuEntity.getMenuId());
|
|
|
-// }
|
|
|
- return new Result(ResultCode.SUCCESS, idSb2.toString());
|
|
|
+ return new Result(ResultCode.SUCCESS,menuIdSb.toString());
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -164,10 +184,10 @@ public class AuthorizeServiceImpl implements IAuthorizeService {
|
|
|
return new Result(ResultCode.SUCCESS, idSb.toString());
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public Result getAccountByGroup(String groupId) {
|
|
|
/* 根据账号id读取已关联权限组 */
|
|
|
-
|
|
|
QueryWrapper<AccountGroup> accountGroupQueryWrapper = new QueryWrapper<>();
|
|
|
accountGroupQueryWrapper.eq("group_id",groupId);
|
|
|
List<AccountGroup> accountGroupEntityList = accountGroupMapper.selectList(accountGroupQueryWrapper);
|
|
@@ -211,4 +231,5 @@ public class AuthorizeServiceImpl implements IAuthorizeService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
}
|