|
@@ -7,18 +7,22 @@ import java.io.StringWriter;
|
|
|
import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.concurrent.locks.Condition;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.zip.ZipEntry;
|
|
|
import java.util.zip.ZipOutputStream;
|
|
|
|
|
|
import com.boman.common.core.constant.UserConstants;
|
|
|
+import com.boman.common.core.text.Convert;
|
|
|
import com.boman.common.core.utils.DateUtils;
|
|
|
import com.boman.common.core.web.domain.AjaxResult;
|
|
|
import com.boman.common.log.enums.BusinessType;
|
|
|
+import com.boman.gen.domain.RoleEnum;
|
|
|
import com.boman.gen.domain.TableSql;
|
|
|
|
|
|
import com.boman.system.api.RemoteSysMenuService;
|
|
|
import com.boman.system.api.domain.SysMenu;
|
|
|
+import io.swagger.models.auth.In;
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
import org.apache.velocity.Template;
|
|
|
import org.apache.velocity.VelocityContext;
|
|
@@ -88,10 +92,10 @@ public class GenTableServiceImpl implements IGenTableService {
|
|
|
if (tablePrimaryKey != null && tablePrimaryKey.equals(columnId)) {
|
|
|
genTable.setTablePrimaryKeyName(column.getColumnName());
|
|
|
index++;
|
|
|
- }else if(akColumn != null && akColumn.equals(columnId)){
|
|
|
+ } else if (akColumn != null && akColumn.equals(columnId)) {
|
|
|
genTable.setAkColumnName(column.getColumnName());
|
|
|
index++;
|
|
|
- }else if(dkColumn != null && dkColumn.equals(columnId)){
|
|
|
+ } else if (dkColumn != null && dkColumn.equals(columnId)) {
|
|
|
genTable.setDkColumnName(column.getColumnName());
|
|
|
index++;
|
|
|
}
|
|
@@ -174,6 +178,7 @@ public class GenTableServiceImpl implements IGenTableService {
|
|
|
public void updateGenTable(GenTable genTable) {
|
|
|
String options = JSON.toJSONString(genTable.getParams());
|
|
|
genTable.setOptions(options);
|
|
|
+ isMenu(genTable, BusinessType.UPDATE);
|
|
|
int row = genTableMapper.updateGenTable(genTable);
|
|
|
if (row > 0) {
|
|
|
for (GenTableColumn cenTableColumn : genTable.getColumns()) {
|
|
@@ -436,7 +441,7 @@ public class GenTableServiceImpl implements IGenTableService {
|
|
|
genTableMapper.updateGenTable(genTable);
|
|
|
}
|
|
|
//判断是否是菜单
|
|
|
- isMenu(genTable);
|
|
|
+ isMenu(genTable, BusinessType.INSERT);
|
|
|
//新建表时新增建表语句
|
|
|
TableSql tableSql = new TableSql();
|
|
|
tableSql.setTableId(genTable.getTableId());
|
|
@@ -526,35 +531,53 @@ public class GenTableServiceImpl implements IGenTableService {
|
|
|
*
|
|
|
* @param genTable
|
|
|
*/
|
|
|
- public void isMenu(GenTable genTable) {
|
|
|
+ public void isMenu(GenTable genTable, BusinessType type) {
|
|
|
+
|
|
|
+ if (type.equals(BusinessType.UPDATE)) {
|
|
|
+ //先查询之前是否是菜单
|
|
|
+ GenTable genTableOld = genTableMapper.selectGenTableById(genTable.getTableId());
|
|
|
+ if (UserConstants.ISMENU.equals(genTableOld.getIsMenu())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
String isMenu = genTable.getIsMenu();
|
|
|
if (StringUtils.isNotBlank(isMenu) && isMenu.equals(UserConstants.ISMENU)) {
|
|
|
- //先生成主菜单
|
|
|
+ //生成主菜单
|
|
|
SysMenu sysMenu = new SysMenu();
|
|
|
//表描述当菜单名称
|
|
|
sysMenu.setMenuName(genTable.getTableComment());
|
|
|
- sysMenu.setParentId(0L);
|
|
|
- sysMenu.setOrderNum("1");
|
|
|
- //路由地址
|
|
|
- sysMenu.setPath(genTable.getBusinessName());
|
|
|
- sysMenu.setComponent(genTable.getModuleName() + "/" + genTable.getTableComment() + "/index");
|
|
|
+ sysMenu.setParentId(2007L);
|
|
|
+ //路由地址(使用表名称)
|
|
|
+ sysMenu.setPath(genTable.getTableName());
|
|
|
+ //组件
|
|
|
+ sysMenu.setComponent("system/surface/index ");
|
|
|
sysMenu.setMenuType("C");
|
|
|
+ sysMenu.setOrderNum("0");
|
|
|
sysMenu.setIcon("system");
|
|
|
sysMenu.setCreateBy(SecurityUtils.getUsername());
|
|
|
sysMenu.setSysTableName(genTable.getTableName());
|
|
|
sysMenu.setStatus("1");
|
|
|
- remoteSysMenuService.add(sysMenu);
|
|
|
- //是菜单,生成crud按钮
|
|
|
- for (int i = 0; i < Constants.MENU_NAME.length; i++) {
|
|
|
- String[] menuName = Constants.MENU_NAME;
|
|
|
- SysMenu menu = new SysMenu();
|
|
|
- menu.setParentId(sysMenu.getId());
|
|
|
- menu.setMenuName(menuName[i]);
|
|
|
- menu.setOrderNum(String.valueOf(i + 1));
|
|
|
- menu.setMenuType("F");
|
|
|
- menu.setIcon("#");
|
|
|
- sysMenu.setCreateBy(SecurityUtils.getUsername());
|
|
|
- remoteSysMenuService.add(menu);
|
|
|
+ AjaxResult add = remoteSysMenuService.add(sysMenu);
|
|
|
+ Long parentId = 0L;
|
|
|
+ if (add.size() > 2) {
|
|
|
+ String id = String.valueOf(add.get("data")) ;
|
|
|
+ parentId = Long.valueOf(id);
|
|
|
+ }
|
|
|
+ //获取菜单id
|
|
|
+ String menuRole = genTable.getMenuRole();
|
|
|
+ String[] strings = Convert.toStrArray("",menuRole);
|
|
|
+ if (strings.length > 0) {
|
|
|
+ for (int i = 0; i < strings.length; i++) {
|
|
|
+ SysMenu menu = new SysMenu();
|
|
|
+ menu.setParentId(parentId);
|
|
|
+ menu.setMenuName(RoleEnum.getValue(strings[i]));
|
|
|
+ menu.setOrderNum(String.valueOf(i + 1));
|
|
|
+ menu.setMenuType("F");
|
|
|
+ menu.setIcon("#");
|
|
|
+ sysMenu.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ remoteSysMenuService.add(menu);
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|