123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- 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;
- /**
- * <p>
- * 平台信息表 服务实现类
- * </p>
- *
- * @author ya
- * @since 2022-05-18
- */
- @Service
- public class SysPlatformServiceImpl extends AbstractCrudService<SysPlatformMapper, SysPlatform> implements SysPlatformService {
- @Autowired
- private SysMenuMapper menuMapper;
- @Autowired
- private SysPlatformMenuService sysPlatformMenuService;
- @Override
- public List<SysPlatform> getPlatformBoxList() {
- LambdaQueryWrapper<SysPlatform> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(SysPlatform::getStatus, "1");
- List<SysPlatform> list = this.list(queryWrapper);
- return list;
- }
- @Override
- public CommonPage<SysPlatformVo> getPlatformList(String platformName, String startTime, String endTime, Integer page, Integer size, Integer id) {
- List<SysPlatformVo> 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<SysPlatformVo> list = baseMapper.getPlatformList(platformName, startTime, endTime, current, size, id);
- return new CommonPage<>(list, total, size, page);
- }
- @Override
- public Map<String, Object> getPlatformMenu(Long platformId){
- //全部目录查询
- List<SysMenu> sysMenuListTwo = menuMapper.getSysMenuList("M");
- //全部菜单查询
- List<SysMenu> sysMenuListOne = menuMapper.getSysMenuList("C");
- //全部按钮列表
- List<SysMenu> sysMenuListThree = menuMapper.getSysMenuList("F");
- //已选中按钮列表
- LambdaQueryWrapper<SysPlatformMenu> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.eq(SysPlatformMenu::getPlatformId, platformId);
- List<SysPlatformMenu> sysMenuListFour = sysPlatformMenuService.list(queryWrapper);
- List<SysPlatformMenu> 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<SysMenuTwoVo> sysMenuVoListOne = new ArrayList<>();
- List<SysMenuOneVo> SysMenuVoList = new ArrayList<>();
- List<SysMenuVo> SysMenuVoListOne = new ArrayList<>();
- List<Object> 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<SysMenuTwoVo> sysMenuVoListTwo = new ArrayList<>();
- List<SysMenuTwoVo> 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<SysMenuOneVo> SysMenuVoListThree = new ArrayList<>();
- List<SysMenuOneVo> 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<String,Object> 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<SysMenu> menuIdList = baseMapper.getMenuIdListOne(arr, "F");
- Long arr1[] = new Long[menuIdList.size()];
- for (int i=0;i<menuIdList.size();i++){
- arr1[i] = menuIdList.get(i).getParentId();
- }
- //目录ID
- List<SysMenu> menuIdListOne = baseMapper.getMenuIdListOne(arr1, "C");
- Long arr2[] = new Long[menuIdListOne.size()];
- for (int i=0;i<menuIdListOne.size();i++){
- arr2[i] = menuIdListOne.get(i).getParentId();
- }
- List<SysMenu> menuIdListTwo = baseMapper.getMenuIdListOne(arr, "C");
- Long arr4[] = new Long[menuIdListTwo.size()];
- for (int i=0;i<menuIdListTwo.size();i++){
- arr4[i] = menuIdListTwo.get(i).getParentId();
- }
- Long[] arr5 =arrayMerge(arr1,arr2);
- Long[] arr6 =arrayMerge(arr5,arr4);
- Long[] arr7 =arrayMerge(arr6,arr);
- List arr3 = new ArrayList();
- for (int i=0;i<arr7.length;i++){
- if(!arr3.contains(arr7[i])){
- arr3.add(arr7[i]);
- }
- }
- // 删除租户菜单关联
- baseMapper.deletePlatformMenuBy(platformMenuVo.getPlatformId());
- //新增菜单
- if (arr3.size()>0){
- for (int i=0;i<arr3.size();i++){
- SysPlatformMenu sysPlatformMenu = new SysPlatformMenu();
- sysPlatformMenu.setMenuId((Long) arr3.get(i));
- sysPlatformMenu.setPlatformId(platformMenuVo.getPlatformId());
- sysPlatformMenuService.save(sysPlatformMenu);
- }
- }
- }
- public Long[] arrayMerge(Long[] arr1,Long[] arr2){
- Long arr3[] = new Long[arr1.length+arr2.length];
- for (int i=0;i<arr1.length;i++){
- arr3[i] = arr1[i];
- }
- for (int i=0;i<arr2.length;i++){
- arr3[i+arr1.length] = arr2[i];
- }
- return arr3;
- }
- }
|