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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hxzkmonitor.mapper.TbCompanyMapper; import com.hxzkmonitor.mapper.TbSystemWinMapper; import com.hxzkmonitor.mapper.TbTankMapper; import com.hxzkmonitor.mapper.TbUserMapper; import com.hxzkmonitor.pojo.*; import com.hxzkmonitor.service.TbSystemWinService; import com.hxzkmonitor.service.TbTankService; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Objects; @Service @RequiredArgsConstructor(onConstructor = @__(@Autowired)) public class TbTankServiceImpl extends ServiceImpl implements TbTankService { @Autowired TbTankMapper tbTankMapper; private final TbUserMapper tbUserMapper; private final TbCompanyMapper tbCompanyMapper; @Override public Integer addorupTbTank(TbTank tank) { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); tank.setAddtime(formatter.format(date)); if (tank.getId() != null) { return baseMapper.updateById(tank); } else { QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("username", tank.getCompanyname()); TbUser tbUser = tbUserMapper.selectOne(queryWrapper2); tank.setCompanyname(tbUser.getCaname()); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tankname", tank.getTankname()); queryWrapper.eq("companyname", tank.getCompanyname()); List tagid1 = baseMapper.selectList(queryWrapper); if (tagid1.size()>0){ return -1; }else{ return baseMapper.insert(tank); } } } @Override public IPage getTbTankPage(Page page, String username) { QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("username", username); TbUser tbUser = tbUserMapper.selectOne(queryWrapper2); if (Objects.equals(tbUser.getRole(), "超级管理员")) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("addtime"); IPage userPage = baseMapper.selectPage(page, queryWrapper); return userPage; } else { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("companyname", tbUser.getCaname()); queryWrapper.orderByDesc("addtime"); IPage userPage = baseMapper.selectPage(page, queryWrapper); return userPage; } } @Override public IPage searchTbTank(Page page, String keyword, String username) { QueryWrapper queryWrapperu = new QueryWrapper<>(); queryWrapperu.eq("username",username); TbUser tbUser= tbUserMapper.selectOne(queryWrapperu); if (Objects.equals(tbUser.getRole(), "超级管理员")){ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tankname", keyword); queryWrapper.orderByDesc("addtime"); List tagid1 = baseMapper.selectList(queryWrapper); if (tagid1.size() > 0) { IPage tagid = baseMapper.selectPage(page, queryWrapper); for (int i = 0; i < tagid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("companyname",tagid.getRecords().get(i).getCompanyname()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ tagid.getRecords().get(i).setCompanyname(tbCompany.getCompanyname()); } // tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return tagid; } else { return null; } }else{ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tankname", keyword); queryWrapper.eq("companyname",tbUser.getCaname()); queryWrapper.orderByDesc("addtime"); List tagid1 = baseMapper.selectList(queryWrapper); if (tagid1.size() > 0) { IPage tagid = baseMapper.selectPage(page, queryWrapper); for (int i = 0; i < tagid.getRecords().size(); i++) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); queryWrapper1.eq("companyname",tagid.getRecords().get(i).getTankname()); TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1); if (tbCompany!=null){ tagid.getRecords().get(i).setCompanyname(tbCompany.getCompanyname()); } // tagid.getRecords().get(i).setCompany(tbCompany.getCompanyname()); } return tagid; } else { return null; } } } @Override public TbTank delTbTank(Integer id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("id",id); baseMapper.delete(queryWrapper); return baseMapper.selectOne(queryWrapper); } }