优化
This commit is contained in:
@ -4,6 +4,11 @@ import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.zbf.bo.ZbfMessageQueryBo;
|
||||
import com.ruoyi.zbf.domain.ZbfMessage;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfMessageDetailDTO;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfMessageMyListDTO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageCountVO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageDetailVO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageVO;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -68,5 +73,18 @@ public interface IZbfMessageService extends IServicePlus<ZbfMessage> {
|
||||
*/
|
||||
void operationBatch(String recipientType,Long recipientId,List<Long> tableIds,String tableName);
|
||||
|
||||
/**
|
||||
* 总包方的未读消息统计
|
||||
*/
|
||||
ZbfMessageCountVO countUnread();
|
||||
|
||||
/**
|
||||
* 总包方消息列表
|
||||
*/
|
||||
TableDataInfo<ZbfMessageVO> queryMyPageList(ZbfMessageMyListDTO dto);
|
||||
|
||||
/**
|
||||
* 消息详情列表
|
||||
*/
|
||||
TableDataInfo<ZbfMessageDetailVO> queryDetailPageList(ZbfMessageDetailDTO dto);
|
||||
}
|
||||
|
@ -8,18 +8,28 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.enums.BgtMessageType;
|
||||
import com.ruoyi.common.utils.PageUtils;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.zbf.bo.ZbfMessageQueryBo;
|
||||
import com.ruoyi.zbf.domain.ZbfMessage;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfMessageDetailDTO;
|
||||
import com.ruoyi.zbf.domain.dto.ZbfMessageMyListDTO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageCountVO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageDetailVO;
|
||||
import com.ruoyi.zbf.domain.vo.ZbfMessageVO;
|
||||
import com.ruoyi.zbf.mapper.ZbfMessageMapper;
|
||||
import com.ruoyi.zbf.service.IZbfMessageService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalTime;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.OPERATION_ALREADY;
|
||||
import static com.ruoyi.common.constants.WgzAndBgtMessageConstant.OPERATION_NEED;
|
||||
|
||||
/**
|
||||
* 消息Service业务层处理
|
||||
@ -124,4 +134,52 @@ public class ZbfMessageServiceImpl extends ServicePlusImpl<ZbfMessageMapper, Zbf
|
||||
update(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ZbfMessageCountVO countUnread() {
|
||||
List<ZbfMessage> zbfMessages = baseMapper.selectList(Wrappers.<ZbfMessage>lambdaQuery()
|
||||
.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId())
|
||||
.eq(ZbfMessage::getReadStatus, "0"));
|
||||
Map<String, Long> map = zbfMessages.stream().collect(Collectors.groupingBy(ZbfMessage::getMessageLargeType, Collectors.counting()));
|
||||
|
||||
ZbfMessageCountVO zbfMessageCountVO = new ZbfMessageCountVO();
|
||||
zbfMessageCountVO.setTaskMessageCount(map.getOrDefault(BgtMessageType.TASK.getCode(), 0L).intValue());
|
||||
zbfMessageCountVO.setSettlementMessageCount(map.getOrDefault(BgtMessageType.SETTLEMENT.getCode(), 0L).intValue());
|
||||
zbfMessageCountVO.setOtherMessageCount(map.getOrDefault(BgtMessageType.OTHER.getCode(), 0L).intValue());
|
||||
|
||||
Integer handle = baseMapper.selectCount(Wrappers.<ZbfMessage>lambdaQuery()
|
||||
.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId())
|
||||
.eq(ZbfMessage::getIsOperation, OPERATION_NEED));
|
||||
zbfMessageCountVO.setHandleMessageCount(handle);
|
||||
return zbfMessageCountVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<ZbfMessageVO> queryMyPageList(ZbfMessageMyListDTO dto) {
|
||||
LambdaQueryWrapper<ZbfMessage> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId());
|
||||
wrapper.orderByDesc(ZbfMessage::getCreateTime);
|
||||
Page<ZbfMessage> result = page(PageUtils.buildPage(), wrapper);
|
||||
Page<ZbfMessageVO> page = new Page<>();
|
||||
page.setTotal(result.getTotal());
|
||||
page.setRecords(BeanUtil.copyToList(result.getRecords(), ZbfMessageVO.class));
|
||||
return PageUtils.buildDataInfo(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<ZbfMessageDetailVO> queryDetailPageList(ZbfMessageDetailDTO dto) {
|
||||
LambdaQueryWrapper<ZbfMessage> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ZbfMessage::getRecipientId, SecurityUtils.getAppUserId());
|
||||
wrapper.eq(StrUtil.isNotBlank(dto.getMessageLargeType()), ZbfMessage::getMessageLargeType, dto.getMessageLargeType());
|
||||
wrapper.eq(StrUtil.isNotBlank(dto.getMessageSmallType()), ZbfMessage::getMessageSmallType, dto.getMessageSmallType());
|
||||
wrapper.eq(dto.getIsHandle(), ZbfMessage::getIsOperation,OPERATION_NEED);
|
||||
if(dto.getDate() != null) {
|
||||
wrapper.between(ZbfMessage::getCreateTime, dto.getDate().atStartOfDay(), dto.getDate().atStartOfDay().with(LocalTime.MAX));
|
||||
}
|
||||
wrapper.orderByDesc(ZbfMessage::getId);
|
||||
Page<ZbfMessage> result = page(PageUtils.buildPage(), wrapper);
|
||||
Page<ZbfMessageDetailVO> page = new Page<>();
|
||||
page.setTotal(result.getTotal());
|
||||
page.setRecords(BeanUtil.copyToList(result.getRecords(), ZbfMessageDetailVO.class));
|
||||
return PageUtils.buildDataInfo(page);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user