/*
|
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions are met:
|
*
|
* Redistributions of source code must retain the above copyright notice,
|
* this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* Neither the name of the dreamlu.net developer nor the names of its
|
* contributors may be used to endorse or promote products derived from
|
* this software without specific prior written permission.
|
* Author: Chill 庄骞 (smallchill@163.com)
|
*/
|
package org.springblade.modules.desk.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import lombok.AllArgsConstructor;
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
import org.springblade.core.secure.utils.AuthUtil;
|
import org.springblade.modules.desk.entity.Notice;
|
import org.springblade.modules.desk.mapper.NoticeMapper;
|
import org.springblade.modules.desk.service.INoticeService;
|
import org.springblade.modules.desk.vo.NoticeVO;
|
import org.springblade.modules.system.entity.User;
|
import org.springblade.modules.system.service.IDeptService;
|
import org.springblade.modules.system.service.IUserService;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Arrays;
|
import java.util.List;
|
|
/**
|
* 服务实现类
|
*
|
* @author Chill
|
*/
|
@Service
|
@AllArgsConstructor
|
public class NoticeServiceImpl extends BaseServiceImpl<NoticeMapper, Notice> implements INoticeService {
|
|
private IDeptService deptService;
|
|
|
private IUserService userService;
|
|
@Override
|
public IPage<NoticeVO> selectNoticePage(IPage<NoticeVO> page, NoticeVO notice) {
|
// 若不使用mybatis-plus自带的分页方法,则不会自动带入tenantId,所以我们需要自行注入
|
notice.setTenantId(AuthUtil.getTenantId());
|
List<NoticeVO> noticeVOS = baseMapper.selectNoticePage(page, notice);
|
if (noticeVOS.size()>0){
|
noticeVOS.forEach(noticeVO -> {
|
if (null!=noticeVO.getReceivedIds()){
|
List<String> receivedIds = Arrays.asList(noticeVO.getReceivedIds());
|
//查询用户信息
|
StringBuilder replyRealNameInfo = new StringBuilder();
|
for (String userId : receivedIds) {
|
User user = userService.getById(userId);
|
if (null!=user){
|
replyRealNameInfo = replyRealNameInfo.append(user.getRealName()).append(",");
|
}
|
}
|
//截取
|
noticeVO.setReceivedName(replyRealNameInfo.substring(0, replyRealNameInfo.length() - 1));
|
}
|
});
|
}
|
return page.setRecords(noticeVOS);
|
}
|
|
}
|