refactor: 更换代码生成器命名

v1.4.1
Carina 5 years ago
parent 00af5c6303
commit e5c4a1fecf

@ -9,7 +9,7 @@
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>opsli-modulars-creater</artifactId> <artifactId>opsli-modulars-generator</artifactId>
<dependencies> <dependencies>
<dependency> <dependency>

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.exception; package org.opsli.core.generator.exception;
import org.opsli.common.base.msg.BaseMsg; import org.opsli.common.base.msg.BaseMsg;
import org.opsli.common.exception.ServiceException; import org.opsli.common.exception.ServiceException;
@ -24,13 +24,13 @@ import org.opsli.common.exception.ServiceException;
* @author parker * @author parker
* @date 2020-09-22 11:17 * @date 2020-09-22 11:17
*/ */
public class CreaterException extends ServiceException { public class GeneratorException extends ServiceException {
public CreaterException(Integer code, String errorMessage) { public GeneratorException(Integer code, String errorMessage) {
super(code, errorMessage); super(code, errorMessage);
} }
public CreaterException(BaseMsg msg) { public GeneratorException(BaseMsg msg) {
super(msg); super(msg);
} }
} }

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.msg; package org.opsli.core.generator.msg;
import org.opsli.common.base.msg.BaseMsg; import org.opsli.common.base.msg.BaseMsg;
@ -23,7 +23,7 @@ import org.opsli.common.base.msg.BaseMsg;
* @author parker * @author parker
* @date 2020-09-13 19:36 * @date 2020-09-13 19:36
*/ */
public enum CreaterMsg implements BaseMsg { public enum GeneratorMsg implements BaseMsg {
/** /**
* *
@ -68,7 +68,7 @@ public enum CreaterMsg implements BaseMsg {
private final int code; private final int code;
private final String message; private final String message;
CreaterMsg(int code, String message){ GeneratorMsg(int code, String message){
this.code = code; this.code = code;
this.message = message; this.message = message;
} }

@ -13,22 +13,26 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.create; package org.opsli.core.generator.strategy.create;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.opsli.api.ApiFlag; import org.opsli.api.ApiFlag;
import org.opsli.common.enums.DictType;
import org.opsli.common.enums.ValiArgsType; import org.opsli.common.enums.ValiArgsType;
import org.opsli.common.utils.HumpUtil; import org.opsli.common.utils.HumpUtil;
import org.opsli.common.utils.Props; import org.opsli.common.utils.Props;
import org.opsli.common.utils.ZipUtils; import org.opsli.common.utils.ZipUtils;
import org.opsli.core.creater.strategy.create.backend.JavaCodeBuilder; import org.opsli.core.generator.strategy.create.backend.JavaCodeBuilder;
import org.opsli.core.creater.strategy.create.foreend.VueCodeBuilder; import org.opsli.core.generator.strategy.create.foreend.VueCodeBuilder;
import org.opsli.core.creater.strategy.create.readme.ReadMeBuilder; import org.opsli.core.generator.strategy.create.readme.ReadMeBuilder;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.core.generator.utils.GeneratorHandleUtil;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterBuilderModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel;
import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
@ -61,7 +65,7 @@ public enum CodeBuilder {
static { static {
Props props = new Props("creater.yaml"); Props props = new Props("generator.yaml");
EXCLUDE_FIELDS = props.getList("opsli.exclude-fields"); EXCLUDE_FIELDS = props.getList("opsli.exclude-fields");
API_PATH = ApiFlag.class.getPackage().getName(); API_PATH = ApiFlag.class.getPackage().getName();
} }
@ -69,29 +73,15 @@ public enum CodeBuilder {
/** /**
* *
*/ */
public void build(CreaterBuilderModel builderModel, HttpServletResponse response){ public void build(GenBuilderModel builderModel, HttpServletResponse response){
if(builderModel == null){ if(builderModel == null){
return; return;
} }
String dataStr = DateUtil.format(DateUtil.date(), "yyyyMMddHHmmss"); String dataStr = DateUtil.format(DateUtil.date(), "yyyyMMddHHmmss");
CreaterTableAndColumnModel model = builderModel.getModel(); // 处理表数据
GenBuilderModel genBuilderModel = GeneratorHandleUtil.handleData(builderModel, EXCLUDE_FIELDS);
// 数据库表名转驼峰
model.setTableName(
HumpUtil.captureName(
HumpUtil.underlineToHump(
model.getTableName()
)
)
);
List<CreaterTableColumnModel> columnList = model.getColumnList();
//遍历排除字段
columnList.removeIf(tmp -> EXCLUDE_FIELDS.contains(tmp.getFieldName()));
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream out = this.getOutputStream(response, dataStr); OutputStream out = this.getOutputStream(response, dataStr);
@ -100,34 +90,34 @@ public enum CodeBuilder {
List<Map<String, String>> fileList = new ArrayList<>(); List<Map<String, String>> fileList = new ArrayList<>();
// 处理后端代码 ==================== // 处理后端代码 ====================
// entity // entity
fileList.add(JavaCodeBuilder.INSTANCE.createEntity(builderModel, dataStr)); fileList.add(JavaCodeBuilder.INSTANCE.createEntity(genBuilderModel, dataStr));
// mapper // mapper
fileList.add(JavaCodeBuilder.INSTANCE.createMapper(builderModel, dataStr)); fileList.add(JavaCodeBuilder.INSTANCE.createMapper(genBuilderModel, dataStr));
// mapper xml // mapper xml
fileList.add(JavaCodeBuilder.INSTANCE.createMapperXML(builderModel, dataStr)); fileList.add(JavaCodeBuilder.INSTANCE.createMapperXML(genBuilderModel, dataStr));
// service // service
fileList.add(JavaCodeBuilder.INSTANCE.createService(builderModel, dataStr)); fileList.add(JavaCodeBuilder.INSTANCE.createService(genBuilderModel, dataStr));
// service impl // service impl
fileList.add(JavaCodeBuilder.INSTANCE.createServiceImpl(builderModel, dataStr)); fileList.add(JavaCodeBuilder.INSTANCE.createServiceImpl(genBuilderModel, dataStr));
// web // web
fileList.add(JavaCodeBuilder.INSTANCE.createWeb(builderModel, dataStr)); fileList.add(JavaCodeBuilder.INSTANCE.createWeb(genBuilderModel, dataStr));
// model // model
fileList.add(JavaCodeBuilder.INSTANCE.createModel(builderModel, dataStr)); fileList.add(JavaCodeBuilder.INSTANCE.createModel(genBuilderModel, dataStr));
// api // api
fileList.add(JavaCodeBuilder.INSTANCE.createRestApi(builderModel, dataStr)); fileList.add(JavaCodeBuilder.INSTANCE.createRestApi(genBuilderModel, dataStr));
// 处理前端代码 ==================== // 处理前端代码 ====================
// index // index
fileList.add(VueCodeBuilder.INSTANCE.createIndex(builderModel, dataStr)); fileList.add(VueCodeBuilder.INSTANCE.createIndex(genBuilderModel, dataStr));
// edit // edit
fileList.add(VueCodeBuilder.INSTANCE.createEdit(builderModel, dataStr)); fileList.add(VueCodeBuilder.INSTANCE.createEdit(genBuilderModel, dataStr));
// import // import
fileList.add(VueCodeBuilder.INSTANCE.createImport(builderModel, dataStr)); fileList.add(VueCodeBuilder.INSTANCE.createImport(genBuilderModel, dataStr));
// 前api // 前api
fileList.add(VueCodeBuilder.INSTANCE.createApi(builderModel, dataStr)); fileList.add(VueCodeBuilder.INSTANCE.createApi(genBuilderModel, dataStr));
// 处理 ReadMe // 处理 ReadMe
fileList.add(ReadMeBuilder.INSTANCE.createReadMe(builderModel, dataStr)); fileList.add(ReadMeBuilder.INSTANCE.createReadMe(genBuilderModel, dataStr));
// 生成zip文件 // 生成zip文件
ZipUtils.toZip(fileList, baos); ZipUtils.toZip(fileList, baos);

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.create.backend; package org.opsli.core.generator.strategy.create.backend;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.jfinal.kit.Kv; import com.jfinal.kit.Kv;
@ -23,10 +23,10 @@ import org.opsli.common.enums.ValiArgsType;
import org.opsli.common.utils.HumpUtil; import org.opsli.common.utils.HumpUtil;
import org.opsli.common.utils.WrapperUtil; import org.opsli.common.utils.WrapperUtil;
import org.opsli.common.utils.ZipUtils; import org.opsli.common.utils.ZipUtils;
import org.opsli.core.creater.strategy.create.CodeBuilder; import org.opsli.core.generator.strategy.create.CodeBuilder;
import org.opsli.core.creater.utils.EnjoyUtil; import org.opsli.core.generator.utils.EnjoyUtil;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterBuilderModel; import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -49,12 +49,12 @@ public enum JavaCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createEntity(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createEntity(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<CreaterTableColumnModel> columnList = builderModel.getModel().getColumnList(); List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
// 处理数据 // 处理数据
for (CreaterTableColumnModel columnModel : columnList) { for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰 // 数据库字段名转驼峰
columnModel.setFieldName( columnModel.setFieldName(
HumpUtil.underlineToHump( HumpUtil.underlineToHump(
@ -94,9 +94,9 @@ public enum JavaCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createMapper(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createMapper(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
String codeStr = EnjoyUtil.render("/backend/mapper/TemplateMapper.html", String codeStr = EnjoyUtil.render("/backend/mapper/TemplateMapper.html",
this.createKv(builderModel) this.createKv(builderModel)
); );
@ -128,9 +128,9 @@ public enum JavaCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createMapperXML(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createMapperXML(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
String codeStr = EnjoyUtil.render("/backend/mapper/xml/TemplateMapperXML.html", String codeStr = EnjoyUtil.render("/backend/mapper/xml/TemplateMapperXML.html",
this.createKv(builderModel) this.createKv(builderModel)
); );
@ -164,9 +164,9 @@ public enum JavaCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createService(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createService(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
String codeStr = EnjoyUtil.render("/backend/service/TemplateService.html", String codeStr = EnjoyUtil.render("/backend/service/TemplateService.html",
this.createKv(builderModel) this.createKv(builderModel)
); );
@ -199,9 +199,9 @@ public enum JavaCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createServiceImpl(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createServiceImpl(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
String codeStr = EnjoyUtil.render("/backend/service/impl/TemplateServiceImpl.html", String codeStr = EnjoyUtil.render("/backend/service/impl/TemplateServiceImpl.html",
this.createKv(builderModel) this.createKv(builderModel)
); );
@ -235,9 +235,9 @@ public enum JavaCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createWeb(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createWeb(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
String codeStr = EnjoyUtil.render("/backend/web/TemplateRestController.html", String codeStr = EnjoyUtil.render("/backend/web/TemplateRestController.html",
this.createKv(builderModel) this.createKv(builderModel)
); );
@ -270,12 +270,12 @@ public enum JavaCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createModel(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createModel(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
// 处理数据 // 处理数据
List<CreaterTableColumnModel> columnList = builderModel.getModel().getColumnList(); List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
for (CreaterTableColumnModel columnModel : columnList) { for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰 // 数据库字段名转驼峰
columnModel.setFieldName( columnModel.setFieldName(
HumpUtil.underlineToHump( HumpUtil.underlineToHump(
@ -344,9 +344,9 @@ public enum JavaCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createRestApi(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createRestApi(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
String codeStr = EnjoyUtil.render("/backend/api/TemplateRestApi.html", String codeStr = EnjoyUtil.render("/backend/api/TemplateRestApi.html",
this.createKv(builderModel) this.createKv(builderModel)
); );
@ -377,7 +377,7 @@ public enum JavaCodeBuilder {
* @param builderModel Build * @param builderModel Build
* @return Kv * @return Kv
*/ */
private Kv createKv(CreaterBuilderModel builderModel){ private Kv createKv(GenBuilderModel builderModel){
return Kv.by("data", builderModel) return Kv.by("data", builderModel)
.set("currTime", DateUtil.now()) .set("currTime", DateUtil.now())
.set("apiPath", CodeBuilder.API_PATH); .set("apiPath", CodeBuilder.API_PATH);

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.create.foreend; package org.opsli.core.generator.strategy.create.foreend;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.jfinal.kit.Kv; import com.jfinal.kit.Kv;
@ -24,10 +24,10 @@ import org.opsli.common.utils.HumpUtil;
import org.opsli.common.utils.Props; import org.opsli.common.utils.Props;
import org.opsli.common.utils.WrapperUtil; import org.opsli.common.utils.WrapperUtil;
import org.opsli.common.utils.ZipUtils; import org.opsli.common.utils.ZipUtils;
import org.opsli.core.creater.strategy.create.CodeBuilder; import org.opsli.core.generator.strategy.create.CodeBuilder;
import org.opsli.core.creater.utils.EnjoyUtil; import org.opsli.core.generator.utils.EnjoyUtil;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterBuilderModel; import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel;
import java.util.*; import java.util.*;
@ -57,12 +57,12 @@ public enum VueCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createIndex(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createIndex(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<CreaterTableColumnModel> columnList = builderModel.getModel().getColumnList(); List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
// 处理数据 // 处理数据
for (CreaterTableColumnModel columnModel : columnList) { for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰 // 数据库字段名转驼峰
columnModel.setFieldName( columnModel.setFieldName(
HumpUtil.underlineToHump( HumpUtil.underlineToHump(
@ -71,16 +71,16 @@ public enum VueCodeBuilder {
); );
} }
List<CreaterTableColumnModel> queryList = new ArrayList<>(2); List<GenTableColumnModel> queryList = new ArrayList<>(2);
// 简单检索 // 简单检索
List<CreaterTableColumnModel> briefQueryList = new ArrayList<>(2); List<GenTableColumnModel> briefQueryList = new ArrayList<>(2);
// 更多检索 // 更多检索
List<CreaterTableColumnModel> moreQueryList = new ArrayList<>(); List<GenTableColumnModel> moreQueryList = new ArrayList<>();
for (CreaterTableColumnModel createrTableColumnModel : columnList) { for (GenTableColumnModel genTableColumnModel : columnList) {
if (StringUtils.isNotBlank(createrTableColumnModel.getQueryType()) && if (StringUtils.isNotBlank(genTableColumnModel.getQueryType()) &&
createrTableColumnModel.getIzShowList().equals(DictType.NO_YES_YES.getValue()) genTableColumnModel.getIzShowList().equals(DictType.NO_YES_YES.getValue())
) { ) {
queryList.add(createrTableColumnModel); queryList.add(genTableColumnModel);
} }
} }
// 筛选数据 // 筛选数据
@ -126,15 +126,15 @@ public enum VueCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createEdit(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createEdit(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<CreaterTableColumnModel> columnList = builderModel.getModel().getColumnList(); List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
List<List<CreaterTableColumnModel>> formList = new ArrayList<>(); List<List<GenTableColumnModel>> formList = new ArrayList<>();
Map<String,List<String>> valiDict = new HashMap<>(); Map<String,List<String>> valiDict = new HashMap<>();
Set<String> validateTypesSet = new HashSet<>(); Set<String> validateTypesSet = new HashSet<>();
// 处理验证数据 // 处理验证数据
for (CreaterTableColumnModel columnModel : columnList) { for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰 // 数据库字段名转驼峰
columnModel.setFieldName( columnModel.setFieldName(
HumpUtil.underlineToHump( HumpUtil.underlineToHump(
@ -171,13 +171,13 @@ public enum VueCodeBuilder {
if(DictType.NO_YES_YES.getValue().equals(columnList.get(0).getIzShowForm()) && if(DictType.NO_YES_YES.getValue().equals(columnList.get(0).getIzShowForm()) &&
StringUtils.isNotBlank(columnList.get(0).getShowType()) StringUtils.isNotBlank(columnList.get(0).getShowType())
){ ){
List<CreaterTableColumnModel> formTmpList = new ArrayList<>(); List<GenTableColumnModel> formTmpList = new ArrayList<>();
formTmpList.add(columnList.get(0)); formTmpList.add(columnList.get(0));
formList.add(formTmpList); formList.add(formTmpList);
} }
}else{ }else{
for (int i = 0; i < columnList.size(); i+=2) { for (int i = 0; i < columnList.size(); i+=2) {
List<CreaterTableColumnModel> formTmpList = new ArrayList<>(); List<GenTableColumnModel> formTmpList = new ArrayList<>();
if(DictType.NO_YES_YES.getValue().equals(columnList.get(i).getIzShowForm()) && if(DictType.NO_YES_YES.getValue().equals(columnList.get(i).getIzShowForm()) &&
StringUtils.isNotBlank(columnList.get(i).getShowType()) StringUtils.isNotBlank(columnList.get(i).getShowType())
){ ){
@ -232,12 +232,12 @@ public enum VueCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createImport(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createImport(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<CreaterTableColumnModel> columnList = builderModel.getModel().getColumnList(); List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
// 处理数据 // 处理数据
for (CreaterTableColumnModel columnModel : columnList) { for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰 // 数据库字段名转驼峰
columnModel.setFieldName( columnModel.setFieldName(
HumpUtil.underlineToHump( HumpUtil.underlineToHump(
@ -278,12 +278,12 @@ public enum VueCodeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createApi(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createApi(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
List<CreaterTableColumnModel> columnList = builderModel.getModel().getColumnList(); List<GenTableColumnModel> columnList = builderModel.getModel().getColumnList();
// 处理数据 // 处理数据
for (CreaterTableColumnModel columnModel : columnList) { for (GenTableColumnModel columnModel : columnList) {
// 数据库字段名转驼峰 // 数据库字段名转驼峰
columnModel.setFieldName( columnModel.setFieldName(
HumpUtil.underlineToHump( HumpUtil.underlineToHump(
@ -321,7 +321,7 @@ public enum VueCodeBuilder {
* @param builderModel Build * @param builderModel Build
* @return Kv * @return Kv
*/ */
private Kv createKv(CreaterBuilderModel builderModel){ private Kv createKv(GenBuilderModel builderModel){
return Kv.by("data", builderModel) return Kv.by("data", builderModel)
.set("currTime", DateUtil.now()); .set("currTime", DateUtil.now());
} }

@ -13,21 +13,17 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.create.readme; package org.opsli.core.generator.strategy.create.readme;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.jfinal.kit.Kv; import com.jfinal.kit.Kv;
import org.opsli.common.utils.HumpUtil;
import org.opsli.common.utils.Props;
import org.opsli.common.utils.WrapperUtil; import org.opsli.common.utils.WrapperUtil;
import org.opsli.common.utils.ZipUtils; import org.opsli.common.utils.ZipUtils;
import org.opsli.core.creater.strategy.create.CodeBuilder; import org.opsli.core.generator.strategy.create.CodeBuilder;
import org.opsli.core.creater.utils.EnjoyUtil; import org.opsli.core.generator.utils.EnjoyUtil;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterBuilderModel;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -47,9 +43,9 @@ public enum ReadMeBuilder {
* @param dataStr * @param dataStr
* @return Map * @return Map
*/ */
public Map<String,String> createReadMe(CreaterBuilderModel builderModelTmp, String dataStr){ public Map<String,String> createReadMe(GenBuilderModel builderModelTmp, String dataStr){
CreaterBuilderModel builderModel = GenBuilderModel builderModel =
WrapperUtil.transformInstance(builderModelTmp, CreaterBuilderModel.class, true); WrapperUtil.transformInstance(builderModelTmp, GenBuilderModel.class, true);
String codeStr = EnjoyUtil.render("/readme/TemplateReadMe.html", String codeStr = EnjoyUtil.render("/readme/TemplateReadMe.html",
this.createKv(builderModel) this.createKv(builderModel)
@ -67,7 +63,7 @@ public enum ReadMeBuilder {
* @param builderModel Build * @param builderModel Build
* @return Kv * @return Kv
*/ */
private Kv createKv(CreaterBuilderModel builderModel){ private Kv createKv(GenBuilderModel builderModel){
return Kv.by("data", builderModel) return Kv.by("data", builderModel)
.set("currTime", DateUtil.now()); .set("currTime", DateUtil.now());
} }

@ -13,21 +13,21 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.sync; package org.opsli.core.generator.strategy.sync;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.opsli.common.enums.DictType; import org.opsli.common.enums.DictType;
import org.opsli.common.utils.Props; import org.opsli.common.utils.Props;
import org.opsli.core.creater.enums.DataBaseType; import org.opsli.core.generator.enums.DataBaseType;
import org.opsli.core.creater.exception.CreaterException; import org.opsli.core.generator.exception.GeneratorException;
import org.opsli.core.creater.msg.CreaterMsg; import org.opsli.core.generator.msg.GeneratorMsg;
import org.opsli.core.creater.strategy.sync.mysql.entity.FieldTypeAttribute; import org.opsli.core.generator.strategy.sync.mysql.entity.FieldTypeAttribute;
import org.opsli.core.creater.strategy.sync.mysql.enums.MySQLSyncColumnType; import org.opsli.core.generator.strategy.sync.mysql.enums.MySQLSyncColumnType;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.creater.general.actuator.SQLActuator; import org.opsli.modulars.generator.general.actuator.SQLActuator;
import org.opsli.modulars.creater.table.service.ITableService; import org.opsli.modulars.generator.table.service.IGenTableService;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel; import org.opsli.modulars.generator.table.wrapper.GenTableModel;
import org.opsli.plugins.waf.util.SQLFilterKit; import org.opsli.plugins.waf.util.SQLFilterKit;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -55,7 +55,7 @@ public class MySQLSyncBuilder implements SyncStrategy {
private static final List<String> EXCLUDE_TABLES; private static final List<String> EXCLUDE_TABLES;
static { static {
Props props = new Props("creater.yaml"); Props props = new Props("generator.yaml");
EXCLUDE_TABLES = props.getList("opsli.exclude-tables"); EXCLUDE_TABLES = props.getList("opsli.exclude-tables");
} }
@ -63,7 +63,7 @@ public class MySQLSyncBuilder implements SyncStrategy {
private SQLActuator sqlActuator; private SQLActuator sqlActuator;
@Autowired @Autowired
private ITableService iTableService; private IGenTableService iGenTableService;
@Override @Override
public DataBaseType getType() { public DataBaseType getType() {
@ -76,21 +76,21 @@ public class MySQLSyncBuilder implements SyncStrategy {
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void execute(CreaterTableAndColumnModel model) { public void execute(GenTableAndColumnModel model) {
if(model == null){ if(model == null){
return; return;
} }
CreaterTableModel currTable = iTableService.get(model.getId()); GenTableModel currTable = iGenTableService.get(model.getId());
if(currTable == null){ if(currTable == null){
// 同步表失败,暂无该表 // 同步表失败,暂无该表
throw new CreaterException(CreaterMsg.EXCEPTION_SYNC_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_SYNC_NULL);
} }
// 排查该表 是否是 在排除外的表, 如果是则不允许同步 // 排查该表 是否是 在排除外的表, 如果是则不允许同步
if(EXCLUDE_TABLES.contains(currTable.getOldTableName()) || EXCLUDE_TABLES.contains(currTable.getTableName())){ if(EXCLUDE_TABLES.contains(currTable.getOldTableName()) || EXCLUDE_TABLES.contains(currTable.getTableName())){
// 同步表失败 系统核心关键表不允许同步 // 同步表失败 系统核心关键表不允许同步
throw new CreaterException(CreaterMsg.EXCEPTION_SYNC_CORE); throw new GeneratorException(GeneratorMsg.EXCEPTION_SYNC_CORE);
} }
// 删除表 // 删除表
@ -101,7 +101,7 @@ public class MySQLSyncBuilder implements SyncStrategy {
sqlActuator.execute(this.genCreateTableSQL(model)); sqlActuator.execute(this.genCreateTableSQL(model));
// 更新同步状态 // 更新同步状态
iTableService.renewSyncState(model.getId()); iGenTableService.renewSyncState(model.getId());
} }
/** /**
@ -118,18 +118,18 @@ public class MySQLSyncBuilder implements SyncStrategy {
* @param model * @param model
* @return sql * @return sql
*/ */
private String genCreateTableSQL(CreaterTableAndColumnModel model){ private String genCreateTableSQL(GenTableAndColumnModel model){
// 表名 // 表名
String tableName = model.getTableName(); String tableName = model.getTableName();
// 表字段 // 表字段
List<CreaterTableColumnModel> columnList = model.getColumnList(); List<GenTableColumnModel> columnList = model.getColumnList();
StringBuilder str = new StringBuilder(); StringBuilder str = new StringBuilder();
str.append("CREATE TABLE `").append(SQLFilterKit.replaceSQL(tableName)) str.append("CREATE TABLE `").append(SQLFilterKit.replaceSQL(tableName))
.append("`").append(" ("); .append("`").append(" (");
for (int i = 0; i < columnList.size(); i++) { for (int i = 0; i < columnList.size(); i++) {
CreaterTableColumnModel tmp = columnList.get(i); GenTableColumnModel tmp = columnList.get(i);
// 字段名 // 字段名
str.append("`").append( str.append("`").append(

@ -13,10 +13,10 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.sync; package org.opsli.core.generator.strategy.sync;
import org.opsli.core.creater.enums.DataBaseType; import org.opsli.core.generator.enums.DataBaseType;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
/** /**
* *
@ -37,6 +37,6 @@ public interface SyncStrategy {
* *
* @param model * @param model
*/ */
void execute(CreaterTableAndColumnModel model); void execute(GenTableAndColumnModel model);
} }

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.sync.mysql.entity; package org.opsli.core.generator.strategy.sync.mysql.entity;
import lombok.Data; import lombok.Data;

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.sync.mysql.enums; package org.opsli.core.generator.strategy.sync.mysql.enums;
import org.opsli.core.creater.strategy.sync.mysql.entity.FieldTypeAttribute; import org.opsli.core.generator.strategy.sync.mysql.entity.FieldTypeAttribute;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

@ -13,14 +13,14 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.core.creater.strategy.sync.util; package org.opsli.core.generator.strategy.sync.util;
import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.ClassUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.opsli.core.creater.enums.DataBaseType; import org.opsli.core.generator.enums.DataBaseType;
import org.opsli.core.creater.strategy.sync.SyncStrategy; import org.opsli.core.generator.strategy.sync.SyncStrategy;
import org.opsli.core.utils.SpringContextHolder; import org.opsli.core.utils.SpringContextHolder;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -68,7 +68,7 @@ public class SqlSyncUtil {
* *
* @param model * @param model
*/ */
public static void execute(CreaterTableAndColumnModel model){ public static void execute(GenTableAndColumnModel model){
if(model == null){ if(model == null){
return; return;
} }

@ -1,4 +1,19 @@
package org.opsli.core.creater.utils; /**
* Copyright 2020 OPSLI https://www.opsli.com
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.opsli.core.generator.utils;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;

@ -0,0 +1,114 @@
/**
* Copyright 2020 OPSLI https://www.opsli.com
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.opsli.core.generator.utils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import org.apache.commons.lang3.StringUtils;
import org.opsli.common.enums.DictType;
import org.opsli.common.enums.ValiArgsType;
import org.opsli.common.utils.HumpUtil;
import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel;
import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import java.util.List;
/***
*
*
* @author parker
* @date 2020-11-18 13:21
*/
public final class GeneratorHandleUtil {
/** 后端 验证前缀 */
private static final String BACKEND_VALIDATE_TYPE_PREFIX = "ValiArgsType.";
public static GenBuilderModel handleData(GenBuilderModel builderModel, List<String> excludeFields){
if(builderModel == null){
return null;
}
// 非法处理
if(CollUtil.isEmpty(excludeFields)){
excludeFields = ListUtil.empty();
}
// 处理表信息
GenTableAndColumnModel model = builderModel.getModel();
// 数据库表名转驼峰
model.setTableHumpName(
HumpUtil.captureName(
HumpUtil.underlineToHump(
model.getTableName()
)
)
);
// 表字段数据处理
List<GenTableColumnModel> columnList = model.getColumnList();
if(!CollUtil.isEmpty(columnList)){
// 遍历排除字段
List<String> finalExcludeFields = excludeFields;
columnList.removeIf(tmp -> finalExcludeFields.contains(tmp.getFieldName()));
for (GenTableColumnModel columnModel : columnList) {
// 1. 数据库字段名转驼峰
columnModel.setFieldHumpName(
HumpUtil.underlineToHump(
columnModel.getFieldName()
)
);
// 2. 后端字段验证
// 处理验证器
String validateType = columnModel.getValidateType();
if(StringUtils.isNotBlank(validateType)){
String[] validateTypes = validateType.split(",");
StringBuilder stb = new StringBuilder();
boolean izNotNull = false;
// 如果非空 则开启非空验证
if(DictType.NO_YES_YES.getValue().equals(columnModel.getIzNotNull())){
izNotNull = true;
stb.append(BACKEND_VALIDATE_TYPE_PREFIX).append(ValiArgsType.IS_NOT_NULL);
}
for (int i = 0; i < validateTypes.length; i++) {
String type = validateTypes[i];
if(izNotNull){
stb.append(", ");
izNotNull = false;
}
if(!ValiArgsType.IS_NOT_NULL.equals(ValiArgsType.valueOf(type))){
stb.append(BACKEND_VALIDATE_TYPE_PREFIX).append(type);
}
if(i < validateTypes.length -1 ){
stb.append(", ");
}
}
columnModel.setBackendValidateType(stb.toString());
}
}
}
return builderModel;
}
// =================
private GeneratorHandleUtil(){}
}

@ -13,9 +13,8 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.column.entity; package org.opsli.modulars.generator.column.entity;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.opsli.core.base.entity.BaseEntity; import org.opsli.core.base.entity.BaseEntity;
@ -28,7 +27,7 @@ import org.opsli.core.base.entity.BaseEntity;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CreaterTableColumn extends BaseEntity { public class GenTableColumn extends BaseEntity {
/** 归属表ID */ /** 归属表ID */
private String tableId; private String tableId;

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.column.mapper; package org.opsli.modulars.generator.column.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.opsli.modulars.creater.column.entity.CreaterTableColumn; import org.opsli.modulars.generator.column.entity.GenTableColumn;
/** /**
@ -27,7 +27,7 @@ import org.opsli.modulars.creater.column.entity.CreaterTableColumn;
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
@Mapper @Mapper
public interface TableColumnMapper extends BaseMapper<CreaterTableColumn> { public interface GenTableColumnMapper extends BaseMapper<GenTableColumn> {

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.opsli.modulars.creater.createrlogs.mapper.CreaterLogsMapper"> <mapper namespace="org.opsli.modulars.generator.column.mapper.GenTableColumnMapper">
</mapper> </mapper>

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.column.service; package org.opsli.modulars.generator.column.service;
import org.opsli.core.base.service.interfaces.CrudServiceInterface; import org.opsli.core.base.service.interfaces.CrudServiceInterface;
import org.opsli.modulars.creater.column.entity.CreaterTableColumn; import org.opsli.modulars.generator.column.entity.GenTableColumn;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import java.util.List; import java.util.List;
@ -28,14 +28,14 @@ import java.util.List;
* @author parker * @author parker
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
public interface ITableColumnService extends CrudServiceInterface<CreaterTableColumn, CreaterTableColumnModel> { public interface IGenTableColumnService extends CrudServiceInterface<GenTableColumn, GenTableColumnModel> {
/** /**
* ID * ID
* @param tableId ID * @param tableId ID
* @return List * @return List
*/ */
List<CreaterTableColumnModel> getByTableId(String tableId); List<GenTableColumnModel> getByTableId(String tableId);
/** /**

@ -13,21 +13,21 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.column.service.impl; package org.opsli.modulars.generator.column.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.opsli.common.constants.MyBatisConstants; import org.opsli.common.constants.MyBatisConstants;
import org.opsli.core.base.service.impl.CrudServiceImpl; import org.opsli.core.base.service.impl.CrudServiceImpl;
import org.opsli.core.creater.exception.CreaterException; import org.opsli.core.generator.exception.GeneratorException;
import org.opsli.core.creater.msg.CreaterMsg; import org.opsli.core.generator.msg.GeneratorMsg;
import org.opsli.core.persistence.querybuilder.GenQueryBuilder; import org.opsli.core.persistence.querybuilder.GenQueryBuilder;
import org.opsli.core.persistence.querybuilder.QueryBuilder; import org.opsli.core.persistence.querybuilder.QueryBuilder;
import org.opsli.core.utils.ValidationUtil; import org.opsli.core.utils.ValidationUtil;
import org.opsli.modulars.creater.column.entity.CreaterTableColumn; import org.opsli.modulars.generator.column.entity.GenTableColumn;
import org.opsli.modulars.creater.column.mapper.TableColumnMapper; import org.opsli.modulars.generator.column.mapper.GenTableColumnMapper;
import org.opsli.modulars.creater.column.service.ITableColumnService; import org.opsli.modulars.generator.column.service.IGenTableColumnService;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -42,15 +42,15 @@ import java.util.List;
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
@Service @Service
public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, CreaterTableColumn, CreaterTableColumnModel> public class GenTableColumnServiceImpl extends CrudServiceImpl<GenTableColumnMapper, GenTableColumn, GenTableColumnModel>
implements ITableColumnService { implements IGenTableColumnService {
@Autowired(required = false) @Autowired(required = false)
private TableColumnMapper mapper; private GenTableColumnMapper mapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public CreaterTableColumnModel insert(CreaterTableColumnModel model) { public GenTableColumnModel insert(GenTableColumnModel model) {
// 验证对象 // 验证对象
ValidationUtil.verify(model); ValidationUtil.verify(model);
@ -62,7 +62,7 @@ public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, C
Integer count = this.uniqueVerificationByFieldName(model); Integer count = this.uniqueVerificationByFieldName(model);
if(count != null && count > 0){ if(count != null && count > 0){
// 重复 // 重复
throw new CreaterException(CreaterMsg.EXCEPTION_TABLE_COLUMN_FIELD_NAME_REPEAT); throw new GeneratorException(GeneratorMsg.EXCEPTION_TABLE_COLUMN_FIELD_NAME_REPEAT);
} }
return super.insert(model); return super.insert(model);
@ -75,13 +75,13 @@ public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, C
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean insertBatch(List<CreaterTableColumnModel> models) { public boolean insertBatch(List<GenTableColumnModel> models) {
if(models == null || models.size() == 0){ if(models == null || models.size() == 0){
return false; return false;
} }
for (CreaterTableColumnModel model : models) { for (GenTableColumnModel model : models) {
// 验证对象合法性 // 验证对象合法性
ValidationUtil.verify(model); ValidationUtil.verify(model);
@ -90,7 +90,7 @@ public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, C
Integer count = this.uniqueVerificationByFieldName(model); Integer count = this.uniqueVerificationByFieldName(model);
if(count != null && count > 0){ if(count != null && count > 0){
// 重复 // 重复
throw new CreaterException(CreaterMsg.EXCEPTION_TABLE_COLUMN_FIELD_NAME_REPEAT); throw new GeneratorException(GeneratorMsg.EXCEPTION_TABLE_COLUMN_FIELD_NAME_REPEAT);
} }
// 默认清空 创建人和修改人 // 默认清空 创建人和修改人
@ -104,14 +104,14 @@ public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, C
} }
List<CreaterTableColumn> entitys = transformMs2Ts(models); List<GenTableColumn> entityList = transformMs2Ts(models);
return super.saveBatch(entitys); return super.saveBatch(entityList);
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public CreaterTableColumnModel update(CreaterTableColumnModel model) { public GenTableColumnModel update(GenTableColumnModel model) {
// 验证对象 // 验证对象
ValidationUtil.verify(model); ValidationUtil.verify(model);
@ -123,24 +123,24 @@ public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, C
Integer count = this.uniqueVerificationByFieldName(model); Integer count = this.uniqueVerificationByFieldName(model);
if(count != null && count > 0){ if(count != null && count > 0){
// 重复 // 重复
throw new CreaterException(CreaterMsg.EXCEPTION_TABLE_COLUMN_FIELD_NAME_REPEAT); throw new GeneratorException(GeneratorMsg.EXCEPTION_TABLE_COLUMN_FIELD_NAME_REPEAT);
} }
return super.update(model); return super.update(model);
} }
@Override @Override
public List<CreaterTableColumnModel> getByTableId(String tableId) { public List<GenTableColumnModel> getByTableId(String tableId) {
if( StringUtils.isEmpty(tableId) ){ if( StringUtils.isEmpty(tableId) ){
return null; return null;
} }
QueryBuilder<CreaterTableColumn> queryBuilder = QueryBuilder<GenTableColumn> queryBuilder =
new GenQueryBuilder<>(); new GenQueryBuilder<>();
QueryWrapper<CreaterTableColumn> wrapper = queryBuilder.build(); QueryWrapper<GenTableColumn> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId); wrapper.eq("table_id", tableId);
wrapper.orderByAsc("sort"); wrapper.orderByAsc("sort");
List<CreaterTableColumn> tableColumnList = this.findList(wrapper); List<GenTableColumn> tableColumnList = this.findList(wrapper);
return super.transformTs2Ms(tableColumnList); return super.transformTs2Ms(tableColumnList);
} }
@ -149,9 +149,9 @@ public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, C
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delByTableId(String tableId){ public void delByTableId(String tableId){
QueryBuilder<CreaterTableColumn> queryBuilder = QueryBuilder<GenTableColumn> queryBuilder =
new GenQueryBuilder<>(); new GenQueryBuilder<>();
QueryWrapper<CreaterTableColumn> wrapper = queryBuilder.build(); QueryWrapper<GenTableColumn> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId); wrapper.eq("table_id", tableId);
super.remove(wrapper); super.remove(wrapper);
} }
@ -161,9 +161,9 @@ public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, C
public void delByTableIds(String[] tableIds){ public void delByTableIds(String[] tableIds){
if(tableIds != null){ if(tableIds != null){
for (String tableId : tableIds) { for (String tableId : tableIds) {
QueryBuilder<CreaterTableColumn> queryBuilder = QueryBuilder<GenTableColumn> queryBuilder =
new GenQueryBuilder<>(); new GenQueryBuilder<>();
QueryWrapper<CreaterTableColumn> wrapper = queryBuilder.build(); QueryWrapper<GenTableColumn> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId); wrapper.eq("table_id", tableId);
super.remove(wrapper); super.remove(wrapper);
} }
@ -179,11 +179,11 @@ public class TableColumnServiceImpl extends CrudServiceImpl<TableColumnMapper, C
* @return Integer * @return Integer
*/ */
@Transactional(readOnly = true) @Transactional(readOnly = true)
public Integer uniqueVerificationByFieldName(CreaterTableColumnModel model){ public Integer uniqueVerificationByFieldName(GenTableColumnModel model){
if(model == null){ if(model == null){
return null; return null;
} }
QueryWrapper<CreaterTableColumn> wrapper = new QueryWrapper<>(); QueryWrapper<GenTableColumn> wrapper = new QueryWrapper<>();
// code 唯一 // code 唯一
wrapper.eq("table_id", model.getTableId()) wrapper.eq("table_id", model.getTableId())

@ -13,9 +13,10 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.column.wrapper; package org.opsli.modulars.generator.column.wrapper;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -23,7 +24,8 @@ import org.opsli.api.base.warpper.ApiWrapper;
import org.opsli.common.annotation.validation.ValidationArgs; import org.opsli.common.annotation.validation.ValidationArgs;
import org.opsli.common.annotation.validation.ValidationArgsLenMax; import org.opsli.common.annotation.validation.ValidationArgsLenMax;
import org.opsli.common.enums.ValiArgsType; import org.opsli.common.enums.ValiArgsType;
import org.opsli.plugins.excel.annotation.ExcelInfo;
import java.util.List;
/** /**
* - * -
@ -33,122 +35,123 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CreaterTableColumnModel extends ApiWrapper { public class GenTableColumnModel extends ApiWrapper {
/** 归属表ID */ /** 归属表ID */
@ApiModelProperty(value = "归属表ID") @ApiModelProperty(value = "归属表ID")
@ExcelProperty(value = "归属表ID", order = 1) @ExcelIgnore
@ExcelInfo
private String tableId; private String tableId;
/** 字段名称 */ /** 字段名称 */
@ApiModelProperty(value = "字段名称") @ApiModelProperty(value = "字段名称")
@ExcelProperty(value = "字段名称", order = 2) @ExcelIgnore
@ExcelInfo
@ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100) @ValidationArgsLenMax(100)
private String fieldName; private String fieldName;
/** 字段类型 */ /** 字段类型 */
@ApiModelProperty(value = "字段类型") @ApiModelProperty(value = "字段类型")
@ExcelProperty(value = "字段类型", order = 3) @ExcelIgnore
@ExcelInfo
@ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100) @ValidationArgsLenMax(100)
private String fieldType; private String fieldType;
/** 字段长度 */ /** 字段长度 */
@ApiModelProperty(value = "字段长度") @ApiModelProperty(value = "字段长度")
@ExcelProperty(value = "字段长度", order = 4) @ExcelIgnore
@ExcelInfo
private Integer fieldLength; private Integer fieldLength;
/** 字段精度 */ /** 字段精度 */
@ApiModelProperty(value = "字段精度") @ApiModelProperty(value = "字段精度")
@ExcelProperty(value = "字段精度", order = 5) @ExcelIgnore
@ExcelInfo
private Integer fieldPrecision; private Integer fieldPrecision;
/** 字段描述 */ /** 字段描述 */
@ApiModelProperty(value = "字段描述") @ApiModelProperty(value = "字段描述")
@ExcelProperty(value = "字段描述", order = 6) @ExcelIgnore
@ExcelInfo
@ValidationArgs({ValiArgsType.IS_NOT_NULL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL})
@ValidationArgsLenMax(200) @ValidationArgsLenMax(200)
private String fieldComments; private String fieldComments;
/** 是否主键 */ /** 是否主键 */
@ApiModelProperty(value = "是否主键") @ApiModelProperty(value = "是否主键")
@ExcelProperty(value = "是否主键", order = 7) @ExcelIgnore
@ExcelInfo(dictType = "no_yes")
@ValidationArgsLenMax(1) @ValidationArgsLenMax(1)
private String izPk; private String izPk;
/** 是否可为空 */ /** 是否可为空 */
@ApiModelProperty(value = "是否可为空") @ApiModelProperty(value = "是否可为空")
@ExcelProperty(value = "是否可为空", order = 8) @ExcelIgnore
@ExcelInfo(dictType = "no_yes")
@ValidationArgsLenMax(1) @ValidationArgsLenMax(1)
private String izNotNull; private String izNotNull;
/** 是否列表显示 */ /** 是否列表显示 */
@ApiModelProperty(value = "是否列表显示") @ApiModelProperty(value = "是否列表显示")
@ExcelProperty(value = "是否列表显示", order = 9) @ExcelIgnore
@ExcelInfo(dictType = "no_yes")
@ValidationArgsLenMax(1) @ValidationArgsLenMax(1)
private String izShowList; private String izShowList;
/** 是否表单显示 */ /** 是否表单显示 */
@ApiModelProperty(value = "是否表单显示") @ApiModelProperty(value = "是否表单显示")
@ExcelProperty(value = "是否表单显示", order = 10) @ExcelIgnore
@ExcelInfo(dictType = "no_yes")
@ValidationArgsLenMax(1) @ValidationArgsLenMax(1)
private String izShowForm; private String izShowForm;
/** Java字段类型 */ /** Java字段类型 */
@ApiModelProperty(value = "Java字段类型") @ApiModelProperty(value = "Java字段类型")
@ExcelProperty(value = "Java字段类型", order = 11) @ExcelIgnore
@ExcelInfo(dictType = "java_type")
@ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(50) @ValidationArgsLenMax(50)
private String javaType; private String javaType;
/** 字段生成方案(文本框、文本域、字典选择) */ /** 字段生成方案(文本框、文本域、字典选择) */
@ApiModelProperty(value = "字段生成方案") @ApiModelProperty(value = "字段生成方案")
@ExcelProperty(value = "字段生成方案", order = 12) @ExcelIgnore
@ExcelInfo(dictType = "show_type")
@ValidationArgsLenMax(1) @ValidationArgsLenMax(1)
private String showType; private String showType;
/** 字典类型编号 */ /** 字典类型编号 */
@ApiModelProperty(value = "字典类型编号") @ApiModelProperty(value = "字典类型编号")
@ExcelProperty(value = "字典类型编号", order = 13) @ExcelIgnore
@ExcelInfo
@ValidationArgs({ValiArgsType.IS_GENERAL}) @ValidationArgs({ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100) @ValidationArgsLenMax(100)
private String dictTypeCode; private String dictTypeCode;
/** 排序(升序) */ /** 排序(升序) */
@ApiModelProperty(value = "排序") @ApiModelProperty(value = "排序")
@ExcelProperty(value = "排序", order = 14) @ExcelIgnore
@ExcelInfo
@ValidationArgs({ValiArgsType.IS_NOT_NULL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL})
@ValidationArgsLenMax(6) @ValidationArgsLenMax(6)
private Integer sort; private Integer sort;
/** 验证类别 */ /** 验证类别 */
@ApiModelProperty(value = "验证类别") @ApiModelProperty(value = "验证类别")
@ExcelProperty(value = "验证类别", order = 15) @ExcelIgnore
@ExcelInfo
@ValidationArgsLenMax(500) @ValidationArgsLenMax(500)
private String validateType; private String validateType;
/** 检索类别 */ /** 检索类别 */
@ApiModelProperty(value = "检索类别") @ApiModelProperty(value = "检索类别")
@ExcelProperty(value = "检索类别", order = 16) @ExcelIgnore
@ExcelInfo
@ValidationArgs({ValiArgsType.IS_GENERAL}) @ValidationArgs({ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100) @ValidationArgsLenMax(100)
private String queryType; private String queryType;
// =======================
/** 字段名称 - 驼峰 */
@JsonIgnore
@ExcelIgnore
private String fieldHumpName;
/** 后台验证集合 */
@JsonIgnore
@ExcelIgnore
private String backendValidateType;
/** 前台验证集合 */
@JsonIgnore
@ExcelIgnore
private List<String> frontendValidateType;
} }

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.general.actuator; package org.opsli.modulars.generator.general.actuator;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Update; import org.apache.ibatis.annotations.Update;

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.importable; package org.opsli.modulars.generator.importable;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.ClassUtil;
@ -22,11 +22,11 @@ import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.opsli.core.autoconfigure.properties.DbSourceProperties; import org.opsli.core.autoconfigure.properties.DbSourceProperties;
import org.opsli.core.creater.enums.DataBaseType; import org.opsli.core.generator.enums.DataBaseType;
import org.opsli.core.utils.SpringContextHolder; import org.opsli.core.utils.SpringContextHolder;
import org.opsli.modulars.creater.importable.entity.DatabaseColumn; import org.opsli.modulars.generator.importable.entity.DatabaseColumn;
import org.opsli.modulars.creater.importable.entity.DatabaseTable; import org.opsli.modulars.generator.importable.entity.DatabaseTable;
import org.opsli.modulars.creater.importable.service.DatabaseTableService; import org.opsli.modulars.generator.importable.service.DatabaseTableService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.importable.entity; package org.opsli.modulars.generator.importable.entity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.importable.entity; package org.opsli.modulars.generator.importable.entity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.importable.mapper; package org.opsli.modulars.generator.importable.mapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.opsli.modulars.creater.importable.entity.DatabaseColumn; import org.opsli.modulars.generator.importable.entity.DatabaseColumn;
import org.opsli.modulars.creater.importable.entity.DatabaseTable; import org.opsli.modulars.generator.importable.entity.DatabaseTable;
import java.util.List; import java.util.List;

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.opsli.modulars.creater.importable.mapper.MySQLDatabaseTableMapper"> <mapper namespace="org.opsli.modulars.generator.importable.mapper.MySQLDatabaseTableMapper">
<select id="findTables" resultType="org.opsli.modulars.creater.importable.entity.DatabaseTable"> <select id="findTables" resultType="org.opsli.modulars.generator.importable.entity.DatabaseTable">
SELECT SELECT
TB.TABLE_SCHEMA AS dbName, TB.TABLE_SCHEMA AS dbName,
TB.TABLE_NAME AS tableName, TB.TABLE_NAME AS tableName,
@ -17,7 +17,7 @@
</if> </if>
</select> </select>
<select id="findColumns" resultType="org.opsli.modulars.creater.importable.entity.DatabaseColumn"> <select id="findColumns" resultType="org.opsli.modulars.generator.importable.entity.DatabaseColumn">
SELECT SELECT
TABLE_SCHEMA AS dbName, TABLE_SCHEMA AS dbName,
TABLE_NAME AS tableName, TABLE_NAME AS tableName,

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.importable.service; package org.opsli.modulars.generator.importable.service;
import org.opsli.core.creater.enums.DataBaseType; import org.opsli.core.generator.enums.DataBaseType;
import org.opsli.modulars.creater.importable.entity.DatabaseColumn; import org.opsli.modulars.generator.importable.entity.DatabaseColumn;
import org.opsli.modulars.creater.importable.entity.DatabaseTable; import org.opsli.modulars.generator.importable.entity.DatabaseTable;
import java.util.List; import java.util.List;

@ -13,15 +13,15 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.importable.service; package org.opsli.modulars.generator.importable.service;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.opsli.common.utils.Props; import org.opsli.common.utils.Props;
import org.opsli.core.creater.enums.DataBaseType; import org.opsli.core.generator.enums.DataBaseType;
import org.opsli.modulars.creater.importable.entity.DatabaseColumn; import org.opsli.modulars.generator.importable.entity.DatabaseColumn;
import org.opsli.modulars.creater.importable.entity.DatabaseTable; import org.opsli.modulars.generator.importable.entity.DatabaseTable;
import org.opsli.modulars.creater.importable.mapper.MySQLDatabaseTableMapper; import org.opsli.modulars.generator.importable.mapper.MySQLDatabaseTableMapper;
import org.opsli.modulars.creater.table.service.ITableService; import org.opsli.modulars.generator.table.service.IGenTableService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -41,7 +41,7 @@ public class MySQLDatabaseTableServiceImpl implements DatabaseTableService {
private static final List<String> EXCLUDE_TABLES; private static final List<String> EXCLUDE_TABLES;
static { static {
Props props = new Props("creater.yaml"); Props props = new Props("generator.yaml");
EXCLUDE_TABLES = props.getList("opsli.exclude-tables"); EXCLUDE_TABLES = props.getList("opsli.exclude-tables");
} }
@ -49,7 +49,7 @@ public class MySQLDatabaseTableServiceImpl implements DatabaseTableService {
private MySQLDatabaseTableMapper mapper; private MySQLDatabaseTableMapper mapper;
@Autowired @Autowired
private ITableService iTableService; private IGenTableService iGenTableService;
@Override @Override
public DataBaseType getType() { public DataBaseType getType() {
@ -73,7 +73,7 @@ public class MySQLDatabaseTableServiceImpl implements DatabaseTableService {
List<DatabaseTable> tables = mapper.findTables(table); List<DatabaseTable> tables = mapper.findTables(table);
// 表去重复 // 表去重复
List<String> currTableNames = iTableService.findAllByTableName(); List<String> currTableNames = iGenTableService.findAllByTableName();
if(currTableNames != null && !currTableNames.isEmpty()){ if(currTableNames != null && !currTableNames.isEmpty()){
//遍历删除 //遍历删除
tables.removeIf(tmp -> currTableNames.contains(tmp.getTableName())); tables.removeIf(tmp -> currTableNames.contains(tmp.getTableName()));

@ -13,15 +13,12 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.createrlogs.api; package org.opsli.modulars.generator.logs.api;
import org.opsli.api.base.result.ResultVo; import org.opsli.api.base.result.ResultVo;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterLogsModel; import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -37,7 +34,7 @@ import javax.servlet.http.HttpServletResponse;
* @author parker * @author parker
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
public interface CreaterLogsApi { public interface GenLogsApi {
/** 标题 */ /** 标题 */
String TITLE = "代码生成器-日志"; String TITLE = "代码生成器-日志";
@ -50,14 +47,14 @@ public interface CreaterLogsApi {
* @return ResultVo * @return ResultVo
*/ */
@GetMapping("/getByTableId") @GetMapping("/getByTableId")
ResultVo<CreaterLogsModel> getByTableId(String tableId); ResultVo<GenLogsModel> getByTableId(String tableId);
/** /**
* *
* @param model * @param model
*/ */
@GetMapping("/create") @GetMapping("/create")
void create(CreaterLogsModel model, HttpServletResponse response); void create(GenLogsModel model, HttpServletResponse response);
/** /**
* *

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.createrlogs.entity; package org.opsli.modulars.generator.logs.entity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -27,7 +27,7 @@ import org.opsli.core.base.entity.BaseEntity;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CreaterLogs extends BaseEntity { public class GenLogs extends BaseEntity {
/** 归属表ID */ /** 归属表ID */
private String tableId; private String tableId;

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.createrlogs.mapper; package org.opsli.modulars.generator.logs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.opsli.modulars.creater.createrlogs.entity.CreaterLogs; import org.opsli.modulars.generator.logs.entity.GenLogs;
/** /**
@ -27,7 +27,7 @@ import org.opsli.modulars.creater.createrlogs.entity.CreaterLogs;
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
@Mapper @Mapper
public interface CreaterLogsMapper extends BaseMapper<CreaterLogs> { public interface GenLogsMapper extends BaseMapper<GenLogs> {
} }

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.opsli.modulars.creater.column.mapper.TableColumnMapper"> <mapper namespace="org.opsli.modulars.generator.logs.mapper.GenLogsMapper">
</mapper> </mapper>

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.createrlogs.service; package org.opsli.modulars.generator.logs.service;
import org.opsli.core.base.service.interfaces.CrudServiceInterface; import org.opsli.core.base.service.interfaces.CrudServiceInterface;
import org.opsli.modulars.creater.createrlogs.entity.CreaterLogs; import org.opsli.modulars.generator.logs.entity.GenLogs;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterLogsModel; import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -28,7 +28,7 @@ import javax.servlet.http.HttpServletResponse;
* @author parker * @author parker
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
public interface ICreateLogsService extends CrudServiceInterface<CreaterLogs, CreaterLogsModel> { public interface IGenLogsService extends CrudServiceInterface<GenLogs, GenLogsModel> {
/** /**
* Id * Id
@ -47,14 +47,14 @@ public interface ICreateLogsService extends CrudServiceInterface<CreaterLogs, Cr
* @param tableId ID * @param tableId ID
* @return Model * @return Model
*/ */
CreaterLogsModel getByTableId(String tableId); GenLogsModel getByTableId(String tableId);
/** /**
* *
* @param model * @param model
* @param response response * @param response response
*/ */
void create(CreaterLogsModel model, HttpServletResponse response); void create(GenLogsModel model, HttpServletResponse response);
/** /**
* *

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.createrlogs.service.impl; package org.opsli.modulars.generator.logs.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -23,22 +23,22 @@ import org.opsli.api.web.system.menu.MenuApi;
import org.opsli.api.wrapper.system.menu.MenuFullModel; import org.opsli.api.wrapper.system.menu.MenuFullModel;
import org.opsli.common.utils.WrapperUtil; import org.opsli.common.utils.WrapperUtil;
import org.opsli.core.base.service.impl.CrudServiceImpl; import org.opsli.core.base.service.impl.CrudServiceImpl;
import org.opsli.core.creater.exception.CreaterException; import org.opsli.core.generator.exception.GeneratorException;
import org.opsli.core.creater.msg.CreaterMsg; import org.opsli.core.generator.msg.GeneratorMsg;
import org.opsli.core.creater.strategy.create.CodeBuilder; import org.opsli.core.generator.strategy.create.CodeBuilder;
import org.opsli.core.persistence.Page; import org.opsli.core.persistence.Page;
import org.opsli.core.persistence.querybuilder.GenQueryBuilder; import org.opsli.core.persistence.querybuilder.GenQueryBuilder;
import org.opsli.core.persistence.querybuilder.QueryBuilder; import org.opsli.core.persistence.querybuilder.QueryBuilder;
import org.opsli.modulars.creater.column.service.ITableColumnService; import org.opsli.modulars.generator.column.service.IGenTableColumnService;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.creater.createrlogs.entity.CreaterLogs; import org.opsli.modulars.generator.logs.entity.GenLogs;
import org.opsli.modulars.creater.createrlogs.mapper.CreaterLogsMapper; import org.opsli.modulars.generator.logs.mapper.GenLogsMapper;
import org.opsli.modulars.creater.createrlogs.service.ICreateLogsService; import org.opsli.modulars.generator.logs.service.IGenLogsService;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterBuilderModel; import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterLogsModel; import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import org.opsli.modulars.creater.table.service.ITableService; import org.opsli.modulars.generator.table.service.IGenTableService;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel; import org.opsli.modulars.generator.table.wrapper.GenTableModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -54,24 +54,24 @@ import java.util.List;
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
@Service @Service
public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, CreaterLogs, CreaterLogsModel> public class GenLogsServiceImpl extends CrudServiceImpl<GenLogsMapper, GenLogs, GenLogsModel>
implements ICreateLogsService { implements IGenLogsService {
@Autowired(required = false) @Autowired(required = false)
private CreaterLogsMapper mapper; private GenLogsMapper mapper;
@Autowired @Autowired
private ITableService iTableService; private IGenTableService iGenTableService;
@Autowired @Autowired
private ITableColumnService iTableColumnService; private IGenTableColumnService iGenTableColumnService;
@Autowired @Autowired
private MenuApi menuApi; private MenuApi menuApi;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delByTableId(String tableId) { public void delByTableId(String tableId) {
QueryBuilder<CreaterLogs> queryBuilder = QueryBuilder<GenLogs> queryBuilder =
new GenQueryBuilder<>(); new GenQueryBuilder<>();
QueryWrapper<CreaterLogs> wrapper = queryBuilder.build(); QueryWrapper<GenLogs> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId); wrapper.eq("table_id", tableId);
super.remove(wrapper); super.remove(wrapper);
} }
@ -81,9 +81,9 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
public void delByTableIds(String[] tableIds) { public void delByTableIds(String[] tableIds) {
if(tableIds != null){ if(tableIds != null){
for (String tableId : tableIds) { for (String tableId : tableIds) {
QueryBuilder<CreaterLogs> queryBuilder = QueryBuilder<GenLogs> queryBuilder =
new GenQueryBuilder<>(); new GenQueryBuilder<>();
QueryWrapper<CreaterLogs> wrapper = queryBuilder.build(); QueryWrapper<GenLogs> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId); wrapper.eq("table_id", tableId);
super.remove(wrapper); super.remove(wrapper);
} }
@ -91,14 +91,14 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
} }
@Override @Override
public CreaterLogsModel getByTableId(String tableId) { public GenLogsModel getByTableId(String tableId) {
QueryBuilder<CreaterLogs> queryBuilder = QueryBuilder<GenLogs> queryBuilder =
new GenQueryBuilder<>(); new GenQueryBuilder<>();
QueryWrapper<CreaterLogs> wrapper = queryBuilder.build(); QueryWrapper<GenLogs> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId); wrapper.eq("table_id", tableId);
CreaterLogsModel model = null; GenLogsModel model = null;
Page<CreaterLogs, CreaterLogsModel> page = new Page<>(1,1); Page<GenLogs, GenLogsModel> page = new Page<>(1,1);
page.setQueryWrapper(wrapper); page.setQueryWrapper(wrapper);
page = this.findPage(page); page = this.findPage(page);
if(page != null && CollUtil.isNotEmpty(page.getList())){ if(page != null && CollUtil.isNotEmpty(page.getList())){
@ -110,28 +110,28 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void create(CreaterLogsModel model, HttpServletResponse response) { public void create(GenLogsModel model, HttpServletResponse response) {
if(model == null){ if(model == null){
// 生成失败,数据为空 // 生成失败,数据为空
throw new CreaterException(CreaterMsg.EXCEPTION_CREATE_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_CREATE_NULL);
} }
model.setVersion(null); model.setVersion(null);
CreaterLogsModel saveModel = this.save(model); GenLogsModel saveModel = this.save(model);
if(saveModel != null){ if(saveModel != null){
CreaterTableModel createrTableModel = iTableService.get(saveModel.getTableId()); GenTableModel genTableModel = iGenTableService.get(saveModel.getTableId());
if(createrTableModel == null){ if(genTableModel == null){
// 生成失败,暂无表数据 // 生成失败,暂无表数据
throw new CreaterException(CreaterMsg.EXCEPTION_CREATE_TABLE_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_CREATE_TABLE_NULL);
} }
CreaterTableAndColumnModel currTableModel = WrapperUtil.transformInstance( GenTableAndColumnModel currTableModel = WrapperUtil.transformInstance(
createrTableModel, CreaterTableAndColumnModel.class genTableModel, GenTableAndColumnModel.class
); );
List<CreaterTableColumnModel> columnModelList = iTableColumnService. List<GenTableColumnModel> columnModelList = iGenTableColumnService.
getByTableId(currTableModel.getId()); getByTableId(currTableModel.getId());
if(columnModelList == null || columnModelList.isEmpty()){ if(columnModelList == null || columnModelList.isEmpty()){
// 生成失败,暂无表字段 // 生成失败,暂无表字段
throw new CreaterException(CreaterMsg.EXCEPTION_CREATE_FIELD_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_CREATE_FIELD_NULL);
} }
@ -139,8 +139,8 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
currTableModel.setColumnList(columnModelList); currTableModel.setColumnList(columnModelList);
// 生成代码 // 生成代码
CreaterBuilderModel builderModel = WrapperUtil.transformInstance( GenBuilderModel builderModel = WrapperUtil.transformInstance(
saveModel, CreaterBuilderModel.class saveModel, GenBuilderModel.class
); );
builderModel.setModel(currTableModel); builderModel.setModel(currTableModel);
@ -155,13 +155,13 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
public boolean createMenu(String menuParentId, String tableId) { public boolean createMenu(String menuParentId, String tableId) {
if(StringUtils.isEmpty(menuParentId)){ if(StringUtils.isEmpty(menuParentId)){
// 上级菜单不可为空 // 上级菜单不可为空
throw new CreaterException(CreaterMsg.EXCEPTION_CREATE_MENU_PARENT_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_CREATE_MENU_PARENT_NULL);
} }
CreaterLogsModel byTableId = this.getByTableId(tableId); GenLogsModel byTableId = this.getByTableId(tableId);
if(byTableId == null){ if(byTableId == null){
// 生成菜单失败,请先 生成代码 // 生成菜单失败,请先 生成代码
throw new CreaterException(CreaterMsg.EXCEPTION_CREATE_MENU_CODE_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_CREATE_MENU_CODE_NULL);
} }
// 完整新增菜单 // 完整新增菜单

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.createrlogs.web; package org.opsli.modulars.generator.logs.web;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -23,12 +23,10 @@ import org.opsli.api.base.result.ResultVo;
import org.opsli.common.annotation.ApiRestController; import org.opsli.common.annotation.ApiRestController;
import org.opsli.common.annotation.EnableLog; import org.opsli.common.annotation.EnableLog;
import org.opsli.core.base.controller.BaseRestController; import org.opsli.core.base.controller.BaseRestController;
import org.opsli.core.creater.exception.CreaterException; import org.opsli.modulars.generator.logs.api.GenLogsApi;
import org.opsli.core.creater.msg.CreaterMsg; import org.opsli.modulars.generator.logs.entity.GenLogs;
import org.opsli.modulars.creater.createrlogs.api.CreaterLogsApi; import org.opsli.modulars.generator.logs.service.IGenLogsService;
import org.opsli.modulars.creater.createrlogs.entity.CreaterLogs; import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import org.opsli.modulars.creater.createrlogs.service.ICreateLogsService;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterLogsModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -39,17 +37,17 @@ import javax.servlet.http.HttpServletResponse;
* @author parker * @author parker
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
@Api(tags = CreaterLogsApi.TITLE) @Api(tags = GenLogsApi.TITLE)
@Slf4j @Slf4j
@ApiRestController("/creater/logs") @ApiRestController("/generator/logs")
public class CreaterLogsRestController extends BaseRestController<CreaterLogs, CreaterLogsModel, ICreateLogsService> public class GenLogsRestController extends BaseRestController<GenLogs, GenLogsModel, IGenLogsService>
implements CreaterLogsApi { implements GenLogsApi {
@ApiOperation(value = "获得当前表生成记录", notes = "获得当前表生成记录") @ApiOperation(value = "获得当前表生成记录", notes = "获得当前表生成记录")
@RequiresPermissions("deve_creater_select") @RequiresPermissions("dev_generator_select")
@Override @Override
public ResultVo<CreaterLogsModel> getByTableId(String tableId) { public ResultVo<GenLogsModel> getByTableId(String tableId) {
CreaterLogsModel byTableId = IService.getByTableId(tableId); GenLogsModel byTableId = IService.getByTableId(tableId);
return ResultVo.success(byTableId); return ResultVo.success(byTableId);
} }
@ -58,10 +56,10 @@ public class CreaterLogsRestController extends BaseRestController<CreaterLogs, C
* @param model * @param model
*/ */
@ApiOperation(value = "代码生成", notes = "代码生成") @ApiOperation(value = "代码生成", notes = "代码生成")
@RequiresPermissions("deve_creater_create") @RequiresPermissions("dev_generator_create")
@EnableLog @EnableLog
@Override @Override
public void create(CreaterLogsModel model, HttpServletResponse response) { public void create(GenLogsModel model, HttpServletResponse response) {
// 调用生成方法 // 调用生成方法
IService.create(model, response); IService.create(model, response);
@ -75,7 +73,7 @@ public class CreaterLogsRestController extends BaseRestController<CreaterLogs, C
* @return ResultVo * @return ResultVo
*/ */
@ApiOperation(value = "生成菜单", notes = "生成菜单") @ApiOperation(value = "生成菜单", notes = "生成菜单")
@RequiresPermissions("deve_creater_createMenu") @RequiresPermissions("dev_generator_createMenu")
@EnableLog @EnableLog
@Override @Override
public ResultVo<?> createMenu(String menuParentId, String tableId) { public ResultVo<?> createMenu(String menuParentId, String tableId) {

@ -13,17 +13,12 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.createrlogs.wrapper; package org.opsli.modulars.generator.logs.wrapper;
import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper; import org.opsli.api.base.warpper.ApiWrapper;
import org.opsli.common.annotation.validation.ValidationArgs; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.common.annotation.validation.ValidationArgsLenMax;
import org.opsli.common.enums.ValiArgsType;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel;
/** /**
* - + * - +
@ -33,7 +28,7 @@ import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CreaterBuilderModel extends ApiWrapper { public class GenBuilderModel extends ApiWrapper {
/** 归属表ID */ /** 归属表ID */
@ -58,6 +53,6 @@ public class CreaterBuilderModel extends ApiWrapper {
private String authorName; private String authorName;
/** 代码模型 */ /** 代码模型 */
private CreaterTableAndColumnModel model; private GenTableAndColumnModel model;
} }

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.createrlogs.wrapper; package org.opsli.modulars.generator.logs.wrapper;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -32,7 +32,7 @@ import org.opsli.common.enums.ValiArgsType;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CreaterLogsModel extends ApiWrapper { public class GenLogsModel extends ApiWrapper {
/** 归属表ID */ /** 归属表ID */

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.table.api; package org.opsli.modulars.generator.table.api;
import org.opsli.api.base.result.ResultVo; import org.opsli.api.base.result.ResultVo;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel; import org.opsli.modulars.generator.table.wrapper.GenTableModel;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -49,7 +49,7 @@ public interface TableApi {
* @return ResultVo * @return ResultVo
*/ */
@GetMapping("/get") @GetMapping("/get")
ResultVo<CreaterTableAndColumnModel> get(CreaterTableModel model); ResultVo<GenTableAndColumnModel> get(GenTableModel model);
/** /**
* *
@ -71,7 +71,7 @@ public interface TableApi {
* @return ResultVo * @return ResultVo
*/ */
@PostMapping("/insert") @PostMapping("/insert")
ResultVo<?> insert(@RequestBody CreaterTableAndColumnModel model); ResultVo<?> insert(@RequestBody GenTableAndColumnModel model);
/** /**
* *
@ -79,7 +79,7 @@ public interface TableApi {
* @return ResultVo * @return ResultVo
*/ */
@PostMapping("/update") @PostMapping("/update")
ResultVo<?> update(@RequestBody CreaterTableAndColumnModel model); ResultVo<?> update(@RequestBody GenTableAndColumnModel model);
/** /**
* *

@ -13,11 +13,10 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.table.entity; package org.opsli.modulars.generator.table.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.opsli.core.base.entity.BaseEntity; import org.opsli.core.base.entity.BaseEntity;
@ -30,7 +29,7 @@ import org.opsli.core.base.entity.BaseEntity;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CreaterTable extends BaseEntity { public class GenTable extends BaseEntity {
/** 表名称 */ /** 表名称 */

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.table.mapper; package org.opsli.modulars.generator.table.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.opsli.modulars.creater.table.entity.CreaterTable; import org.opsli.modulars.generator.table.entity.GenTable;
import java.util.List; import java.util.List;
@ -29,7 +29,7 @@ import java.util.List;
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
@Mapper @Mapper
public interface TableMapper extends BaseMapper<CreaterTable> { public interface GenTableMapper extends BaseMapper<GenTable> {
/** /**

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.opsli.modulars.creater.table.mapper.TableMapper"> <mapper namespace="org.opsli.modulars.generator.table.mapper.GenTableMapper">
<select id="findAllByTableName" resultType="String"> <select id="findAllByTableName" resultType="String">
select select
table_name AS tableName table_name AS tableName
from from
creater_table gen_table
</select> </select>
<update id="renewSyncState"> <update id="renewSyncState">
update creater_table update gen_table
set iz_sync = '1' set iz_sync = '1'
where where
id = #{id} id = #{id}

@ -13,12 +13,12 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.table.service; package org.opsli.modulars.generator.table.service;
import org.opsli.core.base.service.interfaces.CrudServiceInterface; import org.opsli.core.base.service.interfaces.CrudServiceInterface;
import org.opsli.modulars.creater.table.entity.CreaterTable; import org.opsli.modulars.generator.table.entity.GenTable;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel; import org.opsli.modulars.generator.table.wrapper.GenTableModel;
import java.util.List; import java.util.List;
@ -29,19 +29,19 @@ import java.util.List;
* @author parker * @author parker
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
public interface ITableService extends CrudServiceInterface<CreaterTable, CreaterTableModel> { public interface IGenTableService extends CrudServiceInterface<GenTable, GenTableModel> {
/** /**
* *
* @param model * @param model
*/ */
void insertAny(CreaterTableAndColumnModel model); void insertAny(GenTableAndColumnModel model);
/** /**
* *
* @param model * @param model
*/ */
void updateAny(CreaterTableAndColumnModel model); void updateAny(GenTableAndColumnModel model);
/** /**
* ID * ID

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.table.service.impl; package org.opsli.modulars.generator.table.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
@ -23,19 +23,19 @@ import org.opsli.common.constants.MyBatisConstants;
import org.opsli.common.enums.DictType; import org.opsli.common.enums.DictType;
import org.opsli.common.utils.WrapperUtil; import org.opsli.common.utils.WrapperUtil;
import org.opsli.core.base.service.impl.CrudServiceImpl; import org.opsli.core.base.service.impl.CrudServiceImpl;
import org.opsli.core.creater.exception.CreaterException; import org.opsli.core.generator.exception.GeneratorException;
import org.opsli.core.creater.msg.CreaterMsg; import org.opsli.core.generator.msg.GeneratorMsg;
import org.opsli.modulars.creater.column.service.ITableColumnService; import org.opsli.modulars.generator.column.service.IGenTableColumnService;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.creater.createrlogs.service.ICreateLogsService; import org.opsli.modulars.generator.logs.service.IGenLogsService;
import org.opsli.modulars.creater.importable.ImportTableUtil; import org.opsli.modulars.generator.importable.ImportTableUtil;
import org.opsli.modulars.creater.importable.entity.DatabaseColumn; import org.opsli.modulars.generator.importable.entity.DatabaseColumn;
import org.opsli.modulars.creater.importable.entity.DatabaseTable; import org.opsli.modulars.generator.importable.entity.DatabaseTable;
import org.opsli.modulars.creater.table.entity.CreaterTable; import org.opsli.modulars.generator.table.entity.GenTable;
import org.opsli.modulars.creater.table.mapper.TableMapper; import org.opsli.modulars.generator.table.mapper.GenTableMapper;
import org.opsli.modulars.creater.table.service.ITableService; import org.opsli.modulars.generator.table.service.IGenTableService;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel; import org.opsli.modulars.generator.table.wrapper.GenTableModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -51,21 +51,21 @@ import java.util.List;
* @date 2020-09-16 17:34 * @date 2020-09-16 17:34
*/ */
@Service @Service
public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable, CreaterTableModel> public class GenTableServiceImpl extends CrudServiceImpl<GenTableMapper, GenTable, GenTableModel>
implements ITableService { implements IGenTableService {
@Autowired(required = false) @Autowired(required = false)
private TableMapper mapper; private GenTableMapper mapper;
@Autowired @Autowired
private ITableColumnService iTableColumnService; private IGenTableColumnService iGenTableColumnService;
@Autowired @Autowired
private ICreateLogsService iCreateLogsService; private IGenLogsService iGenLogsService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public CreaterTableModel insert(CreaterTableModel model) { public GenTableModel insert(GenTableModel model) {
if(model == null){ if(model == null){
return null; return null;
} }
@ -74,7 +74,7 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
Integer count = this.uniqueVerificationByTableName(model); Integer count = this.uniqueVerificationByTableName(model);
if(count != null && count > 0){ if(count != null && count > 0){
// 重复 // 重复
throw new CreaterException(CreaterMsg.EXCEPTION_TABLE_NAME_REPEAT); throw new GeneratorException(GeneratorMsg.EXCEPTION_TABLE_NAME_REPEAT);
} }
if(!model.getIzApi()){ if(!model.getIzApi()){
@ -91,7 +91,7 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public CreaterTableModel update(CreaterTableModel model) { public GenTableModel update(GenTableModel model) {
if(model == null){ if(model == null){
return null; return null;
} }
@ -100,10 +100,10 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
Integer count = this.uniqueVerificationByTableName(model); Integer count = this.uniqueVerificationByTableName(model);
if(count != null && count > 0){ if(count != null && count > 0){
// 重复 // 重复
throw new CreaterException(CreaterMsg.EXCEPTION_TABLE_NAME_REPEAT); throw new GeneratorException(GeneratorMsg.EXCEPTION_TABLE_NAME_REPEAT);
} }
CreaterTableModel oldModel = this.get(model.getId()); GenTableModel oldModel = this.get(model.getId());
// 修改后 默认未同步 // 修改后 默认未同步
@ -119,39 +119,39 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void insertAny(CreaterTableAndColumnModel model){ public void insertAny(GenTableAndColumnModel model){
CreaterTableModel tableModel = WrapperUtil.transformInstance(model, CreaterTableModel.class); GenTableModel tableModel = WrapperUtil.transformInstance(model, GenTableModel.class);
// 保存表头数据 // 保存表头数据
tableModel = this.insert(tableModel); tableModel = this.insert(tableModel);
if(tableModel != null){ if(tableModel != null){
// 删除旧字段 全部新增 // 删除旧字段 全部新增
iTableColumnService.delByTableId(tableModel.getId()); iGenTableColumnService.delByTableId(tableModel.getId());
// 保存 表结构数据 // 保存 表结构数据
List<CreaterTableColumnModel> columnList = model.getColumnList(); List<GenTableColumnModel> columnList = model.getColumnList();
for (CreaterTableColumnModel tableColumnModel : columnList) { for (GenTableColumnModel tableColumnModel : columnList) {
tableColumnModel.setTableId(tableModel.getId()); tableColumnModel.setTableId(tableModel.getId());
} }
iTableColumnService.insertBatch(columnList); iGenTableColumnService.insertBatch(columnList);
} }
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateAny(CreaterTableAndColumnModel model){ public void updateAny(GenTableAndColumnModel model){
CreaterTableModel tableModel = WrapperUtil.transformInstance(model, CreaterTableModel.class); GenTableModel tableModel = WrapperUtil.transformInstance(model, GenTableModel.class);
// 保存表头数据 // 保存表头数据
tableModel = this.update(tableModel); tableModel = this.update(tableModel);
if(tableModel != null){ if(tableModel != null){
// 删除旧字段 全部新增 // 删除旧字段 全部新增
iTableColumnService.delByTableId(tableModel.getId()); iGenTableColumnService.delByTableId(tableModel.getId());
// 保存 表结构数据 // 保存 表结构数据
List<CreaterTableColumnModel> columnList = model.getColumnList(); List<GenTableColumnModel> columnList = model.getColumnList();
for (CreaterTableColumnModel tableColumnModel : columnList) { for (GenTableColumnModel tableColumnModel : columnList) {
tableColumnModel.setTableId(tableModel.getId()); tableColumnModel.setTableId(tableModel.getId());
} }
iTableColumnService.insertBatch(columnList); iGenTableColumnService.insertBatch(columnList);
} }
} }
@ -164,10 +164,10 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
throw new Exception(); throw new Exception();
} }
// 删除字段 // 删除字段
iTableColumnService.delByTableId(id); iGenTableColumnService.delByTableId(id);
// 删除生成记录 // 删除生成记录
iCreateLogsService.delByTableId(id); iGenLogsService.delByTableId(id);
} }
@Override @Override
@ -180,10 +180,10 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
} }
// 删除字段 // 删除字段
iTableColumnService.delByTableIds(ids); iGenTableColumnService.delByTableIds(ids);
// 删除生成记录 // 删除生成记录
iCreateLogsService.delByTableIds(ids); iGenLogsService.delByTableIds(ids);
} }
@Override @Override
@ -209,22 +209,22 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
} }
if(table == null){ if(table == null){
String msg = StrUtil.format(CreaterMsg.EXCEPTION_IMPORT_TABLE_NULL.getMessage(), tableName); String msg = StrUtil.format(GeneratorMsg.EXCEPTION_IMPORT_TABLE_NULL.getMessage(), tableName);
// 暂无该表 // 暂无该表
throw new CreaterException(CreaterMsg.EXCEPTION_IMPORT_TABLE_NULL.getCode(), msg); throw new GeneratorException(GeneratorMsg.EXCEPTION_IMPORT_TABLE_NULL.getCode(), msg);
} }
// 获得表字段 // 获得表字段
List<DatabaseColumn> columns = ImportTableUtil.findColumns(tableName); List<DatabaseColumn> columns = ImportTableUtil.findColumns(tableName);
if(CollUtil.isEmpty(columns)){ if(CollUtil.isEmpty(columns)){
// 暂未获得表字段 // 暂未获得表字段
throw new CreaterException(CreaterMsg.EXCEPTION_IMPORT_FIELD_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_IMPORT_FIELD_NULL);
} }
List<CreaterTableColumnModel> columnModels = new ArrayList<>(); List<GenTableColumnModel> columnModels = new ArrayList<>();
for (int i = 0; i < columns.size(); i++) { for (int i = 0; i < columns.size(); i++) {
DatabaseColumn column = columns.get(i); DatabaseColumn column = columns.get(i);
CreaterTableColumnModel columnModel = new CreaterTableColumnModel(); GenTableColumnModel columnModel = new GenTableColumnModel();
columnModel.setFieldName(column.getColumnName()); columnModel.setFieldName(column.getColumnName());
columnModel.setFieldType(column.getColumnType()); columnModel.setFieldType(column.getColumnType());
columnModel.setFieldLength(column.getColumnLength()); columnModel.setFieldLength(column.getColumnLength());
@ -239,16 +239,16 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
} }
// 生成本地数据 // 生成本地数据
CreaterTableAndColumnModel createrTableModel = new CreaterTableAndColumnModel(); GenTableAndColumnModel genTableModel = new GenTableAndColumnModel();
createrTableModel.setComments(table.getTableComments()); genTableModel.setComments(table.getTableComments());
createrTableModel.setTableName(table.getTableName()); genTableModel.setTableName(table.getTableName());
createrTableModel.setOldTableName(table.getTableName()); genTableModel.setOldTableName(table.getTableName());
createrTableModel.setIzSync("1"); genTableModel.setIzSync("1");
createrTableModel.setJdbcType(ImportTableUtil.getDbType()!=null?ImportTableUtil.getDbType().getDb():null); genTableModel.setJdbcType(ImportTableUtil.getDbType()!=null?ImportTableUtil.getDbType().getDb():null);
createrTableModel.setTableType("0"); genTableModel.setTableType("0");
createrTableModel.setColumnList(columnModels); genTableModel.setColumnList(columnModels);
createrTableModel.setIzApi(true); genTableModel.setIzApi(true);
this.insertAny(createrTableModel); this.insertAny(genTableModel);
} }
} }
@ -261,11 +261,11 @@ public class TableServiceImpl extends CrudServiceImpl<TableMapper, CreaterTable,
* @return Integer * @return Integer
*/ */
@Transactional(readOnly = true) @Transactional(readOnly = true)
public Integer uniqueVerificationByTableName(CreaterTableModel model){ public Integer uniqueVerificationByTableName(GenTableModel model){
if(model == null){ if(model == null){
return null; return null;
} }
QueryWrapper<CreaterTable> wrapper = new QueryWrapper<>(); QueryWrapper<GenTable> wrapper = new QueryWrapper<>();
// code 唯一 // code 唯一
wrapper.eq("table_name", model.getTableName()); wrapper.eq("table_name", model.getTableName());

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.table.web; package org.opsli.modulars.generator.table.web;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -26,21 +26,21 @@ import org.opsli.common.annotation.EnableLog;
import org.opsli.common.exception.ServiceException; import org.opsli.common.exception.ServiceException;
import org.opsli.common.utils.WrapperUtil; import org.opsli.common.utils.WrapperUtil;
import org.opsli.core.base.controller.BaseRestController; import org.opsli.core.base.controller.BaseRestController;
import org.opsli.core.creater.exception.CreaterException; import org.opsli.core.generator.exception.GeneratorException;
import org.opsli.core.creater.msg.CreaterMsg; import org.opsli.core.generator.msg.GeneratorMsg;
import org.opsli.core.creater.strategy.sync.util.SqlSyncUtil; import org.opsli.core.generator.strategy.sync.util.SqlSyncUtil;
import org.opsli.core.msg.CoreMsg; import org.opsli.core.msg.CoreMsg;
import org.opsli.core.persistence.Page; import org.opsli.core.persistence.Page;
import org.opsli.core.persistence.querybuilder.QueryBuilder; import org.opsli.core.persistence.querybuilder.QueryBuilder;
import org.opsli.core.persistence.querybuilder.WebQueryBuilder; import org.opsli.core.persistence.querybuilder.WebQueryBuilder;
import org.opsli.modulars.creater.column.service.ITableColumnService; import org.opsli.modulars.generator.column.service.IGenTableColumnService;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.creater.importable.ImportTableUtil; import org.opsli.modulars.generator.importable.ImportTableUtil;
import org.opsli.modulars.creater.table.api.TableApi; import org.opsli.modulars.generator.table.api.TableApi;
import org.opsli.modulars.creater.table.entity.CreaterTable; import org.opsli.modulars.generator.table.entity.GenTable;
import org.opsli.modulars.creater.table.service.ITableService; import org.opsli.modulars.generator.table.service.IGenTableService;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel; import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel; import org.opsli.modulars.generator.table.wrapper.GenTableModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -55,12 +55,12 @@ import java.util.List;
*/ */
@Api(tags = TableApi.TITLE) @Api(tags = TableApi.TITLE)
@Slf4j @Slf4j
@ApiRestController("/creater/table") @ApiRestController("/generator/table")
public class TableRestController extends BaseRestController<CreaterTable, CreaterTableModel, ITableService> public class GenTableRestController extends BaseRestController<GenTable, GenTableModel, IGenTableService>
implements TableApi { implements TableApi {
@Autowired @Autowired
private ITableColumnService iTableColumnService; private IGenTableColumnService iGenTableColumnService;
/** /**
@ -69,24 +69,24 @@ public class TableRestController extends BaseRestController<CreaterTable, Create
* @return ResultVo * @return ResultVo
*/ */
@ApiOperation(value = "获得单条表", notes = "获得单条表 - ID") @ApiOperation(value = "获得单条表", notes = "获得单条表 - ID")
@RequiresPermissions("deve_creater_select") @RequiresPermissions("dev_generator_select")
@Override @Override
public ResultVo<CreaterTableAndColumnModel> get(CreaterTableModel model) { public ResultVo<GenTableAndColumnModel> get(GenTableModel model) {
// 如果系统内部调用 则直接查数据库 // 如果系统内部调用 则直接查数据库
if(model != null && model.getIzApi() != null && model.getIzApi()){ if(model != null && model.getIzApi() != null && model.getIzApi()){
model = IService.get(model); model = IService.get(model);
} }
CreaterTableAndColumnModel currModel = WrapperUtil.transformInstance( GenTableAndColumnModel currModel = WrapperUtil.transformInstance(
model, CreaterTableAndColumnModel.class model, GenTableAndColumnModel.class
); );
if(currModel == null){ if(currModel == null){
// 暂无数据 // 暂无数据
throw new CreaterException(CreaterMsg.EXCEPTION_OTHER_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_OTHER_NULL);
} }
List<CreaterTableColumnModel> columnModelList = iTableColumnService. List<GenTableColumnModel> columnModelList = iGenTableColumnService.
getByTableId(currModel.getId()); getByTableId(currModel.getId());
currModel.setColumnList(columnModelList); currModel.setColumnList(columnModelList);
@ -102,12 +102,12 @@ public class TableRestController extends BaseRestController<CreaterTable, Create
* @return ResultVo * @return ResultVo
*/ */
@ApiOperation(value = "获得分页数据", notes = "获得分页数据 - 查询构造器") @ApiOperation(value = "获得分页数据", notes = "获得分页数据 - 查询构造器")
@RequiresPermissions("deve_creater_select") @RequiresPermissions("dev_generator_select")
@Override @Override
public ResultVo<?> findPage(Integer pageNo, Integer pageSize, HttpServletRequest request) { public ResultVo<?> findPage(Integer pageNo, Integer pageSize, HttpServletRequest request) {
QueryBuilder<CreaterTable> queryBuilder = new WebQueryBuilder<>(CreaterTable.class, request.getParameterMap()); QueryBuilder<GenTable> queryBuilder = new WebQueryBuilder<>(GenTable.class, request.getParameterMap());
Page<CreaterTable, CreaterTableModel> page = new Page<>(pageNo, pageSize); Page<GenTable, GenTableModel> page = new Page<>(pageNo, pageSize);
page.setQueryWrapper(queryBuilder.build()); page.setQueryWrapper(queryBuilder.build());
page = IService.findPage(page); page = IService.findPage(page);
@ -120,10 +120,10 @@ public class TableRestController extends BaseRestController<CreaterTable, Create
* @return ResultVo * @return ResultVo
*/ */
@ApiOperation(value = "新增表", notes = "新增表") @ApiOperation(value = "新增表", notes = "新增表")
@RequiresPermissions("deve_creater_insert") @RequiresPermissions("dev_generator_insert")
@EnableLog @EnableLog
@Override @Override
public ResultVo<?> insert(CreaterTableAndColumnModel model) { public ResultVo<?> insert(GenTableAndColumnModel model) {
// 演示模式 不允许操作 // 演示模式 不允许操作
//super.demoError(); //super.demoError();
@ -139,10 +139,10 @@ public class TableRestController extends BaseRestController<CreaterTable, Create
* @return ResultVo * @return ResultVo
*/ */
@ApiOperation(value = "修改表", notes = "修改表") @ApiOperation(value = "修改表", notes = "修改表")
@RequiresPermissions("deve_creater_update") @RequiresPermissions("dev_generator_update")
@EnableLog @EnableLog
@Override @Override
public ResultVo<?> update(CreaterTableAndColumnModel model) { public ResultVo<?> update(GenTableAndColumnModel model) {
// 演示模式 不允许操作 // 演示模式 不允许操作
//super.demoError(); //super.demoError();
@ -159,7 +159,7 @@ public class TableRestController extends BaseRestController<CreaterTable, Create
* @return ResultVo * @return ResultVo
*/ */
@ApiOperation(value = "删除表数据", notes = "删除表数据") @ApiOperation(value = "删除表数据", notes = "删除表数据")
@RequiresPermissions("deve_creater_delete") @RequiresPermissions("dev_generator_delete")
@EnableLog @EnableLog
@Override @Override
public ResultVo<?> del(String id){ public ResultVo<?> del(String id){
@ -183,7 +183,7 @@ public class TableRestController extends BaseRestController<CreaterTable, Create
* @return ResultVo * @return ResultVo
*/ */
@ApiOperation(value = "批量删除表数据", notes = "批量删除表数据") @ApiOperation(value = "批量删除表数据", notes = "批量删除表数据")
@RequiresPermissions("deve_creater_delete") @RequiresPermissions("dev_generator_delete")
@EnableLog @EnableLog
@Override @Override
public ResultVo<?> delAll(String ids){ public ResultVo<?> delAll(String ids){
@ -208,22 +208,22 @@ public class TableRestController extends BaseRestController<CreaterTable, Create
* @return ResultVo * @return ResultVo
*/ */
@ApiOperation(value = "同步数据库表", notes = "同步数据库表") @ApiOperation(value = "同步数据库表", notes = "同步数据库表")
@RequiresPermissions("deve_creater_sync") @RequiresPermissions("dev_generator_sync")
@EnableLog @EnableLog
@Override @Override
public ResultVo<?> sync(String id){ public ResultVo<?> sync(String id){
// 演示模式 不允许操作 // 演示模式 不允许操作
super.demoError(); super.demoError();
CreaterTableAndColumnModel currModel = WrapperUtil.transformInstance( GenTableAndColumnModel currModel = WrapperUtil.transformInstance(
IService.get(id), CreaterTableAndColumnModel.class IService.get(id), GenTableAndColumnModel.class
); );
if(currModel == null){ if(currModel == null){
return ResultVo.error("同步失败"); return ResultVo.error("同步失败");
} }
List<CreaterTableColumnModel> columnModelList = iTableColumnService. List<GenTableColumnModel> columnModelList = iGenTableColumnService.
getByTableId(currModel.getId()); getByTableId(currModel.getId());
currModel.setColumnList(columnModelList); currModel.setColumnList(columnModelList);
@ -235,21 +235,21 @@ public class TableRestController extends BaseRestController<CreaterTable, Create
} }
@ApiOperation(value = "获得当前数据库表", notes = "获得当前数据库表") @ApiOperation(value = "获得当前数据库表", notes = "获得当前数据库表")
@RequiresPermissions("deve_creater_select") @RequiresPermissions("dev_generator_select")
@Override @Override
public ResultVo<?> getTables() { public ResultVo<?> getTables() {
return ResultVo.success(ImportTableUtil.findTables()); return ResultVo.success(ImportTableUtil.findTables());
} }
@ApiOperation(value = "导入数据库表", notes = "导入数据库表") @ApiOperation(value = "导入数据库表", notes = "导入数据库表")
@RequiresPermissions("deve_creater_import") @RequiresPermissions("dev_generator_import")
@EnableLog @EnableLog
@Override @Override
public ResultVo<?> importTables(String tableNames) { public ResultVo<?> importTables(String tableNames) {
String[] tableNameArray = Convert.toStrArray(tableNames); String[] tableNameArray = Convert.toStrArray(tableNames);
if(tableNameArray == null){ if(tableNameArray == null){
// 未选中表,无法导入 // 未选中表,无法导入
throw new CreaterException(CreaterMsg.EXCEPTION_IMPORT_NULL); throw new GeneratorException(GeneratorMsg.EXCEPTION_IMPORT_NULL);
} }
IService.importTables(tableNameArray); IService.importTables(tableNameArray);
return ResultVo.success("导入成功"); return ResultVo.success("导入成功");

@ -13,10 +13,10 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.table.wrapper; package org.opsli.modulars.generator.table.wrapper;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -24,8 +24,7 @@ import org.opsli.api.base.warpper.ApiWrapper;
import org.opsli.common.annotation.validation.ValidationArgs; import org.opsli.common.annotation.validation.ValidationArgs;
import org.opsli.common.annotation.validation.ValidationArgsLenMax; import org.opsli.common.annotation.validation.ValidationArgsLenMax;
import org.opsli.common.enums.ValiArgsType; import org.opsli.common.enums.ValiArgsType;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel; import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.plugins.excel.annotation.ExcelInfo;
import java.util.List; import java.util.List;
@ -37,13 +36,12 @@ import java.util.List;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CreaterTableAndColumnModel extends ApiWrapper { public class GenTableAndColumnModel extends ApiWrapper {
/** 表名称 */ /** 表名称 */
@ApiModelProperty(value = "表名称") @ApiModelProperty(value = "表名称")
@ExcelProperty(value = "表名称", order = 1) @ExcelIgnore
@ExcelInfo
@ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100) @ValidationArgsLenMax(100)
private String tableName; private String tableName;
@ -55,47 +53,47 @@ public class CreaterTableAndColumnModel extends ApiWrapper {
/** 表类型 */ /** 表类型 */
@ApiModelProperty(value = "表类型") @ApiModelProperty(value = "表类型")
@ExcelProperty(value = "表类型", order = 2) @ExcelIgnore
@ExcelInfo(dictType = "table_type")
@ValidationArgs({ValiArgsType.IS_NOT_NULL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL})
@ValidationArgsLenMax(1) @ValidationArgsLenMax(1)
private String tableType; private String tableType;
/** 数据库类型 */ /** 数据库类型 */
@ApiModelProperty(value = "数据库类型") @ApiModelProperty(value = "数据库类型")
@ExcelProperty(value = "数据库类型", order = 3) @ExcelIgnore
@ExcelInfo(dictType = "jdbc_type")
@ValidationArgs({ValiArgsType.IS_NOT_NULL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL})
@ValidationArgsLenMax(30) @ValidationArgsLenMax(30)
private String jdbcType; private String jdbcType;
/** 描述 */ /** 描述 */
@ApiModelProperty(value = "描述") @ApiModelProperty(value = "描述")
@ExcelProperty(value = "描述", order = 4) @ExcelIgnore
@ExcelInfo
@ValidationArgsLenMax(200) @ValidationArgsLenMax(200)
private String comments; private String comments;
/** 同步 */ /** 同步 */
@ApiModelProperty(value = "同步") @ApiModelProperty(value = "同步")
@ExcelProperty(value = "是否同步", order = 5) @ExcelIgnore
@ExcelInfo(dictType = "no_yes")
@ValidationArgsLenMax(1) @ValidationArgsLenMax(1)
private String izSync; private String izSync;
/** 备注 */ /** 备注 */
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
@ExcelProperty(value = "备注", order = 6) @ExcelIgnore
@ExcelInfo
@ValidationArgsLenMax(255) @ValidationArgsLenMax(255)
private String remark; private String remark;
/** 表结构 */ /** 表结构 */
@ApiModelProperty(value = "表结构") @ApiModelProperty(value = "表结构")
@ExcelProperty(value = "表结构", order = 7) @ExcelIgnore
@ExcelInfo
@ValidationArgs({ValiArgsType.IS_NOT_NULL}) @ValidationArgs({ValiArgsType.IS_NOT_NULL})
private List<CreaterTableColumnModel> columnList; private List<GenTableColumnModel> columnList;
// =======================
/** 表名称 - 驼峰 */
@JsonIgnore
@ExcelIgnore
private String tableHumpName;
} }

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under * License for the specific language governing permissions and limitations under
* the License. * the License.
*/ */
package org.opsli.modulars.creater.table.wrapper; package org.opsli.modulars.generator.table.wrapper;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
@ -34,7 +34,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class CreaterTableModel extends ApiWrapper { public class GenTableModel extends ApiWrapper {
/** 表名称 */ /** 表名称 */

@ -2,9 +2,9 @@
opsli: opsli:
# 排除表 防止代码生成器直接 非法删除关键表 # 排除表 防止代码生成器直接 非法删除关键表
exclude-tables: exclude-tables:
- creater_table - gen_table
- creater_table_column - gen_table_column
- creater_logs - gen_logs
- sys_dict - sys_dict
- sys_dict_detail - sys_dict_detail
- sys_logs - sys_logs

@ -18,7 +18,7 @@
<modules> <modules>
<module>opsli-modulars-test</module> <module>opsli-modulars-test</module>
<module>opsli-modulars-system</module> <module>opsli-modulars-system</module>
<module>opsli-modulars-creater</module> <module>opsli-modulars-generator</module>
</modules> </modules>
<!-- 规定子类所引用的版本***** --> <!-- 规定子类所引用的版本***** -->

@ -45,7 +45,7 @@
<!-- 代码生成器 --> <!-- 代码生成器 -->
<dependency> <dependency>
<groupId>org.opsliframework.boot</groupId> <groupId>org.opsliframework.boot</groupId>
<artifactId>opsli-modulars-creater</artifactId> <artifactId>opsli-modulars-generator</artifactId>
<version>${modulars.version}</version> <version>${modulars.version}</version>
</dependency> </dependency>
<!-- 引入测试业务模块 --> <!-- 引入测试业务模块 -->

Loading…
Cancel
Save