package com.qianwen.smartman.modules.visual.service.impl; import cn.hutool.core.util.ZipUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.google.common.collect.Lists; import java.io.File; import java.io.FileInputStream; import java.lang.invoke.SerializedLambda; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import com.qianwen.smartman.common.utils.Lambda; import com.qianwen.core.mp.base.BaseServiceImpl; import com.qianwen.core.oss.model.BladeFile; import com.qianwen.core.tool.utils.Func; import com.qianwen.core.tool.utils.SpringUtil; import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder; import com.qianwen.smartman.modules.visual.convert.VisualCompConvert; import com.qianwen.smartman.modules.visual.dto.VisualCompCreatedDTO; import com.qianwen.smartman.modules.visual.entity.VisualComp; import com.qianwen.smartman.modules.visual.entity.VisualCompType; import com.qianwen.smartman.modules.visual.mapper.VisualCompMapper; import com.qianwen.smartman.modules.visual.service.IVisualCompService; import com.qianwen.smartman.modules.visual.service.IVisualCompTypeService; import com.qianwen.smartman.modules.visual.utils.VisualUtils; import com.qianwen.smartman.modules.visual.vo.VisualCompVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @Service /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/visual/service/impl/VisualCompServiceImpl.class */ public class VisualCompServiceImpl extends BaseServiceImpl implements IVisualCompService { @Autowired @Lazy private IVisualCompTypeService visualCompTypeService; private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) { String implMethodName = lambda.getImplMethodName(); boolean z = true; switch (implMethodName.hashCode()) { case -1041904421: if (implMethodName.equals("getParentId")) { z = true; break; } break; case -75308287: if (implMethodName.equals("getName")) { z = false; break; } break; case -75106384: if (implMethodName.equals("getType")) { z = true; break; } break; case 98245393: if (implMethodName.equals("getId")) { z = true; break; } break; } switch (z) { case false: if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/visual/entity/VisualComp") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getName(); }; } break; case true: if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/visual/entity/VisualCompType") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getType(); }; } if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/visual/entity/VisualCompType") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getType(); }; } if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/visual/entity/VisualComp") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getType(); }; } if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/visual/entity/VisualCompType") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { return (v0) -> { return v0.getType(); }; } break; case true: if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getId(); }; } break; case true: if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/visual/entity/VisualCompType") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getParentId(); }; } if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/visual/entity/VisualCompType") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) { return (v0) -> { return v0.getParentId(); }; } break; } throw new IllegalArgumentException("Invalid lambda deserialization"); } @Override // org.springblade.modules.visual.service.IVisualCompService public IPage pageVO(IPage page, Map map) { String nameStr = (String) map.get("name"); String typeStr = (String) map.get("type"); List typeList = null; if (StringUtils.isNotEmpty(typeStr)) { VisualCompType type = (VisualCompType) this.visualCompTypeService.getOne(Lambda.eq((v0) -> { return v0.getType(); }, typeStr)); typeList = type.getParentId().longValue() == 0 ? (List) this.visualCompTypeService.list(Lambda.eq((v0) -> { return v0.getParentId(); }, type.getId()).select((v0) -> { return v0.getType(); })).stream().map((v0) -> { return v0.getType(); }).collect(Collectors.toList()) : Lists.newArrayList(new String[]{typeStr}); } IPage visualCompIPage = page(page, Lambda.like(Func.isNotEmpty(nameStr), (v0) -> { return v0.getName(); }, nameStr).in((typeList == null || typeList.isEmpty()) ? false : true, (v0) -> { return v0.getType(); }, typeList)); IPage convert = VisualCompConvert.INSTANCE.convert(visualCompIPage); wrapper(convert.getRecords()); return convert; } @Override // org.springblade.modules.visual.service.IVisualCompService public void wrapper(List voList) { List typeList = this.visualCompTypeService.list(Lambda.ne((v0) -> { return v0.getParentId(); }, 0)); voList.parallelStream().forEach(item -> { VisualCompType visualCompType = (VisualCompType) typeList.stream().filter(type -> { return item.getType().equals(type.getType()); }).findFirst().orElse(null); item.setTypeName((String) Optional.ofNullable(visualCompType).map((v0) -> { return v0.getName(); }).orElse(null)); }); } @Override // org.springblade.modules.visual.service.IVisualCompService public BladeFile componentZipDownload(List componentIds) { boolean z; if (componentIds != null) { if (componentIds.size() != 0) { z = true; Stream stream = list(Lambda.in(z, (v0) -> { return v0.getId(); }, componentIds)).stream(); VisualCompConvert visualCompConvert = VisualCompConvert.INSTANCE; visualCompConvert.getClass(); List jsonTexts = (List) stream.map(this::convertDTO).map((v0) -> { return JSON.toJSONString(v0); }).collect(Collectors.toList()); File zipFile = VisualUtils.visualDownload((String[]) jsonTexts.toArray(new String[0])); return ((OssBuilder) SpringUtil.getBean(OssBuilder.class)).tempTemplate().putFile(zipFile.getName(), new FileInputStream(zipFile)); } } z = false; Stream stream2 = list(Lambda.in(z, (v0) -> { return v0.getId(); }, componentIds)).stream(); VisualCompConvert visualCompConvert2 = VisualCompConvert.INSTANCE; visualCompConvert2.getClass(); List jsonTexts2 = (List) stream2.map(this::convertDTO).map((v0) -> { return JSON.toJSONString(v0); }).collect(Collectors.toList()); File zipFile2 = VisualUtils.visualDownload((String[]) jsonTexts2.toArray(new String[0])); return ((OssBuilder) SpringUtil.getBean(OssBuilder.class)).tempTemplate().putFile(zipFile2.getName(), new FileInputStream(zipFile2)); } @Override // org.springblade.modules.visual.service.IVisualCompService public void componentZipImport(MultipartFile zipFile) throws Exception { File localZipFile = new File("static/visual/" + IdWorker.get32UUID() + ".zip"); FileUtils.copyToFile(zipFile.getInputStream(), localZipFile); componentZipImport(localZipFile); } @Override // org.springblade.modules.visual.service.IVisualCompService public void componentZipImport(File localZipFile) { File unzipFile = ZipUtil.unzip(localZipFile); File[] files = unzipFile.listFiles(); String[] replaceText = VisualUtils.visualFileUpload(files); save(replaceText); } @Transactional public void save(String... replaceText) { Stream map = Stream.of((Object[]) replaceText).map(text -> { return (VisualCompCreatedDTO) JSONObject.parseObject(text, VisualCompCreatedDTO.class); }).map(dto -> { VisualCompType type = (VisualCompType) this.visualCompTypeService.getOne(Lambda.eq((v0) -> { return v0.getType(); }, dto.getType())); dto.setType(type == null ? "ungrouped" : type.getType()); return dto; }); VisualCompConvert visualCompConvert = VisualCompConvert.INSTANCE; visualCompConvert.getClass(); List compList = (List) map.map(this::convert).collect(Collectors.toList()); visualSaveOrUpdateBatch(compList); } private void visualSaveOrUpdateBatch(List upList) { List list = list(); Map> existComp = (Map) list.stream().collect(Collectors.groupingBy(item -> { return item.getName() + item.getType(); })); if (Func.isEmpty(existComp)) { saveBatch(upList); return; } Set addList = new HashSet<>(); upList.forEach(item2 -> { List visualComps = (List) existComp.get(item2.getName() + item2.getType()); Optional.ofNullable(visualComps).ifPresent(compList -> { compList.forEach(comp -> { comp.setComponent(item2.getComponent()); comp.setUrl(item2.getUrl()); comp.setOrderNum(item2.getOrderNum()); comp.setStatus(item2.getStatus()); comp.setIsDeleted(item2.getIsDeleted()); comp.setCreateUser(item2.getCreateUser()); comp.setIsDeleted(item2.getIsDeleted()); updateById(comp); }); }); if (!existComp.containsKey(item2.getName() + item2.getType())) { addList.add(item2); } }); saveBatch(addList); } }