add dict model
This commit is contained in:
parent
e9b66b13e4
commit
b6a82bbf6c
|
@ -87,7 +87,7 @@ public class ApiConfig {
|
||||||
/**
|
/**
|
||||||
* api data dictionary
|
* api data dictionary
|
||||||
*/
|
*/
|
||||||
private List<ApiDataDictionary> dataDictionaries;
|
private List<ApiDataDictConfig> dataDictConfigs;
|
||||||
|
|
||||||
|
|
||||||
public String getServerUrl() {
|
public String getServerUrl() {
|
||||||
|
@ -196,11 +196,13 @@ public class ApiConfig {
|
||||||
this.adoc = adoc;
|
this.adoc = adoc;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ApiDataDictionary> getDataDictionaries() {
|
public List<ApiDataDictConfig> getDataDictConfigs() {
|
||||||
return dataDictionaries;
|
return dataDictConfigs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDataDictionaries(ApiDataDictionary... dataDictionary) {
|
public void setDataDictConfigs(ApiDataDictConfig... dataDictConfigs) {
|
||||||
this.dataDictionaries = CollectionUtil.asList(dataDictionary);
|
this.dataDictConfigs = CollectionUtil.asList(dataDictConfigs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package com.power.doc.model;
|
||||||
/**
|
/**
|
||||||
* @author yu 2019/10/31.
|
* @author yu 2019/10/31.
|
||||||
*/
|
*/
|
||||||
public class ApiDataDictionary {
|
public class ApiDataDictConfig {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dictionary
|
* Dictionary
|
||||||
|
@ -15,6 +15,11 @@ public class ApiDataDictionary {
|
||||||
*/
|
*/
|
||||||
private Class enumClass;
|
private Class enumClass;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum class name
|
||||||
|
*/
|
||||||
|
private String enumClassName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* value field
|
* value field
|
||||||
*/
|
*/
|
||||||
|
@ -26,15 +31,15 @@ public class ApiDataDictionary {
|
||||||
private String descField;
|
private String descField;
|
||||||
|
|
||||||
|
|
||||||
public static ApiDataDictionary dict() {
|
public static ApiDataDictConfig dict() {
|
||||||
return new ApiDataDictionary();
|
return new ApiDataDictConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getTitle() {
|
public String getTitle() {
|
||||||
return title;
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApiDataDictionary setTitle(String title) {
|
public ApiDataDictConfig setTitle(String title) {
|
||||||
this.title = title;
|
this.title = title;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +48,7 @@ public class ApiDataDictionary {
|
||||||
return enumClass;
|
return enumClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApiDataDictionary setEnumClass(Class enumClass) {
|
public ApiDataDictConfig setEnumClass(Class enumClass) {
|
||||||
this.enumClass = enumClass;
|
this.enumClass = enumClass;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -52,7 +57,7 @@ public class ApiDataDictionary {
|
||||||
return valueField;
|
return valueField;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApiDataDictionary setValueField(String valueField) {
|
public ApiDataDictConfig setValueField(String valueField) {
|
||||||
this.valueField = valueField;
|
this.valueField = valueField;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -61,8 +66,17 @@ public class ApiDataDictionary {
|
||||||
return descField;
|
return descField;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApiDataDictionary setDescField(String descField) {
|
public ApiDataDictConfig setDescField(String descField) {
|
||||||
this.descField = descField;
|
this.descField = descField;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getEnumClassName() {
|
||||||
|
return enumClassName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ApiDataDictConfig setEnumClassName(String enumClassName) {
|
||||||
|
this.enumClassName = enumClassName;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.power.doc.model;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yu 2019/10/31.
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ApiDocDict {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* order
|
||||||
|
*/
|
||||||
|
private int order;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dict title
|
||||||
|
*/
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* data dict
|
||||||
|
*/
|
||||||
|
private List<DataDict> dataDictList;
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package com.power.doc.model;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yu 2019/10/31.
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DataDict {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dict value
|
||||||
|
*/
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dict desc
|
||||||
|
*/
|
||||||
|
private String desc;
|
||||||
|
}
|
|
@ -3,16 +3,14 @@ package com.power.doc;
|
||||||
import com.power.common.util.DateTimeUtil;
|
import com.power.common.util.DateTimeUtil;
|
||||||
import com.power.common.util.StringUtil;
|
import com.power.common.util.StringUtil;
|
||||||
import com.power.doc.enums.OrderEnum;
|
import com.power.doc.enums.OrderEnum;
|
||||||
import com.power.doc.model.ApiConfig;
|
import com.power.doc.model.*;
|
||||||
import com.power.doc.model.ApiDataDictionary;
|
|
||||||
import com.power.doc.model.RevisionLog;
|
|
||||||
import com.power.doc.model.SourceCodePath;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
|
@ -54,8 +52,8 @@ public class ApiDocTest {
|
||||||
//SourcePath.path().setPath("F:\\Personal\\project\\smart\\src\\main\\java")
|
//SourcePath.path().setPath("F:\\Personal\\project\\smart\\src\\main\\java")
|
||||||
//SourcePath.path().setDesc("加载项目外代码").setPath("E:\\ApplicationPower\\ApplicationPower\\Common-util\\src\\main\\java")
|
//SourcePath.path().setDesc("加载项目外代码").setPath("E:\\ApplicationPower\\ApplicationPower\\Common-util\\src\\main\\java")
|
||||||
);
|
);
|
||||||
config.setDataDictionaries(
|
config.setDataDictConfigs(
|
||||||
ApiDataDictionary.dict().setTitle("订单字典").setEnumClass(OrderEnum.class).setValueField("code").setDescField("desc")
|
ApiDataDictConfig.dict().setTitle("订单字典").setEnumClass(OrderEnum.class).setValueField("code").setDescField("desc")
|
||||||
);
|
);
|
||||||
//设置请求头,如果没有请求头,可以不用设置
|
//设置请求头,如果没有请求头,可以不用设置
|
||||||
/* config.setRequestHeaders(
|
/* config.setRequestHeaders(
|
||||||
|
@ -78,14 +76,28 @@ public class ApiDocTest {
|
||||||
RevisionLog.getLog().setRevisionTime("2018/12/16").setAuthor("chen2").setRemarks("测试2").setStatus("修改").setVersion("V2.0")
|
RevisionLog.getLog().setRevisionTime("2018/12/16").setAuthor("chen2").setRemarks("测试2").setStatus("修改").setVersion("V2.0")
|
||||||
);
|
);
|
||||||
|
|
||||||
List<ApiDataDictionary> apiDataDictionaryList = config.getDataDictionaries();
|
List<ApiDataDictConfig> apiDataDictionaryList = config.getDataDictConfigs();
|
||||||
try {
|
try {
|
||||||
for (ApiDataDictionary apiDataDictionary : apiDataDictionaryList) {
|
List<ApiDocDict> apiDocDictList = new ArrayList<>();//模板中遍历这个字典表生成字典文档
|
||||||
|
int order = 0;
|
||||||
|
for (ApiDataDictConfig apiDataDictionary : apiDataDictionaryList) {
|
||||||
System.out.println("dictionary:" + apiDataDictionary.getTitle());
|
System.out.println("dictionary:" + apiDataDictionary.getTitle());
|
||||||
|
order++;
|
||||||
|
ApiDocDict apiDocDict = new ApiDocDict();
|
||||||
|
apiDocDict.setOrder(order);//设置方便在文档中的小结顺序
|
||||||
|
apiDocDict.setTitle(apiDataDictionary.getTitle());
|
||||||
Class<?> clzz = apiDataDictionary.getEnumClass();
|
Class<?> clzz = apiDataDictionary.getEnumClass();
|
||||||
|
if (Objects.isNull(clzz)) {
|
||||||
|
if (StringUtil.isEmpty(apiDataDictionary.getEnumClassName())) {
|
||||||
|
throw new RuntimeException(" enum class name can't be null.");
|
||||||
|
}
|
||||||
|
//如果没有设置class那么检查是否设置了字符串类型的class name
|
||||||
|
clzz = Class.forName(apiDataDictionary.getEnumClassName());
|
||||||
|
}
|
||||||
if (!clzz.isEnum()) {
|
if (!clzz.isEnum()) {
|
||||||
throw new RuntimeException(clzz.getCanonicalName() + " is not an enum class.");
|
throw new RuntimeException(clzz.getCanonicalName() + " is not an enum class.");
|
||||||
}
|
}
|
||||||
|
List<DataDict> dataDictList = new ArrayList<>();
|
||||||
Object[] objects = clzz.getEnumConstants();
|
Object[] objects = clzz.getEnumConstants();
|
||||||
String valueMethodName = "get" + StringUtil.firstToUpperCase(apiDataDictionary.getValueField());
|
String valueMethodName = "get" + StringUtil.firstToUpperCase(apiDataDictionary.getValueField());
|
||||||
String descMethodName = "get" + StringUtil.firstToUpperCase(apiDataDictionary.getDescField());
|
String descMethodName = "get" + StringUtil.firstToUpperCase(apiDataDictionary.getDescField());
|
||||||
|
@ -94,11 +106,17 @@ public class ApiDocTest {
|
||||||
for (Object object : objects) {
|
for (Object object : objects) {
|
||||||
Object val = valueMethod.invoke(object);
|
Object val = valueMethod.invoke(object);
|
||||||
Object desc = descMethod.invoke(object);
|
Object desc = descMethod.invoke(object);
|
||||||
|
DataDict dataDict = new DataDict();
|
||||||
|
dataDict.setDesc(desc.toString());
|
||||||
|
dataDict.setValue(val.toString());
|
||||||
|
dataDictList.add(dataDict);
|
||||||
System.out.println("enum value=" + val + "desc=" + desc);
|
System.out.println("enum value=" + val + "desc=" + desc);
|
||||||
}
|
}
|
||||||
|
apiDocDict.setDataDictList(dataDictList);
|
||||||
|
apiDocDictList.add(apiDocDict);
|
||||||
}
|
}
|
||||||
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
|
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException | ClassNotFoundException e) {
|
||||||
|
e.fillInStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue