yangys
2024-04-04 ed4a5236bab800094be4a8378f5098eebe3de6ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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);
    }
}