|
|
@@ -210,7 +210,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
.map(GenBasic::getDbTable)
|
|
|
.collect(Collectors.toSet());
|
|
|
|
|
|
- ;
|
|
|
+ ;
|
|
|
conn = DriverManager.getConnection(Objects.requireNonNull(environment.getProperty(DB_URL_KEY)),
|
|
|
Objects.requireNonNull(environment.getProperty(DB_USERNAME_KEY)),
|
|
|
Objects.requireNonNull(environment.getProperty(DB_PASSWORD_KEY)));
|
|
|
@@ -295,13 +295,14 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void execGenZip(GenBasicIdParam genBasicIdParam, HttpServletResponse response) throws IOException {
|
|
|
- File tempFolder = this.genTempFolder(genBasicIdParam, response, true);
|
|
|
+ GenBasic genBasic = this.queryEntity(genBasicIdParam.getId());
|
|
|
+ Pair<String, String> idAndComponentPath = sysMenuApi.addForGenMenu(genBasic.getMenuPid(),genBasic.getBusName(), genBasic.getFrontModuleName(), genBasic.getBackendModuleName(),genBasic.getBackendModuleName()+":"+genBasic.getBusName()+":", genBasic.getFunctionName());
|
|
|
+
|
|
|
+ File tempFolder = this.genTempFolder(genBasicIdParam,idAndComponentPath.getValue(), response, true);
|
|
|
if(tempFolder == null) {
|
|
|
CommonResponseUtil.renderError(response, "代码生成基础不存在,id值为:" + genBasicIdParam.getId());
|
|
|
return;
|
|
|
}
|
|
|
- GenBasic genBasic = this.queryEntity(genBasicIdParam.getId());
|
|
|
- Pair<String, String> idAndComponentId = sysMenuApi.addForGenMenu(genBasic.getMenuPid(),genBasic.getBusName(), genBasic.getFrontModuleName(), genBasic.getBackendModuleName(),genBasic.getBackendModuleName()+":"+genBasic.getBusName()+":", genBasic.getFunctionName());
|
|
|
// 压缩
|
|
|
File zip = ZipUtil.zip(tempFolder);
|
|
|
// 压缩完毕删除临时目录
|
|
|
@@ -313,27 +314,26 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void execGenPro(GenBasicIdParam genBasicIdParam, HttpServletResponse response) throws IOException {
|
|
|
- File tempFolder = this.genTempFolder(genBasicIdParam, response, false);
|
|
|
- // 定义前端生成的目录
|
|
|
- String genProjectFrontendPath = System.getProperty("user.dir") + File.separator + GEN_PROJECT_FRONT_PLUGIN_KEY + File.separator + "src";
|
|
|
-
|
|
|
- if(!FileUtil.exist(genProjectFrontendPath)) {
|
|
|
- throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,String.format("前端代码生成位置:{%s}不存在,请检查位置", genProjectFrontendPath));
|
|
|
- }
|
|
|
-
|
|
|
- // 定义后端生成的目录
|
|
|
- String genProjectBackendPath = System.getProperty("user.dir") + File.separator + GEN_PROJECT_PLUGIN_BIZ_KEY + File.separator + "src" +
|
|
|
- File.separator + "main" + File.separator + "java";
|
|
|
-
|
|
|
- if(!FileUtil.exist(genProjectBackendPath)) {
|
|
|
- throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,String.format("后端代码生成位置:{%s}不存在,请检查位置", genProjectBackendPath));
|
|
|
- }
|
|
|
try {
|
|
|
GenBasic genBasic = this.queryEntity(genBasicIdParam.getId());
|
|
|
-
|
|
|
// 生成菜单
|
|
|
Pair<String, String> idAndComponentId = sysMenuApi.addForGenMenu(genBasic.getMenuPid(), genBasic.getBusName(),genBasic.getFrontModuleName(), genBasic.getBackendModuleName(), genBasic.getFunctionName(),genBasic.getBackendModuleName()+":"+genBasic.getBusName()+":");
|
|
|
|
|
|
+ File tempFolder = this.genTempFolder(genBasicIdParam, idAndComponentId.getValue(),response, false);
|
|
|
+ // 定义前端生成的目录
|
|
|
+ String genProjectFrontendPath = System.getProperty("user.dir") + File.separator + GEN_PROJECT_FRONT_PLUGIN_KEY + File.separator + "src";
|
|
|
+
|
|
|
+ if(!FileUtil.exist(genProjectFrontendPath)) {
|
|
|
+ throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,String.format("前端代码生成位置:{%s}不存在,请检查位置", genProjectFrontendPath));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 定义后端生成的目录
|
|
|
+ String genProjectBackendPath = System.getProperty("user.dir") + File.separator + GEN_PROJECT_PLUGIN_BIZ_KEY + File.separator + "src" +
|
|
|
+ File.separator + "main" + File.separator + "java";
|
|
|
+
|
|
|
+ if(!FileUtil.exist(genProjectBackendPath)) {
|
|
|
+ throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,String.format("后端代码生成位置:{%s}不存在,请检查位置", genProjectBackendPath));
|
|
|
+ }
|
|
|
//前端代码移动到前端
|
|
|
FileUtil.moveContent(FileUtil.file(tempFolder + File.separator + "frontend"), FileUtil.file(genProjectFrontendPath), true);
|
|
|
|
|
|
@@ -354,7 +354,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
* @author xuyuxiang yubaoshan
|
|
|
* @date 2022/10/28 21:36
|
|
|
*/
|
|
|
- private File genTempFolder(GenBasicIdParam genBasicIdParam, HttpServletResponse response, boolean isZip) throws IOException {
|
|
|
+ private File genTempFolder(GenBasicIdParam genBasicIdParam,String componentPath, HttpServletResponse response, boolean isZip) throws IOException {
|
|
|
GenBasic genBasic = this.getById(genBasicIdParam.getId());
|
|
|
if(ObjectUtil.isEmpty(genBasic)) {
|
|
|
// 如果是压缩包下载应该使用CommonResponseUtil渲染异常
|
|
|
@@ -365,7 +365,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,String.format("代码生成基础不存在,id值为:{%s}", genBasicIdParam.getId()));
|
|
|
}
|
|
|
}
|
|
|
- GenBasicPreviewResult genBasicPreviewResult = this.previewGen(genBasicIdParam);
|
|
|
+ GenBasicPreviewResult genBasicPreviewResult = this.previewGen(genBasicIdParam,componentPath);
|
|
|
// 先删除压缩包
|
|
|
FileUtil.del(FileUtil.getTmpDirPath() + File.separator + genBasic.getFunctionName() + ".zip");
|
|
|
// 生成临时目录
|
|
|
@@ -377,7 +377,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
// 生成前端代码到临时目录
|
|
|
genBasicPreviewResult.getGenBasicCodeFrontendResultList().forEach(genBasicCodeResult ->
|
|
|
FileUtil.writeUtf8String(genBasicCodeResult.getCodeFileContent(), FileUtil.file(tempFolder + File.separator
|
|
|
- + "frontend" + File.separator + File.separator+genBasicCodeResult.getCodeFileWithPathName())));
|
|
|
+ + "frontend" + File.separator +genBasicCodeResult.getCodeFileWithPathName())));
|
|
|
// 生成后端代码到临时目录
|
|
|
genBasicPreviewResult.getGenBasicCodeBackendResultList().forEach(genBasicCodeResult ->
|
|
|
FileUtil.writeUtf8String(genBasicCodeResult.getCodeFileContent(), FileUtil.file(tempFolder + File.separator
|
|
|
@@ -386,7 +386,7 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public GenBasicPreviewResult previewGen(GenBasicIdParam genBasicIdParam) {
|
|
|
+ public GenBasicPreviewResult previewGen(GenBasicIdParam genBasicIdParam, String componentPath) {
|
|
|
GenBasic genBasic = this.queryEntity(genBasicIdParam.getId());
|
|
|
JSONObject bindingJsonObject = this.getBindingJsonObject(genBasic);
|
|
|
GenBasicPreviewResult genBasicPreviewResult = new GenBasicPreviewResult();
|
|
|
@@ -429,7 +429,11 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
genBasicCodeFrontResult.setCodeFileWithPathName(genFrontBasicPath + File.separator +fileTemplatePath +File.separator+genBasic.getFrontModuleName()+ File.separator + resultName);
|
|
|
} else {
|
|
|
genBasicCodeFrontResult.setCodeFileName(resultName);
|
|
|
- genBasicCodeFrontResult.setCodeFileWithPathName(genFrontBasicPath + File.separator + fileTemplatePath+File.separator+genBasic.getFrontModuleName() + File.separator + genBasic.getBusName() + File.separator + resultName);
|
|
|
+ if (StrUtil.isNotEmpty(componentPath)) {
|
|
|
+ genBasicCodeFrontResult.setCodeFileWithPathName(genFrontBasicPath + File.separator + fileTemplatePath+File.separator+componentPath + File.separator + resultName);
|
|
|
+ }else {
|
|
|
+ genBasicCodeFrontResult.setCodeFileWithPathName(genFrontBasicPath + File.separator + fileTemplatePath+File.separator+genBasic.getFrontModuleName() + File.separator + genBasic.getBusName() + File.separator + resultName);
|
|
|
+ }
|
|
|
}
|
|
|
genBasicCodeFrontResult.setCodeFileContent(templateFront.render());
|
|
|
genBasicCodeFrontendResultList.add(genBasicCodeFrontResult);
|
|
|
@@ -634,11 +638,12 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
private void addTableColumns(GenBasic genBasic){
|
|
|
if(StrUtil.isNotEmpty(genBasic.getId())){
|
|
|
genConfigMapper.delete(new LambdaQueryWrapper<GenConfig>()
|
|
|
- .eq(GenConfig::getBasicId,genBasic.getId()));
|
|
|
+ .eq(GenConfig::getBasicId,genBasic.getId()));
|
|
|
}
|
|
|
GenBasicTableColumnParam tableColumnParam = new GenBasicTableColumnParam();
|
|
|
tableColumnParam.setTableName(genBasic.getDbTable());
|
|
|
List<GenBasicTableColumnResult> resultList = this.tableColumns(tableColumnParam);
|
|
|
+ List<GenConfig> configs = new ArrayList<>();
|
|
|
for (int i = 0; i < resultList.size(); i++) {
|
|
|
GenBasicTableColumnResult item = resultList.get(i);
|
|
|
GenConfigAddParam addParam = new GenConfigAddParam();
|
|
|
@@ -675,7 +680,8 @@ public class GenBasicServiceImpl extends ServiceImpl<GenBasicMapper, GenBasic> i
|
|
|
addParam.setQueryWhether(GenYesNoEnum.N.getValue());
|
|
|
addParam.setSortCode(i);
|
|
|
GenConfig genConfig = BeanUtil.toBean(addParam, GenConfig.class);
|
|
|
- genConfigService.save(genConfig);
|
|
|
+ configs.add(genConfig);
|
|
|
}
|
|
|
+ genConfigService.saveBatch(configs);
|
|
|
}
|
|
|
}
|