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();
|
if (records.size()>0) {
|
for (DirectiveVo record : records) {
|
String[] receiveDirectiveIds = record.getReceiveDirectiveIds().toString().split(",");
|
StringBuilder builder = new StringBuilder();
|
for (String receiveDirectiveId : receiveDirectiveIds) {
|
User user = userService.getById(receiveDirectiveId);
|
if (null!=user) {
|
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(",");
|
}
|
String urls = builderFile.toString();
|
record.setUrl(urls.substring(0, urls.length() - 1));
|
}
|
if (!"".equals(builder.toString())) {
|
record.setReceiveName(builder.toString().substring(0, builder.toString().length() - 1));
|
//如果查询接收人
|
if (null!=directive.getReceiveName() && directive.getReceiveName()!=""){
|
//不匹配就删除
|
if (!record.getReceiveName().contains(directive.getReceiveName())){
|
records.remove(record);
|
}
|
}
|
}
|
}
|
}
|
return directiveVoIPage;
|
}
|
|
/**
|
* 详情
|
* @param directive 指令信息对象
|
*/
|
@Override
|
public DirectiveVo selectDirectiveInfo(Directive directive) {
|
return baseMapper.selectDirectiveInfo(directive);
|
}
|
|
|
/**
|
* 插入图片
|
* @param directiveFile
|
* @return
|
*/
|
@Override
|
public boolean saveDirectiveFile(DirectiveFile directiveFile) {
|
int i = baseMapper.saveDirectiveFile(directiveFile);
|
if (i>0){
|
return true;
|
}
|
return false;
|
}
|
|
/**
|
* 删除图片
|
* @param id 指令id
|
* @return
|
*/
|
@Override
|
public int deleleByDirectiveId(Long id) {
|
return baseMapper.deleteByDirectiveId(id);
|
}
|
|
/**
|
* 自定义分页--接收到的指令
|
* @param page,size
|
* @param directive 指令对象
|
*/
|
@Override
|
public IPage<DirectiveVo> selectDirectiveReplyPage(IPage<DirectiveVo> page, DirectiveVo directive) {
|
IPage<DirectiveVo> directiveVoIPage = page.setRecords(baseMapper.selectDirectiveReplyPage(page, directive));
|
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(",");
|
}
|
String urls = builderFile.toString();
|
record.setUrl(urls.substring(0, urls.length() - 1));
|
}
|
// record.setReceiveName(builder.toString().substring(0, builder.toString().length() - 1));
|
}
|
return directiveVoIPage;
|
}
|
}
|