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); } }