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.mapper.TbCompanyMapper;
import com.hxzkmonitor.mapper.TbUserMapper;
import com.hxzkmonitor.pojo.TbCompany;
import com.hxzkmonitor.pojo.TbGuangbo;
import com.hxzkmonitor.mapper.TbGuangboMapper;
import com.hxzkmonitor.pojo.TbUser;
import com.hxzkmonitor.service.TbGuangboService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
*
* 服务实现类
*
*
* @author wangfei
* @since 2025-04-09
*/
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class TbGuangboServiceImpl extends ServiceImpl implements TbGuangboService {
private final TbUserMapper tbUserMapper;
private final TbCompanyMapper tbCompanyMapper;
@Override
public List getallguangbo(String username, String phone) {
QueryWrapper queryWrapperu = new QueryWrapper<>();
queryWrapperu.eq("username",username);
queryWrapperu.eq("adminphone",phone);
TbUser tbUser= tbUserMapper.selectOne(queryWrapperu);
QueryWrapper queryWrapper = new QueryWrapper<>();
if (!Objects.equals(tbUser.getRole(), "超级管理员")){
queryWrapper.eq("company",tbUser.getCsname());
}
System.out.println(tbUser.getCaname());
List guangbos = baseMapper.selectList(queryWrapper);
// queryWrapper.eq("type",1);
// queryWrapper.orderByDesc("jxtime");
// queryWrapper.last("LIMIT 20");
return baseMapper.selectList(queryWrapper);
}
@Override
public IPage searchGuangbo(Page page, String keyword) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("tagid", keyword);
queryWrapper.orderByDesc("addtime");
IPage ip = baseMapper.selectPage(page, queryWrapper);
return ip;
}
@Override
public Integer delGuangbo(Integer id) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", id);
return baseMapper.delete(queryWrapper);
}
@Override
public Integer addorupGuangbo(TbGuangbo tbGuangbo) {
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
tbGuangbo.setAddtime(formatter.format(date));
if (tbGuangbo.getId() != null) {
return baseMapper.updateById(tbGuangbo);
} else {
return baseMapper.insert(tbGuangbo);
}
}
@Override
public IPage getGuangboPage(Page page) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("addtime");
IPage GuangboPage = baseMapper.selectPage(page, queryWrapper);
for (int i = 0; i < GuangboPage.getRecords().size(); i++) {
QueryWrapper queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("id", GuangboPage.getRecords().get(i).getCompany());
TbCompany tbCompany = tbCompanyMapper.selectOne(queryWrapper1);
if (tbCompany != null) {
GuangboPage.getRecords().get(i).setCompanyname(tbCompany.getCompanyname());
}
}
return GuangboPage;
}
@Override
public List getGuangbo(String query) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.like("tagid", query);
List voicetips = baseMapper.selectList(queryWrapper);
List strings = new ArrayList<>();
for (int i = 0; i < voicetips.size(); i++) {
strings.add(voicetips.get(i).getTagid());
}
return strings;
}
@Override
public List getGuangbofive() {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("addtime");
queryWrapper.last("LIMIT 5");
List voicetips = baseMapper.selectList(queryWrapper);
List strings = new ArrayList<>();
for (int i = 0; i < voicetips.size(); i++) {
strings.add(voicetips.get(i).getTagid());
}
return strings;
}
}