package org.springblade.modules.directive.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import lombok.AllArgsConstructor;
|
import org.springblade.modules.directive.entity.Directive;
|
import org.springblade.modules.directive.entity.DirectiveFile;
|
import org.springblade.modules.directive.mapper.DirectiveMapper;
|
import org.springblade.modules.directive.service.DirectiveService;
|
import org.springblade.modules.directive.vo.DirectiveVo;
|
import org.springblade.modules.system.entity.User;
|
import org.springblade.modules.system.service.IUserService;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* 指令服务实现类
|
* @author zhongrj
|
*/
|
@Service
|
@AllArgsConstructor
|
public class DirectiveServiceImpl extends ServiceImpl<DirectiveMapper, Directive> implements DirectiveService {
|
|
private final IUserService userService;
|
|
|
|
/**
|
* 指令分页信息
|
* @param page
|
* @param directive 指令信息对象
|
* @return
|
*/
|
@Override
|
public IPage<DirectiveVo> selectDirectivePage(IPage<DirectiveVo> page, DirectiveVo directive) {
|
IPage<DirectiveVo> directiveVoIPage = page.setRecords(baseMapper.selectDirectivePage(page, directive));
|
//去除接收人ids,查询出接收人名字
|
List<DirectiveVo> records = directiveVoIPage.getRecords();
|
for (DirectiveVo record : records) {
|
String[] receiveDirectiveIds = record.getReceiveDirectiveIds().toString().split(",");
|
StringBuilder builder = new StringBuilder();
|
for (String receiveDirectiveId : receiveDirectiveIds) {
|
User user = userService.getById(receiveDirectiveId);
|
builder.append(user.getRealName()).append(",");
|
}
|
//查询图片
|
List<DirectiveFile> directiveFiles = baseMapper.getDirectiveFileList(record.getId());
|
if (directiveFiles.size()>0){
|
StringBuilder builderFile = new StringBuilder();
|
for (DirectiveFile directiveFile : directiveFiles) {
|
builderFile.append(directiveFile.getUrl()).append(",");
|
}
|
record.setUrl(builder.toString().substring(0, builderFile.toString().length() - 1));
|
}
|
record.setReceiveName(builder.toString().substring(0, builder.toString().length() - 1));
|
}
|
return directiveVoIPage;
|
}
|
|
/**
|
* 详情
|
* @param directive 指令信息对象
|
*/
|
@Override
|
public DirectiveVo selectDirectiveInfo(Directive directive) {
|
return baseMapper.selectDirectiveInfo(directive);
|
}
|
}
|