Skip to content

Commit

Permalink
Merge pull request #16 from hiparker/development
Browse files Browse the repository at this point in the history
fix: 修复若干bug
  • Loading branch information
hiparker committed Apr 29, 2022
2 parents 209ad2e + 7d322db commit 0dfe674
Show file tree
Hide file tree
Showing 4 changed files with 73 additions and 9 deletions.
42 changes: 42 additions & 0 deletions db-file/升级SQL/1.6.3 =》1.6.4.sql
@@ -0,0 +1,42 @@
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

update sys_menu
set parent_ids = CONCAT_WS(',', 0, id)
where parent_id = 0;

update sys_menu pp
left join sys_menu p on p.id = pp.parent_id
set
pp.parent_ids = CONCAT_WS(',', p.parent_ids, pp.id)
where p.parent_id = 0;

update sys_menu ppp
left join sys_menu pp on pp.id = ppp.parent_id
left join sys_menu p on p.id = pp.parent_id
set
ppp.parent_ids = CONCAT_WS(',', pp.parent_ids, ppp.id)
where p.parent_id = 0;


update sys_menu pppp
left join sys_menu ppp on ppp.id = pppp.parent_id
left join sys_menu pp on pp.id = ppp.parent_id
left join sys_menu p on p.id = pp.parent_id
set
pppp.parent_ids = CONCAT_WS(',', ppp.parent_ids, pppp.id)
where p.parent_id = 0;



update sys_menu ppppp
left join sys_menu pppp on pppp.id = ppppp.parent_id
left join sys_menu ppp on ppp.id = pppp.parent_id
left join sys_menu pp on pp.id = ppp.parent_id
left join sys_menu p on p.id = pp.parent_id
set
ppppp.parent_ids = CONCAT_WS(',', pppp.parent_ids, ppppp.id)
where p.parent_id = 0;


SET FOREIGN_KEY_CHECKS = 1;
Expand Up @@ -20,6 +20,7 @@
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


Expand Down Expand Up @@ -51,10 +52,9 @@ public interface GenLogsApi {

/**
* 代码生成 修改
* @param model 模型
*/
@GetMapping("/create")
void create(GenLogsModel model, HttpServletResponse response);
void create(HttpServletRequest request, HttpServletResponse response);

/**
* 生成菜单
Expand Down
Expand Up @@ -18,6 +18,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.opsli.api.base.result.ResultVo;
import org.opsli.common.annotation.ApiRestController;
Expand All @@ -28,7 +29,10 @@
import org.opsli.modulars.generator.logs.service.IGenLogsService;
import org.opsli.modulars.generator.logs.wrapper.GenLogsModel;
import org.opsli.plugins.generator.utils.GeneratorHandleUtil;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


Expand Down Expand Up @@ -57,13 +61,20 @@ public ResultVo<GenLogsModel> getByTableId(String tableId) {

/**
* 代码生成 修改
* @param model 模型
*/
@ApiOperation(value = "代码生成", notes = "代码生成")
@RequiresPermissions("dev_generator_create")
@EnableLog
@Override
public void create(GenLogsModel model, HttpServletResponse response) {
public void create(HttpServletRequest request, HttpServletResponse response) {
// request 对象属性
GenLogsModel model = new GenLogsModel();
try {
BeanUtils.populate(model, request.getParameterMap());
}catch (Exception e){
log.error(e.getMessage(), e);
}

// 判断代码生成器 是否启用
GeneratorHandleUtil.judgeGeneratorEnable(super.globalProperties);

Expand Down
Expand Up @@ -101,6 +101,8 @@ public MenuModel insert(MenuModel model) {
model.setParentId(MenuConstants.GEN_ID);
}



// 容错处理
// 如果根结点为0 且 为菜单类型 判断首位是否为 / 如果没有则自动加 /
if(MenuConstants.GEN_ID.equals(model.getParentId())){
Expand All @@ -113,7 +115,15 @@ public MenuModel insert(MenuModel model) {
// 刷新缓存
clearCache(Collections.singletonList(model));

return super.insert(model);
// 新增并更新 parent_ids
MenuModel menuModel = super.insert(model);
MenuModel newParentModel = getParentMenuModel(menuModel.getParentId());
String newParentIds = unWrap(
StrUtil.join(",",
newParentModel.getParentIds(), menuModel.getId()), ',');
menuModel.setParentIds(newParentIds);
menuModel.setVersion(null);
return super.update(menuModel);
}

@Transactional(rollbackFor = Exception.class)
Expand Down Expand Up @@ -148,11 +158,11 @@ public MenuModel update(MenuModel model) {
// 去除 两边的[,] 然后拼接 parentIds
String ordParentIds = unWrap(
StrUtil.join(",",
oldParentModel.getParentIds(), oldParentModel.getId(), sourceModel.getId()), ',');
oldParentModel.getParentIds(), sourceModel.getId()), ',');

String newParentIds = unWrap(
StrUtil.join(",",
newParentModel.getParentIds(), newParentModel.getId(), model.getId()), ',');
newParentModel.getParentIds(), model.getId()), ',');

// 判断 上级是否发生变更 如果发生变更 则当前菜单 继承上级菜单的 label
if(!sourceModel.getParentId().equals(model.getParentId())){
Expand All @@ -175,6 +185,7 @@ public MenuModel update(MenuModel model) {
// 内部修改 防止版本行锁出现问题
sysMenu.setVersion(null);
}

this.saveOrUpdateBatch(menuList);
}

Expand Down Expand Up @@ -224,8 +235,8 @@ private MenuModel getParentMenuModel(String parentId) {
if(TreeBuildUtil.DEF_PARENT_ID.equals(parentId)){
parentModel = new MenuModel();
parentModel.setId(TreeBuildUtil.DEF_PARENT_ID);
parentModel.setParentId("");
parentModel.setParentIds("");
parentModel.setParentId(TreeBuildUtil.DEF_PARENT_ID);
parentModel.setParentIds(TreeBuildUtil.DEF_PARENT_ID);
parentModel.setLabel(DictType.MENU_LABEL_SYSTEM.getValue());
}else {
parentModel = this.get(parentId);
Expand Down

0 comments on commit 0dfe674

Please sign in to comment.