package com.iailab.module.shasteel.job.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.iailab.framework.common.pojo.PageResult;
|
import com.iailab.framework.common.service.impl.BaseServiceImpl;
|
import com.iailab.module.shasteel.job.dao.MessageInfoDao;
|
import com.iailab.module.shasteel.job.entity.MessageInfoEntity;
|
import com.iailab.module.shasteel.job.service.MessageInfoService;
|
import com.mysql.cj.util.TimeUtil;
|
import org.springframework.stereotype.Service;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.Date;
|
import java.util.List;
|
|
@Service
|
public class MessageInfoServiceImpl extends BaseServiceImpl<MessageInfoDao, MessageInfoEntity> implements MessageInfoService {
|
|
@Override
|
public void create(MessageInfoEntity messageInfoEntity) {
|
baseDao.insert(messageInfoEntity);
|
}
|
|
@Override
|
public PageResult<MessageInfoEntity> getMessagePage(Integer pageNo, Integer pageSize) {
|
Page<MessageInfoEntity> params = new Page<>(pageNo, pageSize);
|
IPage<MessageInfoEntity> page = baseDao.selectPage(params, new QueryWrapper<MessageInfoEntity>().orderByAsc("read_status").orderByDesc("sendTime"));
|
return new PageResult<>(page.getRecords(), page.getTotal());
|
}
|
|
@Override
|
public void readMessage(List<String> ids) {
|
List<MessageInfoEntity> list = baseDao.selectBatchIds(ids);
|
list.forEach(
|
item -> item.setReadStatus("1")
|
);
|
baseDao.updateById(list);
|
}
|
|
@Override
|
public boolean getIsSuggestKeep(String title) {
|
Date currentDate = new Date();
|
Calendar calendar = Calendar.getInstance();
|
calendar.setTime(currentDate);
|
calendar.add(Calendar.MINUTE, -15);
|
Date keepDate = calendar.getTime();
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
return baseDao.selectCount(new QueryWrapper<MessageInfoEntity>()
|
.ge("send_time",formatter.format(keepDate))
|
.eq("title",title)
|
) > 0;
|
}
|
|
@Override
|
public List<MessageInfoEntity> getMessageList() {
|
return baseDao.selectList(new QueryWrapper<MessageInfoEntity>());
|
}
|
|
@Override
|
public long getUnreadMessageCount() {
|
return baseDao.selectCount(new QueryWrapper<MessageInfoEntity>().eq(
|
"read_status", 0
|
));
|
}
|
}
|