package com.qianwen.smartman.modules.system.service.impl;
|
|
import java.util.Optional;
|
import com.qianwen.core.coderule.builder.DefaultCodeGeneratorBuilder;
|
import com.qianwen.smartman.modules.system.entity.BasCodeRule;
|
import com.qianwen.smartman.modules.system.service.IBasCoderuleService;
|
import com.qianwen.smartman.modules.system.service.ICodeGeneratorService;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/service/impl/CodeGeneratorServiceImpl.class */
|
public class CodeGeneratorServiceImpl implements ICodeGeneratorService {
|
private final IBasCoderuleService basCoderuleService;
|
private DefaultCodeGeneratorBuilder codeGeneratorBuilder;
|
|
public CodeGeneratorServiceImpl(final IBasCoderuleService basCoderuleService, final DefaultCodeGeneratorBuilder codeGeneratorBuilder) {
|
this.basCoderuleService = basCoderuleService;
|
this.codeGeneratorBuilder = codeGeneratorBuilder;
|
}
|
|
@Override // org.springblade.modules.system.service.ICodeGeneratorService
|
public String getGeneratorCode(final Object objectType, String metaEnum) {
|
BasCodeRule basCodeRule = this.basCoderuleService.getRuleByObjectType(objectType, metaEnum);
|
return getGeneratorCode(objectType, basCodeRule);
|
}
|
|
@Override // org.springblade.modules.system.service.ICodeGeneratorService
|
public String getGeneratorCode(Object objectType, BasCodeRule rule) {
|
return (String) Optional.ofNullable(rule).map(r -> {
|
return this.codeGeneratorBuilder.setCodeRuleId(r.getId()).setObjectType(objectType).setObjectTypeId(r.getBillFormId()).build();
|
}).map(codeGenerator -> {
|
return codeGenerator.nextNo();
|
}).orElse(null);
|
}
|
}
|