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.TbDuanxinlogMapper; import com.hxzkmonitor.mapper.TbUserMapper; import com.hxzkmonitor.pojo.TbDuanxinlog; import com.hxzkmonitor.pojo.TbUser; import com.hxzkmonitor.service.TbDuanxinlogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hxzkmonitor.util.R; 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; /** *

* 短信记录 服务实现类 *

* * @author wangfei * @since 2024-08-22 */ @Service @RequiredArgsConstructor(onConstructor = @__(@Autowired)) public class TbDuanxinlogServiceImpl extends ServiceImpl implements TbDuanxinlogService { private final TbUserMapper tbUserMapper; @Override public R searchDuanxinlog(Page page, String keyword, String username) { QueryWrapper queryWrapper3 = new QueryWrapper<>(); queryWrapper3.eq("username", username); TbUser tbUser = tbUserMapper.selectOne(queryWrapper3); if (Objects.equals(tbUser.getRole(), "超级管理员")) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", keyword); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("type", keyword); List name1 = baseMapper.selectList(queryWrapper); List type1 = baseMapper.selectList(queryWrapper2); if (name1.size() > 0) { IPage name = baseMapper.selectPage(page, queryWrapper); return R.ok(name); } else if (type1.size() > 0) { IPage type = baseMapper.selectPage(page, queryWrapper2); return R.ok(type); } else { return null; } } else { if (username!=tbUser.getUsername()){ IPage name = new Page<>(); return R.failed(name,"非管理员只能查询自己的信息!"); } QueryWrapper queryWrapper = new QueryWrapper<>(); // queryWrapper.eq("name", username); queryWrapper.eq("name", keyword); QueryWrapper queryWrapper2 = new QueryWrapper<>(); queryWrapper2.eq("type", keyword); List name1 = baseMapper.selectList(queryWrapper); List type1 = baseMapper.selectList(queryWrapper2); if (name1.size() > 0) { IPage name = baseMapper.selectPage(page, queryWrapper); return R.ok(name); } else if (type1.size() > 0) { IPage type = baseMapper.selectPage(page, queryWrapper2); return R.ok(type); } else { return null; } } } @Override public Integer delDuanxinlog(Integer id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("id", id); return baseMapper.delete(queryWrapper); } @Override public Integer addorupDuanxinlog(TbDuanxinlog tbDuanxinlog) { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); tbDuanxinlog.setAddtime(formatter.format(date)); if (tbDuanxinlog.getId() != null) { return baseMapper.updateById(tbDuanxinlog); } else { return baseMapper.insert(tbDuanxinlog); } } @Override public IPage getDuanxinlogPage(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("name", username); queryWrapper.orderByDesc("addtime"); IPage userPage = baseMapper.selectPage(page, queryWrapper); return userPage; } } }