refactor: 更换代码生成器命名

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

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

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* 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.exception.ServiceException;
@ -24,13 +24,13 @@ import org.opsli.common.exception.ServiceException;
* @author parker
* @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);
}
public CreaterException(BaseMsg msg) {
public GeneratorException(BaseMsg msg) {
super(msg);
}
}

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.opsli.core.creater.msg;
package org.opsli.core.generator.msg;
import org.opsli.common.base.msg.BaseMsg;
@ -23,7 +23,7 @@ import org.opsli.common.base.msg.BaseMsg;
* @author parker
* @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 String message;
CreaterMsg(int code, String message){
GeneratorMsg(int code, String message){
this.code = code;
this.message = message;
}

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

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

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

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

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

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

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

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under
* 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.Map;

@ -13,14 +13,14 @@
* License for the specific language governing permissions and limitations under
* 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 lombok.extern.slf4j.Slf4j;
import org.opsli.core.creater.enums.DataBaseType;
import org.opsli.core.creater.strategy.sync.SyncStrategy;
import org.opsli.core.generator.enums.DataBaseType;
import org.opsli.core.generator.strategy.sync.SyncStrategy;
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.Configuration;
@ -68,7 +68,7 @@ public class SqlSyncUtil {
*
* @param model
*/
public static void execute(CreaterTableAndColumnModel model){
public static void execute(GenTableAndColumnModel model){
if(model == null){
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 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
* 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.EqualsAndHashCode;
import org.opsli.core.base.entity.BaseEntity;
@ -28,7 +27,7 @@ import org.opsli.core.base.entity.BaseEntity;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class CreaterTableColumn extends BaseEntity {
public class GenTableColumn extends BaseEntity {
/** 归属表ID */
private String tableId;

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.opsli.modulars.creater.column.mapper;
package org.opsli.modulars.generator.column.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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
*/
@Mapper
public interface TableColumnMapper extends BaseMapper<CreaterTableColumn> {
public interface GenTableColumnMapper extends BaseMapper<GenTableColumn> {

@ -1,6 +1,6 @@
<?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">
<mapper namespace="org.opsli.modulars.creater.createrlogs.mapper.CreaterLogsMapper">
<mapper namespace="org.opsli.modulars.generator.column.mapper.GenTableColumnMapper">
</mapper>

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

@ -13,9 +13,10 @@
* License for the specific language governing permissions and limitations under
* 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 lombok.Data;
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.ValidationArgsLenMax;
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
@EqualsAndHashCode(callSuper = false)
public class CreaterTableColumnModel extends ApiWrapper {
public class GenTableColumnModel extends ApiWrapper {
/** 归属表ID */
@ApiModelProperty(value = "归属表ID")
@ExcelProperty(value = "归属表ID", order = 1)
@ExcelInfo
@ExcelIgnore
private String tableId;
/** 字段名称 */
@ApiModelProperty(value = "字段名称")
@ExcelProperty(value = "字段名称", order = 2)
@ExcelInfo
@ExcelIgnore
@ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100)
private String fieldName;
/** 字段类型 */
@ApiModelProperty(value = "字段类型")
@ExcelProperty(value = "字段类型", order = 3)
@ExcelInfo
@ExcelIgnore
@ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100)
private String fieldType;
/** 字段长度 */
@ApiModelProperty(value = "字段长度")
@ExcelProperty(value = "字段长度", order = 4)
@ExcelInfo
@ExcelIgnore
private Integer fieldLength;
/** 字段精度 */
@ApiModelProperty(value = "字段精度")
@ExcelProperty(value = "字段精度", order = 5)
@ExcelInfo
@ExcelIgnore
private Integer fieldPrecision;
/** 字段描述 */
@ApiModelProperty(value = "字段描述")
@ExcelProperty(value = "字段描述", order = 6)
@ExcelInfo
@ExcelIgnore
@ValidationArgs({ValiArgsType.IS_NOT_NULL})
@ValidationArgsLenMax(200)
private String fieldComments;
/** 是否主键 */
@ApiModelProperty(value = "是否主键")
@ExcelProperty(value = "是否主键", order = 7)
@ExcelInfo(dictType = "no_yes")
@ExcelIgnore
@ValidationArgsLenMax(1)
private String izPk;
/** 是否可为空 */
@ApiModelProperty(value = "是否可为空")
@ExcelProperty(value = "是否可为空", order = 8)
@ExcelInfo(dictType = "no_yes")
@ExcelIgnore
@ValidationArgsLenMax(1)
private String izNotNull;
/** 是否列表显示 */
@ApiModelProperty(value = "是否列表显示")
@ExcelProperty(value = "是否列表显示", order = 9)
@ExcelInfo(dictType = "no_yes")
@ExcelIgnore
@ValidationArgsLenMax(1)
private String izShowList;
/** 是否表单显示 */
@ApiModelProperty(value = "是否表单显示")
@ExcelProperty(value = "是否表单显示", order = 10)
@ExcelInfo(dictType = "no_yes")
@ExcelIgnore
@ValidationArgsLenMax(1)
private String izShowForm;
/** Java字段类型 */
@ApiModelProperty(value = "Java字段类型")
@ExcelProperty(value = "Java字段类型", order = 11)
@ExcelInfo(dictType = "java_type")
@ExcelIgnore
@ValidationArgs({ValiArgsType.IS_NOT_NULL, ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(50)
private String javaType;
/** 字段生成方案(文本框、文本域、字典选择) */
@ApiModelProperty(value = "字段生成方案")
@ExcelProperty(value = "字段生成方案", order = 12)
@ExcelInfo(dictType = "show_type")
@ExcelIgnore
@ValidationArgsLenMax(1)
private String showType;
/** 字典类型编号 */
@ApiModelProperty(value = "字典类型编号")
@ExcelProperty(value = "字典类型编号", order = 13)
@ExcelInfo
@ExcelIgnore
@ValidationArgs({ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100)
private String dictTypeCode;
/** 排序(升序) */
@ApiModelProperty(value = "排序")
@ExcelProperty(value = "排序", order = 14)
@ExcelInfo
@ExcelIgnore
@ValidationArgs({ValiArgsType.IS_NOT_NULL})
@ValidationArgsLenMax(6)
private Integer sort;
/** 验证类别 */
@ApiModelProperty(value = "验证类别")
@ExcelProperty(value = "验证类别", order = 15)
@ExcelInfo
@ExcelIgnore
@ValidationArgsLenMax(500)
private String validateType;
/** 检索类别 */
@ApiModelProperty(value = "检索类别")
@ExcelProperty(value = "检索类别", order = 16)
@ExcelInfo
@ExcelIgnore
@ValidationArgs({ValiArgsType.IS_GENERAL})
@ValidationArgsLenMax(100)
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
* 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.Update;

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

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

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

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

@ -1,9 +1,9 @@
<?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">
<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
TB.TABLE_SCHEMA AS dbName,
TB.TABLE_NAME AS tableName,
@ -17,7 +17,7 @@
</if>
</select>
<select id="findColumns" resultType="org.opsli.modulars.creater.importable.entity.DatabaseColumn">
<select id="findColumns" resultType="org.opsli.modulars.generator.importable.entity.DatabaseColumn">
SELECT
TABLE_SCHEMA AS dbName,
TABLE_NAME AS tableName,

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under
* 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.modulars.creater.importable.entity.DatabaseColumn;
import org.opsli.modulars.creater.importable.entity.DatabaseTable;
import org.opsli.core.generator.enums.DataBaseType;
import org.opsli.modulars.generator.importable.entity.DatabaseColumn;
import org.opsli.modulars.generator.importable.entity.DatabaseTable;
import java.util.List;

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

@ -13,15 +13,12 @@
* License for the specific language governing permissions and limitations under
* 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.modulars.creater.createrlogs.wrapper.CreaterLogsModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel;
import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.servlet.http.HttpServletResponse;
@ -37,7 +34,7 @@ import javax.servlet.http.HttpServletResponse;
* @author parker
* @date 2020-09-16 17:34
*/
public interface CreaterLogsApi {
public interface GenLogsApi {
/** 标题 */
String TITLE = "代码生成器-日志";
@ -50,14 +47,14 @@ public interface CreaterLogsApi {
* @return ResultVo
*/
@GetMapping("/getByTableId")
ResultVo<CreaterLogsModel> getByTableId(String tableId);
ResultVo<GenLogsModel> getByTableId(String tableId);
/**
*
* @param model
*/
@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
* the License.
*/
package org.opsli.modulars.creater.createrlogs.entity;
package org.opsli.modulars.generator.logs.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -27,7 +27,7 @@ import org.opsli.core.base.entity.BaseEntity;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class CreaterLogs extends BaseEntity {
public class GenLogs extends BaseEntity {
/** 归属表ID */
private String tableId;

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.opsli.modulars.creater.createrlogs.mapper;
package org.opsli.modulars.generator.logs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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
*/
@Mapper
public interface CreaterLogsMapper extends BaseMapper<CreaterLogs> {
public interface GenLogsMapper extends BaseMapper<GenLogs> {
}

@ -1,6 +1,6 @@
<?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">
<mapper namespace="org.opsli.modulars.creater.column.mapper.TableColumnMapper">
<mapper namespace="org.opsli.modulars.generator.logs.mapper.GenLogsMapper">
</mapper>

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under
* 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.modulars.creater.createrlogs.entity.CreaterLogs;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterLogsModel;
import org.opsli.modulars.generator.logs.entity.GenLogs;
import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import javax.servlet.http.HttpServletResponse;
@ -28,7 +28,7 @@ import javax.servlet.http.HttpServletResponse;
* @author parker
* @date 2020-09-16 17:34
*/
public interface ICreateLogsService extends CrudServiceInterface<CreaterLogs, CreaterLogsModel> {
public interface IGenLogsService extends CrudServiceInterface<GenLogs, GenLogsModel> {
/**
* Id
@ -47,14 +47,14 @@ public interface ICreateLogsService extends CrudServiceInterface<CreaterLogs, Cr
* @param tableId ID
* @return Model
*/
CreaterLogsModel getByTableId(String tableId);
GenLogsModel getByTableId(String tableId);
/**
*
* @param model
* @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
* 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 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.common.utils.WrapperUtil;
import org.opsli.core.base.service.impl.CrudServiceImpl;
import org.opsli.core.creater.exception.CreaterException;
import org.opsli.core.creater.msg.CreaterMsg;
import org.opsli.core.creater.strategy.create.CodeBuilder;
import org.opsli.core.generator.exception.GeneratorException;
import org.opsli.core.generator.msg.GeneratorMsg;
import org.opsli.core.generator.strategy.create.CodeBuilder;
import org.opsli.core.persistence.Page;
import org.opsli.core.persistence.querybuilder.GenQueryBuilder;
import org.opsli.core.persistence.querybuilder.QueryBuilder;
import org.opsli.modulars.creater.column.service.ITableColumnService;
import org.opsli.modulars.creater.column.wrapper.CreaterTableColumnModel;
import org.opsli.modulars.creater.createrlogs.entity.CreaterLogs;
import org.opsli.modulars.creater.createrlogs.mapper.CreaterLogsMapper;
import org.opsli.modulars.creater.createrlogs.service.ICreateLogsService;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterBuilderModel;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterLogsModel;
import org.opsli.modulars.creater.table.service.ITableService;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel;
import org.opsli.modulars.generator.column.service.IGenTableColumnService;
import org.opsli.modulars.generator.column.wrapper.GenTableColumnModel;
import org.opsli.modulars.generator.logs.entity.GenLogs;
import org.opsli.modulars.generator.logs.mapper.GenLogsMapper;
import org.opsli.modulars.generator.logs.service.IGenLogsService;
import org.opsli.modulars.generator.logs.wrapper.GenBuilderModel;
import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import org.opsli.modulars.generator.table.service.IGenTableService;
import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.modulars.generator.table.wrapper.GenTableModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -54,24 +54,24 @@ import java.util.List;
* @date 2020-09-16 17:34
*/
@Service
public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, CreaterLogs, CreaterLogsModel>
implements ICreateLogsService {
public class GenLogsServiceImpl extends CrudServiceImpl<GenLogsMapper, GenLogs, GenLogsModel>
implements IGenLogsService {
@Autowired(required = false)
private CreaterLogsMapper mapper;
private GenLogsMapper mapper;
@Autowired
private ITableService iTableService;
private IGenTableService iGenTableService;
@Autowired
private ITableColumnService iTableColumnService;
private IGenTableColumnService iGenTableColumnService;
@Autowired
private MenuApi menuApi;
@Override
@Transactional(rollbackFor = Exception.class)
public void delByTableId(String tableId) {
QueryBuilder<CreaterLogs> queryBuilder =
QueryBuilder<GenLogs> queryBuilder =
new GenQueryBuilder<>();
QueryWrapper<CreaterLogs> wrapper = queryBuilder.build();
QueryWrapper<GenLogs> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId);
super.remove(wrapper);
}
@ -81,9 +81,9 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
public void delByTableIds(String[] tableIds) {
if(tableIds != null){
for (String tableId : tableIds) {
QueryBuilder<CreaterLogs> queryBuilder =
QueryBuilder<GenLogs> queryBuilder =
new GenQueryBuilder<>();
QueryWrapper<CreaterLogs> wrapper = queryBuilder.build();
QueryWrapper<GenLogs> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId);
super.remove(wrapper);
}
@ -91,14 +91,14 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
}
@Override
public CreaterLogsModel getByTableId(String tableId) {
QueryBuilder<CreaterLogs> queryBuilder =
public GenLogsModel getByTableId(String tableId) {
QueryBuilder<GenLogs> queryBuilder =
new GenQueryBuilder<>();
QueryWrapper<CreaterLogs> wrapper = queryBuilder.build();
QueryWrapper<GenLogs> wrapper = queryBuilder.build();
wrapper.eq("table_id", tableId);
CreaterLogsModel model = null;
Page<CreaterLogs, CreaterLogsModel> page = new Page<>(1,1);
GenLogsModel model = null;
Page<GenLogs, GenLogsModel> page = new Page<>(1,1);
page.setQueryWrapper(wrapper);
page = this.findPage(page);
if(page != null && CollUtil.isNotEmpty(page.getList())){
@ -110,28 +110,28 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
@Override
@Transactional(rollbackFor = Exception.class)
public void create(CreaterLogsModel model, HttpServletResponse response) {
public void create(GenLogsModel model, HttpServletResponse response) {
if(model == null){
// 生成失败,数据为空
throw new CreaterException(CreaterMsg.EXCEPTION_CREATE_NULL);
throw new GeneratorException(GeneratorMsg.EXCEPTION_CREATE_NULL);
}
model.setVersion(null);
CreaterLogsModel saveModel = this.save(model);
GenLogsModel saveModel = this.save(model);
if(saveModel != null){
CreaterTableModel createrTableModel = iTableService.get(saveModel.getTableId());
if(createrTableModel == null){
GenTableModel genTableModel = iGenTableService.get(saveModel.getTableId());
if(genTableModel == null){
// 生成失败,暂无表数据
throw new CreaterException(CreaterMsg.EXCEPTION_CREATE_TABLE_NULL);
throw new GeneratorException(GeneratorMsg.EXCEPTION_CREATE_TABLE_NULL);
}
CreaterTableAndColumnModel currTableModel = WrapperUtil.transformInstance(
createrTableModel, CreaterTableAndColumnModel.class
GenTableAndColumnModel currTableModel = WrapperUtil.transformInstance(
genTableModel, GenTableAndColumnModel.class
);
List<CreaterTableColumnModel> columnModelList = iTableColumnService.
List<GenTableColumnModel> columnModelList = iGenTableColumnService.
getByTableId(currTableModel.getId());
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);
// 生成代码
CreaterBuilderModel builderModel = WrapperUtil.transformInstance(
saveModel, CreaterBuilderModel.class
GenBuilderModel builderModel = WrapperUtil.transformInstance(
saveModel, GenBuilderModel.class
);
builderModel.setModel(currTableModel);
@ -155,13 +155,13 @@ public class CreateLogsServiceImpl extends CrudServiceImpl<CreaterLogsMapper, Cr
public boolean createMenu(String menuParentId, String tableId) {
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){
// 生成菜单失败,请先 生成代码
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
* 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.ApiOperation;
@ -23,12 +23,10 @@ import org.opsli.api.base.result.ResultVo;
import org.opsli.common.annotation.ApiRestController;
import org.opsli.common.annotation.EnableLog;
import org.opsli.core.base.controller.BaseRestController;
import org.opsli.core.creater.exception.CreaterException;
import org.opsli.core.creater.msg.CreaterMsg;
import org.opsli.modulars.creater.createrlogs.api.CreaterLogsApi;
import org.opsli.modulars.creater.createrlogs.entity.CreaterLogs;
import org.opsli.modulars.creater.createrlogs.service.ICreateLogsService;
import org.opsli.modulars.creater.createrlogs.wrapper.CreaterLogsModel;
import org.opsli.modulars.generator.logs.api.GenLogsApi;
import org.opsli.modulars.generator.logs.entity.GenLogs;
import org.opsli.modulars.generator.logs.service.IGenLogsService;
import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import javax.servlet.http.HttpServletResponse;
@ -39,17 +37,17 @@ import javax.servlet.http.HttpServletResponse;
* @author parker
* @date 2020-09-16 17:34
*/
@Api(tags = CreaterLogsApi.TITLE)
@Api(tags = GenLogsApi.TITLE)
@Slf4j
@ApiRestController("/creater/logs")
public class CreaterLogsRestController extends BaseRestController<CreaterLogs, CreaterLogsModel, ICreateLogsService>
implements CreaterLogsApi {
@ApiRestController("/generator/logs")
public class GenLogsRestController extends BaseRestController<GenLogs, GenLogsModel, IGenLogsService>
implements GenLogsApi {
@ApiOperation(value = "获得当前表生成记录", notes = "获得当前表生成记录")
@RequiresPermissions("deve_creater_select")
@RequiresPermissions("dev_generator_select")
@Override
public ResultVo<CreaterLogsModel> getByTableId(String tableId) {
CreaterLogsModel byTableId = IService.getByTableId(tableId);
public ResultVo<GenLogsModel> getByTableId(String tableId) {
GenLogsModel byTableId = IService.getByTableId(tableId);
return ResultVo.success(byTableId);
}
@ -58,10 +56,10 @@ public class CreaterLogsRestController extends BaseRestController<CreaterLogs, C
* @param model
*/
@ApiOperation(value = "代码生成", notes = "代码生成")
@RequiresPermissions("deve_creater_create")
@RequiresPermissions("dev_generator_create")
@EnableLog
@Override
public void create(CreaterLogsModel model, HttpServletResponse response) {
public void create(GenLogsModel model, HttpServletResponse response) {
// 调用生成方法
IService.create(model, response);
@ -75,7 +73,7 @@ public class CreaterLogsRestController extends BaseRestController<CreaterLogs, C
* @return ResultVo
*/
@ApiOperation(value = "生成菜单", notes = "生成菜单")
@RequiresPermissions("deve_creater_createMenu")
@RequiresPermissions("dev_generator_createMenu")
@EnableLog
@Override
public ResultVo<?> createMenu(String menuParentId, String tableId) {

@ -13,27 +13,22 @@
* License for the specific language governing permissions and limitations under
* 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.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
import org.opsli.common.annotation.validation.ValidationArgs;
import org.opsli.common.annotation.validation.ValidationArgsLenMax;
import org.opsli.common.enums.ValiArgsType;
import org.opsli.modulars.creater.table.wrapper.CreaterTableAndColumnModel;
import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
/**
* - +
* - +
*
* @author parker
* @date 2020-09-16 17:34
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class CreaterBuilderModel extends ApiWrapper {
public class GenBuilderModel extends ApiWrapper {
/** 归属表ID */
@ -58,6 +53,6 @@ public class CreaterBuilderModel extends ApiWrapper {
private String authorName;
/** 代码模型 */
private CreaterTableAndColumnModel model;
private GenTableAndColumnModel model;
}

@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* 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;
@ -32,7 +32,7 @@ import org.opsli.common.enums.ValiArgsType;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class CreaterLogsModel extends ApiWrapper {
public class GenLogsModel extends ApiWrapper {
/** 归属表ID */

@ -13,11 +13,11 @@
* License for the specific language governing permissions and limitations under
* 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.modulars.creater.table.wrapper.CreaterTableAndColumnModel;
import org.opsli.modulars.creater.table.wrapper.CreaterTableModel;
import org.opsli.modulars.generator.table.wrapper.GenTableAndColumnModel;
import org.opsli.modulars.generator.table.wrapper.GenTableModel;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -49,7 +49,7 @@ public interface TableApi {
* @return ResultVo
*/
@GetMapping("/get")
ResultVo<CreaterTableAndColumnModel> get(CreaterTableModel model);
ResultVo<GenTableAndColumnModel> get(GenTableModel model);
/**
*
@ -71,7 +71,7 @@ public interface TableApi {
* @return ResultVo
*/
@PostMapping("/insert")
ResultVo<?> insert(@RequestBody CreaterTableAndColumnModel model);
ResultVo<?> insert(@RequestBody GenTableAndColumnModel model);
/**
*
@ -79,7 +79,7 @@ public interface TableApi {
* @return ResultVo
*/
@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
* 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.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.core.base.entity.BaseEntity;
@ -30,7 +29,7 @@ import org.opsli.core.base.entity.BaseEntity;
*/
@Data
@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
* the License.
*/
package org.opsli.modulars.creater.table.mapper;
package org.opsli.modulars.generator.table.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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;
@ -29,7 +29,7 @@ import java.util.List;
* @date 2020-09-16 17:34
*/
@Mapper
public interface TableMapper extends BaseMapper<CreaterTable> {
public interface GenTableMapper extends BaseMapper<GenTable> {
/**

@ -1,17 +1,17 @@
<?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">
<mapper namespace="org.opsli.modulars.creater.table.mapper.TableMapper">
<mapper namespace="org.opsli.modulars.generator.table.mapper.GenTableMapper">
<select id="findAllByTableName" resultType="String">
select
table_name AS tableName
from
creater_table
gen_table
</select>
<update id="renewSyncState">
update creater_table
update gen_table
set iz_sync = '1'
where
id = #{id}

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

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

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

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

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

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

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

Loading…
Cancel
Save