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;
|
|
/**
|
* <p>
|
* 短信记录 服务实现类
|
* </p>
|
*
|
* @author wangfei
|
* @since 2024-08-22
|
*/
|
@Service
|
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
|
public class TbDuanxinlogServiceImpl extends ServiceImpl<TbDuanxinlogMapper, TbDuanxinlog> 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<TbDuanxinlog> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("name", keyword);
|
QueryWrapper<TbDuanxinlog> queryWrapper2 = new QueryWrapper<>();
|
queryWrapper2.eq("type", keyword);
|
List<TbDuanxinlog> name1 = baseMapper.selectList(queryWrapper);
|
List<TbDuanxinlog> type1 = baseMapper.selectList(queryWrapper2);
|
|
if (name1.size() > 0) {
|
IPage<TbDuanxinlog> name = baseMapper.selectPage(page, queryWrapper);
|
return R.ok(name);
|
} else if (type1.size() > 0) {
|
IPage<TbDuanxinlog> type = baseMapper.selectPage(page, queryWrapper2);
|
return R.ok(type);
|
} else {
|
return null;
|
}
|
} else {
|
if (username!=tbUser.getUsername()){
|
IPage<TbDuanxinlog> name = new Page<>();
|
return R.failed(name,"非管理员只能查询自己的信息!");
|
}
|
QueryWrapper<TbDuanxinlog> queryWrapper = new QueryWrapper<>();
|
// queryWrapper.eq("name", username);
|
queryWrapper.eq("name", keyword);
|
QueryWrapper<TbDuanxinlog> queryWrapper2 = new QueryWrapper<>();
|
queryWrapper2.eq("type", keyword);
|
List<TbDuanxinlog> name1 = baseMapper.selectList(queryWrapper);
|
List<TbDuanxinlog> type1 = baseMapper.selectList(queryWrapper2);
|
|
if (name1.size() > 0) {
|
IPage<TbDuanxinlog> name = baseMapper.selectPage(page, queryWrapper);
|
return R.ok(name);
|
} else if (type1.size() > 0) {
|
IPage<TbDuanxinlog> 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<TbDuanxinlog> 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<TbDuanxinlog> userPage = baseMapper.selectPage(page, queryWrapper);
|
return userPage;
|
|
} else {
|
QueryWrapper queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("name", username);
|
queryWrapper.orderByDesc("addtime");
|
IPage<TbDuanxinlog> userPage = baseMapper.selectPage(page, queryWrapper);
|
return userPage;
|
}
|
|
}
|
}
|