package com.qianwen.smartman.modules.system.service.impl;
|
|
import cn.hutool.core.map.MapUtil;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import java.lang.invoke.SerializedLambda;
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import com.qianwen.core.scanner.config.properties.ScannerProperties;
|
import com.qianwen.core.scanner.modular.model.ResourceDefinition;
|
import com.qianwen.core.scanner.modular.service.IApiResourceService;
|
import com.qianwen.smartman.modules.system.mapper.ResourceDefinitionMapper;
|
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/service/impl/ApiResourceServiceImpl.class */
|
public class ApiResourceServiceImpl extends ServiceImpl<ResourceDefinitionMapper, ResourceDefinition> implements IApiResourceService {
|
private static final Logger log = LoggerFactory.getLogger(ApiResourceServiceImpl.class);
|
private ScannerProperties scannerProperties;
|
|
private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
|
String implMethodName = lambda.getImplMethodName();
|
boolean z = true;
|
switch (implMethodName.hashCode()) {
|
case -1168414097:
|
if (implMethodName.equals("getModuleCode")) {
|
z = false;
|
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/core/scanner/modular/model/ResourceDefinition") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
|
return (v0) -> {
|
return v0.getModuleCode();
|
};
|
}
|
break;
|
}
|
throw new IllegalArgumentException("Invalid lambda deserialization");
|
}
|
|
public ApiResourceServiceImpl(final ScannerProperties scannerProperties) {
|
this.scannerProperties = scannerProperties;
|
}
|
|
@Async
|
public Boolean reportResources(Map<String, Map<String, ResourceDefinition>> resourceDefinitions) {
|
List<String> updateModules = this.scannerProperties.getUpdateModules();
|
if (MapUtil.isEmpty(resourceDefinitions)) {
|
return Boolean.valueOf(remove(Wrappers.query().lambda()));
|
}
|
resourceDefinitions.forEach(key, value -> {
|
if (updateModules.contains(key)) {
|
remove((Wrapper) Wrappers.query().lambda().eq((v0) -> {
|
return v0.getModuleCode();
|
}, key));
|
}
|
Collection<ResourceDefinition> reportApiResources = value.values();
|
saveOrUpdateBatch(reportApiResources);
|
});
|
return true;
|
}
|
}
|