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 implements MessageInfoService { @Override public void create(MessageInfoEntity messageInfoEntity) { baseDao.insert(messageInfoEntity); } @Override public PageResult getMessagePage(Integer pageNo, Integer pageSize) { Page params = new Page<>(pageNo, pageSize); IPage page = baseDao.selectPage(params, new QueryWrapper().orderByAsc("read_status").orderByDesc("send_time")); return new PageResult<>(page.getRecords(), page.getTotal()); } @Override public void readMessage(List ids) { List 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() .ge("send_time",formatter.format(keepDate)) .eq("title",title) ) > 0; } @Override public List getMessageList() { return baseDao.selectList(new QueryWrapper()); } @Override public long getUnreadMessageCount() { return baseDao.selectCount(new QueryWrapper().eq( "read_status", 0 )); } }