【更新】补充新版本升级内容

This commit is contained in:
小诺 2021-08-10 00:06:23 +08:00 committed by 俞宝山
parent dab4b06dfc
commit 20f71f23f7
9 changed files with 211 additions and 17 deletions

View File

@ -79,6 +79,40 @@
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :md="12" :sm="24">
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="所属应用"
has-feedback
>
<a-select style="width: 100%" placeholder="请选择应用分类" v-decorator="['appCode', {rules: [{ required: true, message: '请选择应用分类!' }]}]" >
<a-select-option v-for="(item,index) in appData" :key="index" :value="item.code" @click="changeApplication(item.code)">{{ item.name }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="父级菜单"
has-feedback
>
<a-tree-select
v-decorator="['menuPid', {rules: [{ required: true, message: '请选择父级菜单!' }]}]"
style="width: 100%"
:dropdownStyle="{ maxHeight: '300px', overflow: 'auto' }"
:treeData="menuTreeData"
placeholder="请选择父级菜单"
treeDefaultExpandAll
>
<span slot="title" slot-scope="{ id }">{{ id }}
</span>
</a-tree-select>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :md="12" :sm="24">
<a-form-item
@ -108,6 +142,8 @@
<script>
import { codeGenerateInformationList, codeGenerateAdd } from '@/api/modular/gen/codeGenerateManage'
import { getAppList } from '@/api/modular/system/appManage'
import { getMenuTree } from '@/api/modular/system/menuManage'
export default {
data () {
return {
@ -127,6 +163,8 @@
tablePrefixValue: 'N',
tableNameValue: '',
packageNameShow: true,
appData: [],
menuTreeData: [],
form: this.$form.createForm(this)
}
},
@ -137,6 +175,7 @@
this.codeGenerateInformationList()
this.dataTypeItem()
this.selectedByDefault()
this.getSysApplist()
},
/**
* 默认选中项
@ -145,6 +184,7 @@
this.form.getFieldDecorator('packageName', { initialValue: 'vip.xiaonuo' })
this.form.getFieldDecorator('tablePrefix', { valuePropName: 'checked', initialValue: 'N' })
this.form.getFieldDecorator('generateType', { valuePropName: 'checked', initialValue: '1' })
this.tablePrefixValue = 'N'
},
/**
* 获得所有数据库的表
@ -154,6 +194,38 @@
this.tableNameData = res.data
})
},
/**
* 获取应用列表
*/
getSysApplist () {
return getAppList().then((res) => {
if (res.success) {
this.appData = res.data
} else {
this.$message.warning(res.message)
}
})
},
/**
* 通过应用获取菜单
*/
changeApplication (value) {
this.form.resetFields(`menuPid`, [])
getMenuTree({ 'application': value }).then((res) => {
if (res.success) {
this.menuTreeData = [{
'id': '-1',
'parentId': '0',
'title': '顶级',
'value': '0',
'pid': '0',
'children': res.data
}]
} else {
this.$message.warning(res.message)
}
})
},
/**
* 获取字典数据
*/

View File

@ -80,6 +80,40 @@
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :md="12" :sm="24">
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="所属应用"
has-feedback
>
<a-select style="width: 100%" placeholder="请选择应用分类" v-decorator="['appCode', {rules: [{ required: true, message: '请选择应用分类!' }]}]" >
<a-select-option v-for="(item,index) in appData" :key="index" :value="item.code" @click="changeApplication(item.code)">{{ item.name }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="12" :sm="24">
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
label="父级菜单"
has-feedback
>
<a-tree-select
v-decorator="['menuPid', {rules: [{ required: true, message: '请选择父级菜单!' }]}]"
style="width: 100%"
:dropdownStyle="{ maxHeight: '300px', overflow: 'auto' }"
:treeData="menuTreeData"
placeholder="请选择父级菜单"
treeDefaultExpandAll
>
<span slot="title" slot-scope="{ id }">{{ id }}
</span>
</a-tree-select>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :md="12" :sm="24">
<a-form-item
@ -109,6 +143,8 @@
<script>
import { codeGenerateInformationList, codeGenerateEdit } from '@/api/modular/gen/codeGenerateManage'
import { getAppList } from '@/api/modular/system/appManage'
import { getMenuTree } from '@/api/modular/system/menuManage'
export default {
data () {
return {
@ -128,6 +164,8 @@
tablePrefixValue: 'N',
tableNameValue: '',
packageNameShow: true,
appData: [],
menuTreeData: [],
form: this.$form.createForm(this)
}
},
@ -137,6 +175,7 @@
this.visible = true
this.codeGenerateInformationList()
this.dataTypeItem()
this.getSysApplist()
setTimeout(() => {
this.form.setFieldsValue(
{
@ -148,10 +187,13 @@
busName: record.busName,
generateType: record.generateType,
authorName: record.authorName,
packageName: record.packageName
packageName: record.packageName,
appCode: record.appCode,
menuPid: record.menuPid
}
)
}, 100)
this.changeApplication(record.appCode)
this.tableNameValue = record.tableName
this.tablePrefixValue = record.tablePrefix
},
@ -163,6 +205,38 @@
this.tableNameData = res.data
})
},
/**
* 获取应用列表
*/
getSysApplist () {
return getAppList().then((res) => {
if (res.success) {
this.appData = res.data
} else {
this.$message.warning(res.message)
}
})
},
/**
* 通过应用获取菜单
*/
changeApplication (value) {
this.form.resetFields(`menuPid`, [])
getMenuTree({ 'application': value }).then((res) => {
if (res.success) {
this.menuTreeData = [{
'id': '-1',
'parentId': '0',
'title': '顶级',
'value': '0',
'pid': '0',
'children': res.data
}]
} else {
this.$message.warning(res.message)
}
})
},
/**
* 获取字典数据
*/

View File

@ -86,6 +86,10 @@ public class XnVelocityContext {
});
velocityContext.put("queryWhetherList", codeGenerateConfigList);
velocityContext.put("appCode", xnCodeGenParam.getAppCode());
velocityContext.put("menuPids", xnCodeGenParam.getMenuPids() + "[" + xnCodeGenParam.getMenuPid() + "],");
// sql中id的创建
List<Long> idList = new ArrayList<>();
for (int a = 0; a <= 7; a++) {

View File

@ -93,4 +93,19 @@ public class XnCodeGenParam {
*/
private String busName;
/**
* 所属应用
*/
private String appCode;
/**
* 菜单上级
*/
private String menuPid;
/**
* 菜单上级父ids
*/
private String menuPids;
}

View File

@ -86,4 +86,15 @@ public class CodeGenerate extends BaseEntity {
* 功能名数据库表名称
*/
private String tableComment;
/**
* 所属应用
*/
private String appCode;
/**
* 菜单上级
*/
private String menuPid;
}

View File

@ -96,4 +96,16 @@ public class CodeGenerateParam extends BaseParam {
@NotBlank(message = "功能名不能为空请检查tableComment参数", groups = {BaseParam.add.class, edit.class})
private String tableComment;
/**
* 所属应用
*/
@NotBlank(message = "所属应用不能为空请检查appCode参数", groups = {BaseParam.add.class, edit.class})
private String appCode;
/**
* 菜单上级
*/
@NotBlank(message = "菜单上级不能为空请检查menuPid参数", groups = {BaseParam.add.class, edit.class})
private String menuPid;
}

View File

@ -28,6 +28,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
import org.apache.commons.io.IOUtils;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
@ -57,6 +58,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@ -80,6 +82,8 @@ public class CodeGenerateServiceImpl extends ServiceImpl<CodeGenerateMapper, Cod
*/
private static String ENCODED = "UTF-8";
private static String SELECT_SYS_MENU_SQL = "select * from sys_menu where id = {0}";
/**
* 转换模板名称所需变量
*/
@ -234,6 +238,8 @@ public class CodeGenerateServiceImpl extends ServiceImpl<CodeGenerateMapper, Cod
param.setFunctionName(codeGenerate.getTableComment());
param.setConfigList(configList);
param.setCreateTimeString(StringDateTool.getStringDate());
Map<String, Object> map = SqlRunner.db().selectOne(SELECT_SYS_MENU_SQL, codeGenerate.getMenuPid());
param.setMenuPids(map.get("pids").toString());
return param;
}

View File

@ -4,35 +4,35 @@
#foreach ($id in $sqlMenuId)
#if($foreach.count == 1)
INSERT INTO `sys_menu` VALUES
('$id', '0', '[0],', '${functionName}', '${busName}_index', '1', null, '/${className}', 'main/${busName}/index', null, 'system_tool', '1', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
('$id', '0', '${menuPids}', '${functionName}', '${busName}_index', '1', null, '/${className}', 'main/${busName}/index', null, '${appCode}', '1', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
#set ($pid=$id)
#elseif($foreach.count == 2)
INSERT INTO `sys_menu` VALUES
('$id', '$pid', '[0],[$pid],', '${functionName}查询', '${busName}_index_page', '2', null, null, null, '${className}:page', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
('$id', '$pid', '${menuPids}[$pid],', '${functionName}查询', '${busName}_index_page', '2', null, null, null, '${className}:page', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
#elseif($foreach.count == 3)
INSERT INTO `sys_menu` VALUES
('$id', '$pid', '[0],[$pid],', '${functionName}新增', '${busName}_index_add', '2', null, null, null, '${className}:add', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
('$id', '$pid', '${menuPids}[$pid],', '${functionName}新增', '${busName}_index_add', '2', null, null, null, '${className}:add', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
#elseif($foreach.count == 4)
INSERT INTO `sys_menu` VALUES
('$id', '$pid', '[0],[$pid],', '${functionName}编辑', '${busName}_index_edit', '2', null, null, null, '${className}:edit', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
('$id', '$pid', '${menuPids}[$pid],', '${functionName}编辑', '${busName}_index_edit', '2', null, null, null, '${className}:edit', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
#elseif($foreach.count == 5)
INSERT INTO `sys_menu` VALUES
('$id', '$pid', '[0],[$pid],', '${functionName}删除', '${busName}_index_delete', '2', null, null, null, '${className}:delete', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
('$id', '$pid', '${menuPids}[$pid],', '${functionName}删除', '${busName}_index_delete', '2', null, null, null, '${className}:delete', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
#elseif($foreach.count == 6)
INSERT INTO `sys_menu` VALUES
('$id', '$pid', '[0],[$pid],', '${functionName}查看', '${busName}_index_detail', '2', null, null, null, '${className}:detail', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
('$id', '$pid', '${menuPids}[$pid],', '${functionName}查看', '${busName}_index_detail', '2', null, null, null, '${className}:detail', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
#elseif($foreach.count == 7)
INSERT INTO `sys_menu` VALUES
('$id', '$pid', '[0],[$pid],', '${functionName}列表', '${busName}_index_list', '2', null, null, null, '${className}:list', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
('$id', '$pid', '${menuPids}[$pid],', '${functionName}列表', '${busName}_index_list', '2', null, null, null, '${className}:list', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
#elseif($foreach.count == 8)
INSERT INTO `sys_menu` VALUES
('$id', '$pid', '[0],[$pid],', '${functionName}导出', '${busName}_index_export', '2', null, null, null, '${className}:export', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
('$id', '$pid', '${menuPids}[$pid],', '${functionName}导出', '${busName}_index_export', '2', null, null, null, '${className}:export', '${appCode}', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
#end
#end

View File

@ -4,35 +4,35 @@
#foreach ($id in $sqlMenuId)
#if($foreach.count == 1)
INSERT INTO "sys_menu" VALUES
("$id", "0", "[0],", "${functionName}", "${busName}_index", "1", null, "/${className}", "main/${busName}/index", null, "system_tool", "1", "Y", null, null, "1", "100", null, "0", null, null, null, null);
("$id", "0", "${menuPids}", "${functionName}", "${busName}_index", "1", null, "/${className}", "main/${busName}/index", null, "${appCode}", "1", "Y", null, null, "1", "100", null, "0", null, null, null, null);
#set ($pid=$id)
#elseif($foreach.count == 2)
INSERT INTO `sys_menu` VALUES
("$id", "$pid", "[0],[$pid],", "${functionName}查询", "${busName}_index_page", "2", null, null, null, "${className}:page", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
("$id", "$pid", "${menuPids}[$pid],", "${functionName}查询", "${busName}_index_page", "2", null, null, null, "${className}:page", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
#elseif($foreach.count == 3)
INSERT INTO `sys_menu` VALUES
("$id", "$pid", "[0],[$pid],", "${functionName}新增", "${busName}_index_add", "2", null, null, null, "${className}:add", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
("$id", "$pid", "${menuPids}[$pid],", "${functionName}新增", "${busName}_index_add", "2", null, null, null, "${className}:add", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
#elseif($foreach.count == 4)
INSERT INTO `sys_menu` VALUES
("$id", "$pid", "[0],[$pid],", "${functionName}编辑", "${busName}_index_edit", "2", null, null, null, "${className}:edit", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
("$id", "$pid", "${menuPids}[$pid],", "${functionName}编辑", "${busName}_index_edit", "2", null, null, null, "${className}:edit", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
#elseif($foreach.count == 5)
INSERT INTO `sys_menu` VALUES
("$id", "$pid", "[0],[$pid],", "${functionName}删除", "${busName}_index_delete", "2", null, null, null, "${className}:delete", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
("$id", "$pid", "${menuPids}[$pid],", "${functionName}删除", "${busName}_index_delete", "2", null, null, null, "${className}:delete", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
#elseif($foreach.count == 6)
INSERT INTO `sys_menu` VALUES
("$id", "$pid", "[0],[$pid],", "${functionName}查看", "${busName}_index_detail", "2", null, null, null, "${className}:detail", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
("$id", "$pid", "${menuPids}[$pid],", "${functionName}查看", "${busName}_index_detail", "2", null, null, null, "${className}:detail", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
#elseif($foreach.count == 7)
INSERT INTO "sys_menu" VALUES
("$id", "$pid", "[0],[$pid],", "${functionName}列表", "${busName}_index_list", "2", null, null, null, "${className}:list", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
("$id", "$pid", "${menuPids}[$pid],", "${functionName}列表", "${busName}_index_list", "2", null, null, null, "${className}:list", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
#elseif($foreach.count == 7)
INSERT INTO "sys_menu" VALUES
("$id", "$pid", "[0],[$pid],", "${functionName}导出", "${busName}_index_export", "2", null, null, null, "${className}:export", "system_tool", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
("$id", "$pid", "${menuPids}[$pid],", "${functionName}导出", "${busName}_index_export", "2", null, null, null, "${className}:export", "${appCode}", "0", "Y", null, null, "1", "100", null, "0", null, null, null, null);
#end
#end