package com.hxzkmonitor.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hxzkmonitor.pojo.TbMenus;
import com.hxzkmonitor.pojo.TbMenus;
import com.hxzkmonitor.mapper.TbMenusMapper;
import com.hxzkmonitor.service.TbMenusService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author wangfei
* @since 2024-08-07
*/
@Service
public class TbMenusServiceImpl extends ServiceImpl implements TbMenusService {
@Override
public IPage searchMenus(Page page, String keyword) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("Menusname", keyword);
IPage tagid = baseMapper.selectPage(page, queryWrapper);
return tagid;
}
@Override
public Integer delMenus(Integer id) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", id);
return baseMapper.delete(queryWrapper);
}
@Override
public Integer addorupMenus(TbMenus tbMenus) {
QueryWrapper queryWrapper = new QueryWrapper<>();
QueryWrapper queryWrapper1 = new QueryWrapper<>();
if (tbMenus.getIsfk()!=""){
queryWrapper.eq("authlevel","4");
queryWrapper.eq("name",tbMenus.getName());
TbMenus tbMenus1 = baseMapper.selectOne(queryWrapper);
if (tbMenus1.getAuthrole()==null){
tbMenus1.setAuthrole(tbMenus.getIsfk());
baseMapper.updateById(tbMenus1);
}
}else{
queryWrapper.eq("authlevel","4");
queryWrapper.eq("name",tbMenus.getName());
TbMenus tbMenus1 = baseMapper.selectOne(queryWrapper);
if (tbMenus1.getAuthrole()!=null ){
tbMenus1.setAuthrole(null);
baseMapper.updateById(tbMenus1);
}
}
if (tbMenus.getIspg()!=""){
queryWrapper1.eq("authlevel","3");
queryWrapper1.eq("name",tbMenus.getName());
TbMenus tbMenus2 = baseMapper.selectOne(queryWrapper1);
if (tbMenus2.getAuthrole()==null){
tbMenus2.setAuthrole(tbMenus.getIspg());
baseMapper.updateById(tbMenus2);
}
}else{
queryWrapper1.eq("authlevel","3");
queryWrapper1.eq("name",tbMenus.getName());
TbMenus tbMenus2 = baseMapper.selectOne(queryWrapper1);
if (tbMenus2.getAuthrole()!=null){
tbMenus2.setAuthrole(null);
baseMapper.updateById(tbMenus2);
}
}
// if (tbMenus.getId() != null) {
QueryWrapper queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("name",tbMenus.getName());
List tbMenus2 = baseMapper.selectList(queryWrapper2);
for (int i = 0; i < tbMenus2.size(); i++) {
tbMenus.setId(tbMenus2.get(i).getId());
tbMenus2.get(i).setTitle(tbMenus.getTitle());
tbMenus2.get(i).setIcon(tbMenus.getIcon());
baseMapper.updateById(tbMenus2.get(i));
}
return 0;
//// } else {
// return baseMapper.insert(tbMenus);
// }
}
@Override
public IPage getMenusPage(Page page) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("authrole","daohang");
IPage MenusPage = baseMapper.selectPage(page, queryWrapper);
for (int i = 0; i < MenusPage.getRecords().size(); i++) {
QueryWrapper queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("authrole","普通管理员");
queryWrapper1.eq("title",MenusPage.getRecords().get(i).getTitle());
if ( baseMapper.selectList(queryWrapper1).size()>0){
MenusPage.getRecords().get(i).setIspg("普通管理员");
}
QueryWrapper queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("authrole","访客");
queryWrapper2.eq("title",MenusPage.getRecords().get(i).getTitle());
// TbMenus tbMenus1 = baseMapper.selectOne(queryWrapper2);
if (baseMapper.selectList(queryWrapper2).size()>0){
MenusPage.getRecords().get(i).setIsfk("访客");
}
}
return MenusPage;
}
}