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 implements DirectiveService { private final IUserService userService; /** * 指令分页信息 * @param page * @param directive 指令信息对象 * @return */ @Override public IPage selectDirectivePage(IPage page, DirectiveVo directive) { IPage directiveVoIPage = page.setRecords(baseMapper.selectDirectivePage(page, directive)); //去除接收人ids,查询出接收人名字 List 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 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 selectDirectiveReplyPage(IPage page, DirectiveVo directive) { IPage directiveVoIPage = page.setRecords(baseMapper.selectDirectiveReplyPage(page, directive)); List 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 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; } }