Commit 58e4f11cca55b654b9cf21211f7d7b0df6c1278d

Authored by YunaiV
1 parent 8de9872f

移除 yudao-spring-boot-starter-extension

Showing 28 changed files with 0 additions and 1112 deletions
yudao-framework/pom.xml
@@ -25,7 +25,6 @@ @@ -25,7 +25,6 @@
25 25
26 <module>yudao-spring-boot-starter-excel</module> 26 <module>yudao-spring-boot-starter-excel</module>
27 <module>yudao-spring-boot-starter-test</module> 27 <module>yudao-spring-boot-starter-test</module>
28 - <module>yudao-spring-boot-starter-extension</module>  
29 28
30 <module>yudao-spring-boot-starter-biz-operatelog</module> 29 <module>yudao-spring-boot-starter-biz-operatelog</module>
31 <module>yudao-spring-boot-starter-biz-dict</module> 30 <module>yudao-spring-boot-starter-biz-dict</module>
yudao-framework/yudao-spring-boot-starter-biz-dict/src/main/java/cn/iocoder/yudao/framework/dict/core/service/DictDataFrameworkService.java
@@ -2,8 +2,6 @@ package cn.iocoder.yudao.framework.dict.core.service; @@ -2,8 +2,6 @@ package cn.iocoder.yudao.framework.dict.core.service;
2 2
3 import cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO; 3 import cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO;
4 4
5 -import java.util.List;  
6 -  
7 public interface DictDataFrameworkService { 5 public interface DictDataFrameworkService {
8 6
9 /** 7 /**
@@ -24,12 +22,4 @@ public interface DictDataFrameworkService { @@ -24,12 +22,4 @@ public interface DictDataFrameworkService {
24 */ 22 */
25 DictDataRespDTO parseDictDataFromCache(String type, String label); 23 DictDataRespDTO parseDictDataFromCache(String type, String label);
26 24
27 - /**  
28 - * 获得指定类型的字典数据,从缓存中  
29 - *  
30 - * @param type 字典类型  
31 - * @return 字典数据列表  
32 - */  
33 - List<DictDataRespDTO> listDictDatasFromCache(String type);  
34 -  
35 } 25 }
yudao-framework/yudao-spring-boot-starter-extension/pom.xml deleted
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<project xmlns="http://maven.apache.org/POM/4.0.0"  
3 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
4 - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
5 - <parent>  
6 - <artifactId>yudao-framework</artifactId>  
7 - <groupId>cn.iocoder.boot</groupId>  
8 - <version>${revision}</version>  
9 - </parent>  
10 - <modelVersion>4.0.0</modelVersion>  
11 -  
12 - <artifactId>yudao-spring-boot-starter-extension</artifactId>  
13 - <packaging>jar</packaging>  
14 -  
15 - <name>${project.artifactId}</name>  
16 - <description>扩展点组件</description>  
17 - <url>https://github.com/YunaiV/ruoyi-vue-pro</url>  
18 -  
19 - <properties>  
20 -  
21 - </properties>  
22 -  
23 - <dependencies>  
24 - <dependency>  
25 - <groupId>cn.iocoder.boot</groupId>  
26 - <artifactId>yudao-common</artifactId>  
27 - </dependency>  
28 -  
29 - <!-- Spring 核心 -->  
30 - <dependency>  
31 - <groupId>org.springframework</groupId>  
32 - <artifactId>spring-context</artifactId>  
33 - <scope>provided</scope>  
34 - </dependency>  
35 -  
36 - <dependency>  
37 - <groupId>org.springframework</groupId>  
38 - <artifactId>spring-beans</artifactId>  
39 - <scope>provided</scope>  
40 - </dependency>  
41 -  
42 - <!-- Spring 核心 -->  
43 - <dependency>  
44 - <groupId>org.springframework.boot</groupId>  
45 - <artifactId>spring-boot-starter-aop</artifactId>  
46 - </dependency>  
47 -  
48 - <!-- 测试包 -->  
49 - <dependency>  
50 - <groupId>org.springframework.boot</groupId>  
51 - <artifactId>spring-boot-starter-test</artifactId>  
52 - <scope>test</scope>  
53 - </dependency>  
54 -  
55 - <!-- 测试包 -->  
56 - <dependency>  
57 - <groupId>junit</groupId>  
58 - <artifactId>junit</artifactId>  
59 - <scope>test</scope>  
60 - </dependency>  
61 -  
62 - <!-- 工具类相关 -->  
63 - <dependency>  
64 - <groupId>jakarta.validation</groupId>  
65 - <artifactId>jakarta.validation-api</artifactId>  
66 - </dependency>  
67 - </dependencies>  
68 -</project>  
69 \ No newline at end of file 0 \ No newline at end of file
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/config/YudaoExtensionAutoConfiguration.java deleted
1 -package cn.iocoder.yudao.framework.extension.config;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.ExtensionBootstrap;  
4 -import cn.iocoder.yudao.framework.extension.core.context.ExtensionContext;  
5 -import cn.iocoder.yudao.framework.extension.core.context.ExtensionContextHolder;  
6 -import cn.iocoder.yudao.framework.extension.core.context.ExtensionExecutor;  
7 -import cn.iocoder.yudao.framework.extension.core.factory.ExtensionFactory;  
8 -import cn.iocoder.yudao.framework.extension.core.factory.ExtensionRegisterFactory;  
9 -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;  
10 -import org.springframework.context.annotation.Bean;  
11 -import org.springframework.context.annotation.Configuration;  
12 -  
13 -/**  
14 - * @description 扩展点组件自动装配  
15 - * @author Qingchen  
16 - * @version 1.0.0  
17 - * @date 2021-08-28 21:50  
18 - * @class cn.iocoder.yudao.framework.extension.config.YudaoExtensionAutoConfiguration.java  
19 - */  
20 -@Configuration  
21 -public class YudaoExtensionAutoConfiguration {  
22 -  
23 - /**  
24 - * 组件初始化  
25 - * @return  
26 - */  
27 - @Bean(initMethod = "init")  
28 - @ConditionalOnMissingBean(ExtensionBootstrap.class)  
29 - public ExtensionBootstrap bootstrap() {  
30 - return new ExtensionBootstrap();  
31 - }  
32 -  
33 - /**  
34 - * 扩展点工厂  
35 - * @return  
36 - */  
37 - @Bean  
38 - @ConditionalOnMissingBean({ExtensionRegisterFactory.class, ExtensionFactory.class})  
39 - public ExtensionRegisterFactory registerFactory() {  
40 - return new ExtensionRegisterFactory();  
41 - }  
42 -  
43 - /**  
44 - * 扩展组件上下文对象  
45 - * @return  
46 - */  
47 - @Bean  
48 - @ConditionalOnMissingBean({ExtensionContextHolder.class, ExtensionContext.class})  
49 - public ExtensionContextHolder context() {  
50 - return new ExtensionContextHolder();  
51 - }  
52 -  
53 - /**  
54 - * 扩展组件执行器  
55 - * @return  
56 - */  
57 - @Bean  
58 - @ConditionalOnMissingBean(ExtensionExecutor.class)  
59 - public ExtensionExecutor executor() {  
60 - return new ExtensionExecutor();  
61 - }  
62 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/BusinessScenario.java deleted
1 -package cn.iocoder.yudao.framework.extension.core;  
2 -  
3 -import javax.validation.constraints.NotNull;  
4 -import java.io.Serializable;  
5 -import java.util.StringJoiner;  
6 -  
7 -/**  
8 - * @description 业务场景 = businessId + useCase + scenario, 用来标识系统中唯一的一个场景<br/>  
9 - * @author Qingchen  
10 - * @version 1.0.0  
11 - * @date 2021-08-28 22:19  
12 - * @class cn.iocoder.yudao.framework.extension.core.BusinessScenario.java  
13 - */  
14 -public class BusinessScenario implements Serializable {  
15 -  
16 - /**  
17 - * 默认业务id  
18 - */  
19 - public final static String DEFAULT_BUSINESS_ID = "#defaultBusinessId#";  
20 -  
21 - /**  
22 - * 默认用例  
23 - */  
24 - public final static String DEFAULT_USECASE = "#defaultUseCase#";  
25 -  
26 - /**  
27 - * 默认场景  
28 - */  
29 - public final static String DEFAULT_SCENARIO = "#defaultScenario#";  
30 -  
31 - /**  
32 - * 分隔符  
33 - */  
34 - private final static String DOT_SEPARATOR = ".";  
35 -  
36 - /**  
37 - * 业务Id  
38 - */  
39 - private String businessId;  
40 -  
41 - /**  
42 - * 用例  
43 - */  
44 - private String useCase;  
45 -  
46 - /**  
47 - * 场景  
48 - */  
49 - private String scenario;  
50 -  
51 - public BusinessScenario() {  
52 - this.businessId = DEFAULT_BUSINESS_ID;  
53 - this.useCase = DEFAULT_USECASE;  
54 - this.scenario = DEFAULT_SCENARIO;  
55 - }  
56 -  
57 - public BusinessScenario(@NotNull String businessId, @NotNull String useCase, @NotNull String scenario) {  
58 - this.businessId = businessId;  
59 - this.useCase = useCase;  
60 - this.scenario = scenario;  
61 - }  
62 -  
63 - public BusinessScenario(@NotNull String scenario) {  
64 - this();  
65 - this.scenario = scenario;  
66 - }  
67 -  
68 - public BusinessScenario(@NotNull String useCase, @NotNull String scenario) {  
69 - this(DEFAULT_BUSINESS_ID, useCase, scenario);  
70 - }  
71 -  
72 - public String getBusinessId() {  
73 - return businessId;  
74 - }  
75 -  
76 - public void setBusinessId(String businessId) {  
77 - this.businessId = businessId;  
78 - }  
79 -  
80 - public String getUseCase() {  
81 - return useCase;  
82 - }  
83 -  
84 - public void setUseCase(String useCase) {  
85 - this.useCase = useCase;  
86 - }  
87 -  
88 - public String getScenario() {  
89 - return scenario;  
90 - }  
91 -  
92 - public void setScenario(String scenario) {  
93 - this.scenario = scenario;  
94 - }  
95 -  
96 - /**  
97 - * 构建业务场景  
98 - * @param businessId  
99 - * @param useCase  
100 - * @param scenario  
101 - * @return  
102 - */  
103 - public static BusinessScenario valueOf(@NotNull String businessId, @NotNull String useCase, @NotNull String scenario) {  
104 - return new BusinessScenario(businessId, useCase, scenario);  
105 - }  
106 -  
107 - /**  
108 - * 构建业务场景  
109 - * @param useCase  
110 - * @param scenario  
111 - * @return  
112 - */  
113 - public static BusinessScenario valueOf(@NotNull String useCase, @NotNull String scenario) {  
114 - return new BusinessScenario(useCase, scenario);  
115 - }  
116 -  
117 - /**  
118 - * 构建业务场景  
119 - * @param scenario  
120 - * @return  
121 - */  
122 - public static BusinessScenario valueOf(@NotNull String scenario) {  
123 - return new BusinessScenario(scenario);  
124 - }  
125 -  
126 - /**  
127 - * 业务场景唯一标识  
128 - * @return  
129 - */  
130 - public String getUniqueIdentity(){  
131 - return new StringJoiner(DOT_SEPARATOR).add(businessId).add(useCase).add(scenario).toString();  
132 - }  
133 -  
134 - @Override  
135 - public String toString() {  
136 - return "BusinessScenario{" +  
137 - "businessId='" + businessId + '\'' +  
138 - ", useCase='" + useCase + '\'' +  
139 - ", scenario='" + scenario + '\'' +  
140 - '}';  
141 - }  
142 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/ExtensionBootstrap.java deleted
1 -package cn.iocoder.yudao.framework.extension.core;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.factory.ExtensionRegisterFactory;  
4 -import org.springframework.beans.BeansException;  
5 -import org.springframework.beans.factory.annotation.Autowired;  
6 -import org.springframework.context.ApplicationContext;  
7 -import org.springframework.context.ApplicationContextAware;  
8 -  
9 -import javax.annotation.PostConstruct;  
10 -  
11 -/**  
12 - * @description  
13 - * @author Qingchen  
14 - * @version 1.0.0  
15 - * @date 2021-08-29 00:18  
16 - * @class cn.iocoder.yudao.framework.extension.core.ExtensionBootstrap.java  
17 - */  
18 -public class ExtensionBootstrap implements ApplicationContextAware {  
19 -  
20 - /**  
21 - * spring 容器  
22 - */  
23 - private ApplicationContext applicationContext;  
24 -  
25 - @Autowired  
26 - private ExtensionRegisterFactory registerFactory;  
27 -  
28 - /**  
29 - * 初始化  
30 - */  
31 - @PostConstruct  
32 - public void init() {  
33 - registerFactory.setApplicationContext(applicationContext);  
34 - registerFactory.register(null);  
35 - }  
36 -  
37 - @Override  
38 - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {  
39 - this.applicationContext = applicationContext;  
40 - }  
41 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/context/AbstractComponentExecutor.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.context;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
4 -import cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint;  
5 -  
6 -import java.util.function.Consumer;  
7 -import java.util.function.Function;  
8 -  
9 -/**  
10 - * @description 执行器通用方法  
11 - * @author Qingchen  
12 - * @version 1.0.0  
13 - * @date 2021-08-29 00:38  
14 - * @class cn.iocoder.yudao.framework.extension.core.context.AbstractComponentExecutor.java  
15 - */  
16 -public abstract class AbstractComponentExecutor {  
17 -  
18 - /**  
19 - * ("业务" + "用例" + "场景")执行扩展组件,并返回执行结果  
20 - * @param targetClazz  
21 - * @param businessId  
22 - * @param useCase  
23 - * @param scenario  
24 - * @param function  
25 - * @param <R>  
26 - * @param <T>  
27 - * @return  
28 - */  
29 - public <R, T extends ExtensionPoint> R execute(Class<T> targetClazz, String businessId, String useCase, String scenario, Function<T, R> function) {  
30 - return execute(targetClazz, BusinessScenario.valueOf(businessId, useCase, scenario), function);  
31 - }  
32 -  
33 -  
34 - /**  
35 - * ("用例" + "场景")执行扩展组件,并返回执行结果  
36 - * @param targetClazz  
37 - * @param useCase  
38 - * @param scenario  
39 - * @param function  
40 - * @param <R>  
41 - * @param <T>  
42 - * @return  
43 - */  
44 - public <R, T extends ExtensionPoint> R execute(Class<T> targetClazz, String useCase, String scenario, Function<T, R> function) {  
45 - return execute(targetClazz, BusinessScenario.valueOf(useCase, scenario), function);  
46 - }  
47 -  
48 - /**  
49 - * ("场景")执行扩展组件,并返回执行结果  
50 - * @param targetClazz  
51 - * @param scenario  
52 - * @param function  
53 - * @param <R>  
54 - * @param <T>  
55 - * @return  
56 - */  
57 - public <R, T extends ExtensionPoint> R execute(Class<T> targetClazz, String scenario, Function<T, R> function) {  
58 - return execute(targetClazz, BusinessScenario.valueOf(scenario), function);  
59 - }  
60 -  
61 - /**  
62 - * 执行扩展组件,并返回执行结果  
63 - * @param targetClazz  
64 - * @param businessScenario  
65 - * @param function  
66 - * @param <R> Response Type  
67 - * @param <T> Parameter Type  
68 - * @return  
69 - */  
70 - public <R, T extends ExtensionPoint> R execute(Class<T> targetClazz, BusinessScenario businessScenario, Function<T, R> function) {  
71 - T component = locateComponent(targetClazz, businessScenario);  
72 - return function.apply(component);  
73 - }  
74 -  
75 - /**  
76 - * ("业务" + "用例" + "场景")执行扩展组件,适用于无返回值的业务  
77 - * @param targetClazz  
78 - * @param businessId  
79 - * @param useCase  
80 - * @param scenario  
81 - * @param consumer  
82 - * @param <T>  
83 - */  
84 - public <T extends ExtensionPoint> void accept(Class<T> targetClazz, String businessId, String useCase, String scenario, Consumer<T> consumer) {  
85 - accept(targetClazz, BusinessScenario.valueOf(businessId, useCase, scenario), consumer);  
86 - }  
87 -  
88 - /**  
89 - * ("场景")执行扩展组件,适用于无返回值的业务  
90 - * @param targetClazz  
91 - * @param useCase  
92 - * @param scenario  
93 - * @param consumer  
94 - * @param <T>  
95 - */  
96 - public <T extends ExtensionPoint> void accept(Class<T> targetClazz, String useCase, String scenario, Consumer<T> consumer) {  
97 - accept(targetClazz, BusinessScenario.valueOf(useCase, scenario), consumer);  
98 - }  
99 -  
100 - /**  
101 - * ("场景")执行扩展组件,适用于无返回值的业务  
102 - * @param targetClazz  
103 - * @param scenario  
104 - * @param consumer  
105 - * @param <T>  
106 - */  
107 - public <T extends ExtensionPoint> void accept(Class<T> targetClazz, String scenario, Consumer<T> consumer) {  
108 - accept(targetClazz, BusinessScenario.valueOf(scenario), consumer);  
109 - }  
110 -  
111 - /**  
112 - * 执行扩展组件,适用于无返回值的业务  
113 - * @param targetClazz  
114 - * @param businessScenario  
115 - * @param consumer  
116 - * @param <T> Parameter Type  
117 - */  
118 - public <T extends ExtensionPoint> void accept(Class<T> targetClazz, BusinessScenario businessScenario, Consumer<T> consumer) {  
119 - T component = locateComponent(targetClazz, businessScenario);  
120 - consumer.accept(component);  
121 - }  
122 -  
123 - /**  
124 - * 获取/定位扩展点组件  
125 - * @param targetClazz  
126 - * @param businessScenario  
127 - * @param <C>  
128 - * @return  
129 - */  
130 - protected abstract <C extends ExtensionPoint> C locateComponent(Class<C> targetClazz, BusinessScenario businessScenario);  
131 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/context/ExtensionContext.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.context;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
4 -import cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint;  
5 -  
6 -/**  
7 - * @description 上下文,包含各个扩展点的相关操作  
8 - * @author Qingchen  
9 - * @version 1.0.0  
10 - * @date 2021-08-28 22:15  
11 - * @class cn.iocoder.yudao.framework.extension.core.context.ExtensionContext.java  
12 - */  
13 -public interface ExtensionContext {  
14 -  
15 - /**  
16 - * 根据业务场景唯一标识获取扩展点组件实现类  
17 - * @param businessId  
18 - * @param useCase  
19 - * @param scenario  
20 - * @param clazz  
21 - * @param <T>  
22 - * @return  
23 - */  
24 - <T extends ExtensionPoint> T getPoint(String businessId, String useCase, String scenario, Class<T> clazz);  
25 -  
26 - /**  
27 - * 根据("实例" + "场景")获取扩展点组件实现类,其中:业务id(businessId)= {@linkplain cn.iocoder.yudao.framework.extension.core.BusinessScenario.DEFAULT_BUSINESS_ID}  
28 - * @param useCase  
29 - * @param scenario  
30 - * @param clazz  
31 - * @param <T>  
32 - * @return  
33 - */  
34 - <T extends ExtensionPoint> T getPoint(String useCase, String scenario, Class<T> clazz);  
35 -  
36 - /**  
37 - * 根据("场景")获取扩展点组件实现类 <br/>  
38 - * 其中:  
39 - * 业务id(businessId)= {@linkplain cn.iocoder.yudao.framework.extension.core.BusinessScenario.DEFAULT_BUSINESS_ID}  
40 - * 实例(useCase)= {@linkplain cn.iocoder.yudao.framework.extension.core.BusinessScenario.DEFAULT_USECASE}  
41 - * @param scenario  
42 - * @param clazz  
43 - * @param <T>  
44 - * @return  
45 - */  
46 - <T extends ExtensionPoint> T getPoint(String scenario, Class<T> clazz);  
47 -  
48 - /**  
49 - * 根据业务场景唯一标识获取扩展点组件实现类  
50 - * @param businessScenario  
51 - * @param clazz  
52 - * @param <T>  
53 - * @return  
54 - */  
55 - <T extends ExtensionPoint> T getPoint(BusinessScenario businessScenario, Class<T> clazz);  
56 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/context/ExtensionContextHolder.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.context;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
4 -import cn.iocoder.yudao.framework.extension.core.factory.ExtensionFactory;  
5 -import cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint;  
6 -import lombok.extern.slf4j.Slf4j;  
7 -import org.springframework.beans.factory.annotation.Autowired;  
8 -import org.springframework.stereotype.Component;  
9 -  
10 -import javax.validation.constraints.NotNull;  
11 -  
12 -/**  
13 - * @description 上下文及扩展点组件工厂的持有类  
14 - * @author Qingchen  
15 - * @version 1.0.0  
16 - * @date 2021-08-29 00:29  
17 - * @class cn.iocoder.yudao.framework.extension.core.context.ExtensionContextHolder.java  
18 - */  
19 -@Component  
20 -@Slf4j  
21 -public class ExtensionContextHolder implements ExtensionContext{  
22 -  
23 - @Autowired  
24 - private ExtensionFactory factory;  
25 -  
26 - @Override  
27 - public <T extends ExtensionPoint> T getPoint(@NotNull String businessId, @NotNull String useCase, @NotNull String scenario, Class<T> clazz) {  
28 - return getPoint(BusinessScenario.valueOf(businessId, useCase, scenario), clazz);  
29 - }  
30 -  
31 - @Override  
32 - public <T extends ExtensionPoint> T getPoint(@NotNull String useCase, String scenario, Class<T> clazz) {  
33 - return getPoint(BusinessScenario.valueOf(useCase, scenario), clazz);  
34 - }  
35 -  
36 - @Override  
37 - public <T extends ExtensionPoint> T getPoint(@NotNull String scenario, Class<T> clazz) {  
38 - return getPoint(BusinessScenario.valueOf(scenario), clazz);  
39 - }  
40 -  
41 - @Override  
42 - public <T extends ExtensionPoint> T getPoint(@NotNull BusinessScenario businessScenario, Class<T> clazz) {  
43 - return factory.get(businessScenario, clazz);  
44 - }  
45 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/context/ExtensionExecutor.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.context;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
4 -import cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint;  
5 -import lombok.extern.slf4j.Slf4j;  
6 -import org.springframework.beans.factory.annotation.Autowired;  
7 -import org.springframework.stereotype.Component;  
8 -  
9 -/**  
10 - * @description 扩展组件执行器  
11 - * @author Qingchen  
12 - * @version 1.0.0  
13 - * @date 2021-08-29 00:32  
14 - * @class cn.iocoder.yudao.framework.extension.core.context.ExtensionExecutor.java  
15 - */  
16 -@Component  
17 -@Slf4j  
18 -public class ExtensionExecutor extends AbstractComponentExecutor{  
19 -  
20 - @Autowired  
21 - private ExtensionContextHolder contextHolder;  
22 -  
23 -  
24 - @Override  
25 - protected <C extends ExtensionPoint> C locateComponent(Class<C> targetClazz, BusinessScenario businessScenario) {  
26 - return contextHolder.getPoint(businessScenario, targetClazz);  
27 - }  
28 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/factory/ExtensionDefinition.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.factory;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
4 -import cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint;  
5 -import lombok.Getter;  
6 -import lombok.Setter;  
7 -  
8 -import javax.validation.constraints.NotNull;  
9 -import java.io.Serializable;  
10 -import java.util.Objects;  
11 -  
12 -/**  
13 - * @description 扩展定义(扩展坐标),标识唯一一个业务场景实现  
14 - * @author Qingchen  
15 - * @version 1.0.0  
16 - * @date 2021-08-28 23:14  
17 - * @class cn.iocoder.yudao.framework.extension.core.factory.ExtensionDefinition.java  
18 - */  
19 -@Setter  
20 -@Getter  
21 -public class ExtensionDefinition implements Serializable {  
22 -  
23 - /**  
24 - * 业务场景唯一标识(id)  
25 - */  
26 - private String uniqueIdentify;  
27 -  
28 - /**  
29 - * 扩展点实现类名称  
30 - */  
31 - private String extensionPointName;  
32 -  
33 - /**  
34 - * 业务场景  
35 - */  
36 - private BusinessScenario businessScenario;  
37 -  
38 - /**  
39 - * 扩展点实现类  
40 - */  
41 - private ExtensionPoint extensionPoint;  
42 -  
43 - /**  
44 - * class  
45 - */  
46 - private Class extensionPointClass;  
47 -  
48 - public ExtensionDefinition() {  
49 - }  
50 -  
51 - public ExtensionDefinition(@NotNull BusinessScenario businessScenario, @NotNull ExtensionPoint extensionPoint) {  
52 - this.businessScenario = businessScenario;  
53 - this.extensionPoint = extensionPoint;  
54 - this.uniqueIdentify = this.businessScenario.getUniqueIdentity();  
55 - this.extensionPointClass = this.extensionPoint.getClass();  
56 - }  
57 -  
58 - /**  
59 - * 构建definition  
60 - * @param businessScenario  
61 - * @param point  
62 - * @return  
63 - */  
64 - public static ExtensionDefinition valueOf(@NotNull BusinessScenario businessScenario, @NotNull ExtensionPoint point) {  
65 - return new ExtensionDefinition(businessScenario, point);  
66 - }  
67 -  
68 - @Override  
69 - public boolean equals(Object o) {  
70 - if (this == o) {  
71 - return true;  
72 - }  
73 - if (o == null || getClass() != o.getClass()) {  
74 - return false;  
75 - }  
76 - ExtensionDefinition that = (ExtensionDefinition) o;  
77 - return Objects.equals(uniqueIdentify, that.uniqueIdentify) && Objects.equals(extensionPointName, that.extensionPointName);  
78 - }  
79 -  
80 - @Override  
81 - public int hashCode() {  
82 - final int prime = 31;  
83 - int result = 1;  
84 - result = prime * result + ((uniqueIdentify == null) ? 0 : uniqueIdentify.hashCode());  
85 - result = prime * result + ((extensionPointName == null) ? 0 : extensionPointName.hashCode());  
86 - return result;  
87 - }  
88 -  
89 - @Override  
90 - public String toString() {  
91 - return "ExtensionDefinition{" +  
92 - "uniqueIdentify='" + uniqueIdentify + '\'' +  
93 - ", extensionPointName='" + extensionPointName + '\'' +  
94 - '}';  
95 - }  
96 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/factory/ExtensionFactory.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.factory;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
4 -import cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint;  
5 -  
6 -/**  
7 - * @description 扩展点工厂  
8 - * @author Qingchen  
9 - * @version 1.0.0  
10 - * @date 2021-08-28 23:04  
11 - * @class cn.iocoder.yudao.framework.extension.core.factory.ExtensionFactory.java  
12 - */  
13 -public interface ExtensionFactory {  
14 -  
15 - /**  
16 - * 注册所有扩展点实现类  
17 - * @param basePackage  
18 - */  
19 - void register(String basePackage);  
20 -  
21 - /**  
22 - * 根据业务场景获取指定类型的扩展点  
23 - * @param businessScenario  
24 - * @param clazz  
25 - * @param <T>  
26 - * @return  
27 - */  
28 - <T extends ExtensionPoint> T get(BusinessScenario businessScenario, Class<T> clazz);  
29 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/factory/ExtensionRegisterFactory.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.factory;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
4 -import cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint;  
5 -import cn.iocoder.yudao.framework.extension.core.stereotype.Extension;  
6 -import lombok.extern.slf4j.Slf4j;  
7 -import org.springframework.aop.support.AopUtils;  
8 -import org.springframework.context.ApplicationContext;  
9 -import org.springframework.core.annotation.AnnotationUtils;  
10 -import org.springframework.stereotype.Component;  
11 -import org.springframework.util.ClassUtils;  
12 -  
13 -import javax.validation.constraints.NotNull;  
14 -import java.util.Map;  
15 -import java.util.concurrent.ConcurrentHashMap;  
16 -  
17 -/**  
18 - * @description 注册工厂  
19 - * @author Qingchen  
20 - * @version 1.0.0  
21 - * @date 2021-08-28 23:07  
22 - * @class cn.iocoder.yudao.framework.extension.core.factory.ExtensionRegisterFactory.java  
23 - */  
24 -@Component  
25 -@Slf4j  
26 -public class ExtensionRegisterFactory implements ExtensionFactory {  
27 -  
28 - /**  
29 - * spring ApplicationContext  
30 - */  
31 - private ApplicationContext applicationContext;  
32 -  
33 - /**  
34 - * 扩展点实现类集合  
35 - */  
36 - private Map<String, ExtensionDefinition> registerExtensionBeans = new ConcurrentHashMap<>();  
37 -  
38 - @Override  
39 - public void register(String basePackage) {  
40 - final Map<String, Object> beans = applicationContext.getBeansWithAnnotation(Extension.class);  
41 - if(beans == null || beans.isEmpty()) {  
42 - return;  
43 - }  
44 -  
45 - beans.values().forEach(point -> doRegister((ExtensionPoint) point));  
46 - log.info("业务场景相关扩展点注册完成,注册数量: {}", registerExtensionBeans.size());  
47 - }  
48 -  
49 - @Override  
50 - public <T extends ExtensionPoint> T get(BusinessScenario businessScenario, Class<T> clazz) {  
51 -  
52 - final ExtensionDefinition definition = registerExtensionBeans.get(businessScenario.getUniqueIdentity());  
53 - if(definition == null) {  
54 - log.error("获取业务场景扩展点实现失败,失败原因:尚未定义该业务场景相关扩展点。{}", businessScenario);  
55 - throw new RuntimeException("尚未定义该业务场景相关扩展点 [" + businessScenario + "]");  
56 - }  
57 -  
58 - return (T) definition.getExtensionPoint();  
59 - }  
60 -  
61 - /**  
62 - * 注册扩展点  
63 - * @param point  
64 - */  
65 - private void doRegister(@NotNull ExtensionPoint point) {  
66 - Class<?> extensionClazz = point.getClass();  
67 -  
68 - if (AopUtils.isAopProxy(point)) {  
69 - extensionClazz = ClassUtils.getUserClass(point);  
70 - }  
71 -  
72 - Extension extension = AnnotationUtils.findAnnotation(extensionClazz, Extension.class);  
73 - final BusinessScenario businessScenario = BusinessScenario.valueOf(extension.businessId(), extension.useCase(), extension.scenario());  
74 - final ExtensionDefinition definition = ExtensionDefinition.valueOf(businessScenario, point);  
75 - final ExtensionDefinition exist = registerExtensionBeans.get(businessScenario.getUniqueIdentity());  
76 - if(exist != null && !exist.equals(definition)) {  
77 - throw new RuntimeException("相同的业务场景重复注册了不同类型的扩展点实现 :【" + definition + "】【" + exist + "】");  
78 - }  
79 -  
80 - registerExtensionBeans.put(businessScenario.getUniqueIdentity(), definition);  
81 - }  
82 -  
83 - public void setApplicationContext(ApplicationContext applicationContext) {  
84 - this.applicationContext = applicationContext;  
85 - }  
86 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/package-info.java deleted
1 -/**  
2 - * @description core 核心  
3 - * @author Qingchen  
4 - * @version 1.0.0  
5 - * @date 2021-08-28 21:54  
6 - * @class cn.iocoder.yudao.framework.extension.core.package-info.java  
7 - */  
8 -package cn.iocoder.yudao.framework.extension.core;  
9 \ No newline at end of file 0 \ No newline at end of file
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/point/ExtensionPoint.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.point;  
2 -/**  
3 - * @description 扩展点 <br/>  
4 - * 表示一块逻辑在不同的业务有不同的实现,使用扩展点做接口申明,然后用{@linkplain cn.iocoder.yudao.framework.extension.core.stereotype.Extension}(扩展)去实现扩展点。  
5 - * @author Qingchen  
6 - * @version 1.0.0  
7 - * @date 2021-08-28 22:06  
8 - * @class cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint.java  
9 - */  
10 -public interface ExtensionPoint {  
11 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/core/stereotype/Extension.java deleted
1 -package cn.iocoder.yudao.framework.extension.core.stereotype;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
4 -import org.springframework.stereotype.Component;  
5 -  
6 -import java.lang.annotation.*;  
7 -  
8 -/**  
9 - * @description 表示带注释的类是“扩展组件”  
10 - * @author Qingchen  
11 - * @version 1.0.0  
12 - * @date 2021-08-28 21:59  
13 - * @class cn.iocoder.yudao.framework.extension.core.stereotype.Extension.java  
14 - */  
15 -@Inherited  
16 -@Retention(RetentionPolicy.RUNTIME)  
17 -@Target({ElementType.TYPE})  
18 -@Component  
19 -public @interface Extension {  
20 -  
21 - /**  
22 - * 业务 <br/>  
23 - * 一个自负盈亏的财务主体,比如tmall、淘宝和零售通就是三个不同的业务  
24 - * @return  
25 - */  
26 - String businessId() default BusinessScenario.DEFAULT_BUSINESS_ID;  
27 -  
28 - /**  
29 - * 用例 <br/>  
30 - * 描述了用户和系统之间的互动,每个用例提供了一个或多个场景。比如,支付订单就是一个典型的用例。  
31 - * @return  
32 - */  
33 - String useCase() default BusinessScenario.DEFAULT_USECASE;  
34 -  
35 - /**  
36 - * 场景 <br/>  
37 - * 场景也被称为用例的实例(Instance),包括用例所有的可能情况(正常的和异常的)。比如对于"订单支付"这个用例,就有“支付宝支付”、“银行卡支付”、"微信支付"等多个场景  
38 - * @return  
39 - */  
40 - String scenario() default BusinessScenario.DEFAULT_SCENARIO;  
41 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/main/java/cn/iocoder/yudao/framework/extension/package-info.java deleted
1 -/**  
2 - * @description 扩展点组件  
3 - * @author Qingchen  
4 - * @version 1.0.0  
5 - * @date 2021-08-28 14:35  
6 - * @class cn.iocoder.yudao.framework.extension.package-info.java  
7 - */  
8 -package cn.iocoder.yudao.framework.extension;  
9 \ No newline at end of file 0 \ No newline at end of file
yudao-framework/yudao-spring-boot-starter-extension/src/main/resources/META-INF/spring.factories deleted
1 -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\  
2 - cn.iocoder.yudao.framework.extension.config.YudaoExtensionAutoConfiguration  
yudao-framework/yudao-spring-boot-starter-extension/src/test/java/cn/iocoder/yudao/framework/extension/Application.java deleted
1 -package cn.iocoder.yudao.framework.extension;  
2 -  
3 -import org.springframework.boot.SpringApplication;  
4 -import org.springframework.boot.autoconfigure.SpringBootApplication;  
5 -  
6 -/**  
7 - * @description Application  
8 - * @author Qingchen  
9 - * @version 1.0.0  
10 - * @date 2021-08-30 10:32  
11 - * @class cn.iocoder.yudao.framework.extension.Application.java  
12 - */  
13 -@SpringBootApplication  
14 -public class Application {  
15 -  
16 - public static void main(String[] args) {  
17 - SpringApplication.run(Application.class, args);  
18 - }  
19 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/test/java/cn/iocoder/yudao/framework/extension/ExtensionTest.java deleted
1 -package cn.iocoder.yudao.framework.extension;  
2 -  
3 -import cn.hutool.core.util.IdUtil;  
4 -import cn.hutool.json.JSONUtil;  
5 -import cn.iocoder.yudao.framework.extension.core.BusinessScenario;  
6 -import cn.iocoder.yudao.framework.extension.core.context.ExtensionExecutor;  
7 -import cn.iocoder.yudao.framework.extension.pay.PayExtensionPoint;  
8 -import cn.iocoder.yudao.framework.extension.pay.command.TransactionsCommand;  
9 -import cn.iocoder.yudao.framework.extension.pay.domain.TransactionsResult;  
10 -import lombok.extern.slf4j.Slf4j;  
11 -import org.junit.Assert;  
12 -import org.junit.Test;  
13 -import org.junit.runner.RunWith;  
14 -import org.springframework.beans.factory.annotation.Autowired;  
15 -import org.springframework.boot.test.context.SpringBootTest;  
16 -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;  
17 -  
18 -import java.math.BigDecimal;  
19 -  
20 -/**  
21 - * @description  
22 - * @author Qingchen  
23 - * @version 1.0.0  
24 - * @date 2021-08-30 10:30  
25 - * @class cn.iocoder.yudao.framework.extension.ExtensionTest.java  
26 - */  
27 -@RunWith(SpringJUnit4ClassRunner.class)  
28 -@SpringBootTest(classes = Application.class)  
29 -@Slf4j  
30 -public class ExtensionTest {  
31 -  
32 - @Autowired  
33 - private ExtensionExecutor extensionExecutor;  
34 -  
35 - @Test  
36 - public void unifiedOrder() {  
37 - final BusinessScenario scenario = BusinessScenario.valueOf("pay", "jsapi", "wechat");  
38 - final TransactionsCommand command = new TransactionsCommand(IdUtil.objectId(), new BigDecimal(105), "Image形象店-深圳腾大-QQ公仔", "https://www.weixin.qq.com/wxpay/pay.php");  
39 - final TransactionsResult result = extensionExecutor.execute(PayExtensionPoint.class, scenario, extension -> extension.unifiedOrder(command));  
40 - log.info("result is: {}", JSONUtil.toJsonStr(result));  
41 - Assert.assertSame("wechat", result.getChannel());  
42 - }  
43 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/test/java/cn/iocoder/yudao/framework/extension/package-info.java deleted
1 -/**  
2 - * @description  
3 - * @author Qingchen  
4 - * @version 1.0.0  
5 - * @date 2021-08-30 10:25  
6 - * @class cn.iocoder.yudao.framework.extension.package-info.java  
7 - */  
8 -package cn.iocoder.yudao.framework.extension;  
9 \ No newline at end of file 0 \ No newline at end of file
yudao-framework/yudao-spring-boot-starter-extension/src/test/java/cn/iocoder/yudao/framework/extension/pay/PayExtensionPoint.java deleted
1 -package cn.iocoder.yudao.framework.extension.pay;  
2 -  
3 -import cn.iocoder.yudao.framework.extension.core.point.ExtensionPoint;  
4 -import cn.iocoder.yudao.framework.extension.pay.command.TransactionsCommand;  
5 -import cn.iocoder.yudao.framework.extension.pay.domain.TransactionsResult;  
6 -  
7 -/**  
8 - * @description 支付操作接口  
9 - * @author Qingchen  
10 - * @version 1.0.0  
11 - * @date 2021-08-30 10:35  
12 - * @class cn.iocoder.yudao.framework.extension.pay.PayExtensionPoint.java  
13 - */  
14 -public interface PayExtensionPoint extends ExtensionPoint {  
15 -  
16 - /**  
17 - * 统一下单:获取"预支付交易会话标识"  
18 - * @param command  
19 - * @return  
20 - */  
21 - TransactionsResult unifiedOrder(TransactionsCommand command);  
22 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/test/java/cn/iocoder/yudao/framework/extension/pay/command/TransactionsCommand.java deleted
1 -package cn.iocoder.yudao.framework.extension.pay.command;  
2 -  
3 -import lombok.AllArgsConstructor;  
4 -import lombok.Data;  
5 -import lombok.NoArgsConstructor;  
6 -  
7 -import java.io.Serializable;  
8 -import java.math.BigDecimal;  
9 -  
10 -/**  
11 - * @description 下单请求  
12 - * @author Qingchen  
13 - * @version 1.0.0  
14 - * @date 2021-08-30 10:48  
15 - * @class cn.iocoder.yudao.framework.extension.pay.command.TransactionsCommand.java  
16 - */  
17 -@Data  
18 -@NoArgsConstructor  
19 -@AllArgsConstructor  
20 -public class TransactionsCommand implements Serializable {  
21 - /**  
22 - * 订单编号  
23 - */  
24 - private String orderNo;  
25 -  
26 - /**  
27 - * 支付金额  
28 - */  
29 - private BigDecimal amount;  
30 -  
31 - /**  
32 - * 商品描述  
33 - */  
34 - private String productDescription;  
35 -  
36 - /**  
37 - * 通知地址  
38 - */  
39 - private String notifyUrl;  
40 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/test/java/cn/iocoder/yudao/framework/extension/pay/domain/TransactionsResult.java deleted
1 -package cn.iocoder.yudao.framework.extension.pay.domain;  
2 -  
3 -import lombok.*;  
4 -  
5 -import java.io.Serializable;  
6 -  
7 -/**  
8 - * @description 下单: 预支付交易单返回结果  
9 - * @author Qingchen  
10 - * @version 1.0.0  
11 - * @date 2021-08-30 10:43  
12 - * @class cn.iocoder.yudao.framework.extension.pay.domain.TransactionsResult.java  
13 - */  
14 -@Data  
15 -@AllArgsConstructor  
16 -public class TransactionsResult implements Serializable {  
17 -  
18 - /**  
19 - * 预支付交易会话标识  
20 - */  
21 - private String prepayId;  
22 -  
23 - /**  
24 - * 订单编号  
25 - */  
26 - private String orderNo;  
27 -  
28 - /**  
29 - * 系统内部支付单号  
30 - */  
31 - private String paymentNo;  
32 -  
33 - /**  
34 - * 支付渠道:微信 or 支付宝  
35 - */  
36 - private String channel;  
37 -  
38 -  
39 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/test/java/cn/iocoder/yudao/framework/extension/pay/impl/AlipayService.java deleted
1 -package cn.iocoder.yudao.framework.extension.pay.impl;  
2 -  
3 -import cn.hutool.core.util.IdUtil;  
4 -import cn.hutool.json.JSONUtil;  
5 -import cn.iocoder.yudao.framework.extension.core.stereotype.Extension;  
6 -import cn.iocoder.yudao.framework.extension.pay.PayExtensionPoint;  
7 -import cn.iocoder.yudao.framework.extension.pay.command.TransactionsCommand;  
8 -import cn.iocoder.yudao.framework.extension.pay.domain.TransactionsResult;  
9 -import lombok.extern.slf4j.Slf4j;  
10 -  
11 -/**  
12 - * @description 微信 JSAPI 支付  
13 - * @author Qingchen  
14 - * @version 1.0.0  
15 - * @date 2021-08-30 10:38  
16 - * @class cn.iocoder.yudao.framework.extension.pay.impl.AlipayService.java  
17 - */  
18 -@Extension(businessId = "pay", useCase = "jsapi", scenario = "alipay")  
19 -@Slf4j  
20 -public class AlipayService implements PayExtensionPoint {  
21 - @Override  
22 - public TransactionsResult unifiedOrder(TransactionsCommand command) {  
23 - log.info("微信 JSAPI 支付:{}", JSONUtil.toJsonStr(command));  
24 - return new TransactionsResult("alipay26112221580621e9b071c00d9e093b0000", command.getOrderNo(), IdUtil.objectId(), "alipay");  
25 - }  
26 -}  
yudao-framework/yudao-spring-boot-starter-extension/src/test/java/cn/iocoder/yudao/framework/extension/pay/impl/WechatPayService.java deleted
1 -package cn.iocoder.yudao.framework.extension.pay.impl;  
2 -  
3 -import cn.hutool.core.util.IdUtil;  
4 -import cn.hutool.json.JSONUtil;  
5 -import cn.iocoder.yudao.framework.extension.core.stereotype.Extension;  
6 -import cn.iocoder.yudao.framework.extension.pay.PayExtensionPoint;  
7 -import cn.iocoder.yudao.framework.extension.pay.command.TransactionsCommand;  
8 -import cn.iocoder.yudao.framework.extension.pay.domain.TransactionsResult;  
9 -import lombok.extern.slf4j.Slf4j;  
10 -  
11 -/**  
12 - * @description 微信 JSAPI 支付  
13 - * @author Qingchen  
14 - * @version 1.0.0  
15 - * @date 2021-08-30 10:37  
16 - * @class cn.iocoder.yudao.framework.extension.pay.impl.WechatPayService.java  
17 - */  
18 -@Extension(businessId = "pay", useCase = "jsapi", scenario = "wechat")  
19 -@Slf4j  
20 -public class WechatPayService implements PayExtensionPoint {  
21 - @Override  
22 - public TransactionsResult unifiedOrder(TransactionsCommand command) {  
23 - log.info("微信 JSAPI 支付:{}", JSONUtil.toJsonStr(command));  
24 - return new TransactionsResult("wx26112221580621e9b071c00d9e093b0000", command.getOrderNo(), IdUtil.objectId(), "wechat");  
25 - }  
26 -}  
yudao-framework/yudao-spring-boot-starter-extension/《芋道 Spring Boot 扩展点组件》.md deleted
1 -### 作用  
2 -  
3 -​ 为了解决同一个流程不同业务有不同处理逻辑而产生,减少代码中 if else 逻辑,降低代码的耦合性,通过统一的扩展形式来支撑业务的变化。  
4 -  
5 -### 原理  
6 -  
7 -​ https://blog.csdn.net/significantfrank/article/details/100074716  
8 -  
9 -  
10 -  
11 -### 使用介绍  
12 -  
13 -参考测试代码 `cn.iocoder.yudao.framework.extension.ExtensionTest`  
14 -  
15 -  
16 -  
17 -  
18 -  
19 -  
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataServiceImpl.java
@@ -164,11 +164,6 @@ public class DictDataServiceImpl implements DictDataService { @@ -164,11 +164,6 @@ public class DictDataServiceImpl implements DictDataService {
164 } 164 }
165 165
166 @Override 166 @Override
167 - public List<DictDataRespDTO> listDictDatasFromCache(String type) {  
168 - return DictDataConvert.INSTANCE.convertList03(labelDictDataCache.row(type).values());  
169 - }  
170 -  
171 - @Override  
172 public Long createDictData(DictDataCreateReqVO reqVO) { 167 public Long createDictData(DictDataCreateReqVO reqVO) {
173 // 校验正确性 168 // 校验正确性
174 checkCreateOrUpdate(null, reqVO.getValue(), reqVO.getDictType()); 169 checkCreateOrUpdate(null, reqVO.getValue(), reqVO.getDictType());