package com.bizmatics.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bizmatics.common.core.bean.CommonPage; import com.bizmatics.common.mvc.base.AbstractCrudService; import com.bizmatics.model.SysPlatform; import com.bizmatics.model.SysPlatformMenu; import com.bizmatics.model.SysTenantMenu; import com.bizmatics.model.system.SysMenu; import com.bizmatics.model.vo.*; import com.bizmatics.persistence.mapper.SysPlatformMapper; import com.bizmatics.persistence.mapper.system.SysMenuMapper; import com.bizmatics.service.SysPlatformMenuService; import com.bizmatics.service.SysPlatformService; import com.bizmatics.service.util.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* 平台信息表 服务实现类 *

* * @author ya * @since 2022-05-18 */ @Service public class SysPlatformServiceImpl extends AbstractCrudService implements SysPlatformService { @Autowired private SysMenuMapper menuMapper; @Autowired private SysPlatformMenuService sysPlatformMenuService; @Override public List getPlatformBoxList() { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(SysPlatform::getStatus, "1"); List list = this.list(queryWrapper); return list; } @Override public CommonPage getPlatformList(String platformName, String startTime, String endTime, Integer page, Integer size, Integer id) { List list1 = baseMapper.getPlatformList(platformName, startTime, endTime, null, null, id); int total = 0; if (list1.size() > 0) { total = list1.size(); } Integer current = null; if (page != null && size > 0) { current = (page - 1) * size; } List list = baseMapper.getPlatformList(platformName, startTime, endTime, current, size, id); return new CommonPage<>(list, total, size, page); } @Override public Map getPlatformMenu(Long platformId){ //全部目录查询 List sysMenuListTwo = menuMapper.getSysMenuList("M"); //全部菜单查询 List sysMenuListOne = menuMapper.getSysMenuList("C"); //全部按钮列表 List sysMenuListThree = menuMapper.getSysMenuList("F"); //已选中按钮列表 LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); queryWrapper.eq(SysPlatformMenu::getPlatformId, platformId); List sysMenuListFour = sysPlatformMenuService.list(queryWrapper); List menuList = baseMapper.getMenuListOne(platformId, "F"); Long[] arr = new Long[menuList.size()]; for (int i = 0; i < menuList.size(); i++) { arr[i] = menuList.get(i).getMenuId(); } List sysMenuVoListOne = new ArrayList<>(); List SysMenuVoList = new ArrayList<>(); List SysMenuVoListOne = new ArrayList<>(); List list = new ArrayList<>(); for (int i = 0; i < sysMenuListThree.size(); i++) { SysMenuTwoVo sysMenuTwoVo = new SysMenuTwoVo(); sysMenuTwoVo.setId(sysMenuListThree.get(i).getMenuId()); sysMenuTwoVo.setName(sysMenuListThree.get(i).getMenuName()); sysMenuTwoVo.setFid(sysMenuListThree.get(i).getParentId()); long Id = sysMenuListThree.get(i).getMenuId(); sysMenuTwoVo.setChecked(false); if (sysMenuListFour.size() > 0) { for (int j = 0; j < sysMenuListFour.size(); j++) { long MenuId = sysMenuListFour.get(j).getMenuId(); if (Id == MenuId) { sysMenuTwoVo.setChecked(true); } } } else { sysMenuTwoVo.setChecked(false); } sysMenuVoListOne.add(sysMenuTwoVo); } for (int i = 0; i < sysMenuListOne.size(); i++) { SysMenuOneVo sysMenuOneVo = new SysMenuOneVo(); sysMenuOneVo.setId(sysMenuListOne.get(i).getMenuId()); sysMenuOneVo.setMenu(sysMenuListOne.get(i).getMenuName()); sysMenuOneVo.setFid(sysMenuListOne.get(i).getParentId()); long id = sysMenuListOne.get(i).getMenuId(); List sysMenuVoListTwo = new ArrayList<>(); List menuListTrue = new ArrayList<>(); for (int j = 0; j < sysMenuVoListOne.size(); j++) { long FId = sysMenuVoListOne.get(j).getFid(); Boolean pd = sysMenuVoListOne.get(j).getChecked(); if (id == FId) { sysMenuVoListTwo.add(sysMenuVoListOne.get(j)); if (pd==true){ menuListTrue.add(sysMenuVoListOne.get(j)); } } } sysMenuOneVo.setAuthority(sysMenuVoListTwo); if (menuListTrue.size()>0){ sysMenuOneVo.setChecked(true); }else { sysMenuOneVo.setChecked(false); } SysMenuVoList.add(sysMenuOneVo); } for (int i = 0; i < sysMenuListTwo.size(); i++) { SysMenuVo sysMenuVo = new SysMenuVo(); sysMenuVo.setId(sysMenuListTwo.get(i).getMenuId()); sysMenuVo.setMenu(sysMenuListTwo.get(i).getMenuName()); sysMenuVo.setFid(sysMenuListTwo.get(i).getParentId()); long id = sysMenuListTwo.get(i).getMenuId(); List SysMenuVoListThree = new ArrayList<>(); List menuListtrueOne = new ArrayList<>(); for (int j = 0; j < SysMenuVoList.size(); j++) { long FId = SysMenuVoList.get(j).getFid(); Boolean pd = SysMenuVoList.get(j).getChecked(); if (id == FId) { SysMenuVoListThree.add(SysMenuVoList.get(j)); if (pd==true){ menuListtrueOne.add(SysMenuVoList.get(j)); } } } sysMenuVo.setChildren(SysMenuVoListThree); if (menuListtrueOne.size()>0){ sysMenuVo.setChecked(true); }else { sysMenuVo.setChecked(false); } SysMenuVoListOne.add(sysMenuVo); } for (int i = 0; i < SysMenuVoListOne.size(); i++) { String name = SysMenuVoListOne.get(i).getMenu(); if (name.equals("数据管理") || name.equals("电能质量") || name.equals("系统管理")|| name.equals("租户管理")) { list.add(SysMenuVoListOne.get(i)); } else { for (int j = 0; j < SysMenuVoList.size(); j++) { String name2 = SysMenuVoList.get(j).getMenu(); if (name.equals(name2)) { list.add(SysMenuVoList.get(j)); } } } } Map ajax = new HashMap<>(); ajax.put("checkedKeys",arr); ajax.put("menus", list); return ajax; // return list; } @Override @Transactional public void updatePlatformMenu(PlatformMenuVo platformMenuVo){ SysPlatform sysPlatform = new SysPlatform(); if(platformMenuVo.getPlatformId().intValue()==0){ sysPlatform.setPlatformName(platformMenuVo.getPlatformName()); sysPlatform.setUpdateBy(SecurityUtils.getUser().getUserName()); sysPlatform.setUpdateTime(LocalDateTime.now()); this.save(sysPlatform); Integer fid = sysPlatform.getId(); platformMenuVo.setPlatformId(fid.longValue()); } Long[] arr = platformMenuVo.getMenuIds(); //菜单ID List menuIdList = baseMapper.getMenuIdListOne(arr, "F"); Long arr1[] = new Long[menuIdList.size()]; for (int i=0;i menuIdListOne = baseMapper.getMenuIdListOne(arr1, "C"); Long arr2[] = new Long[menuIdListOne.size()]; for (int i=0;i menuIdListTwo = baseMapper.getMenuIdListOne(arr, "C"); Long arr4[] = new Long[menuIdListTwo.size()]; for (int i=0;i0){ for (int i=0;i