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(); 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(","); } 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); } }