diff --git a/jwtech-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java b/jwtech-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java index 60a6df43..213db332 100644 --- a/jwtech-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java +++ b/jwtech-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java @@ -39,6 +39,7 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.view.RedirectView; @@ -246,7 +247,6 @@ public class SysLoginController extends BaseController { // QueryWrapper menuQueryWrapper = Wrappers.query(); // menuQueryWrapper.in("perms",functionPerms); // List menus = sysMenuService.list(menuQueryWrapper); - WaterResult result = waterRequestUtil.getUserResource(token); List singleMenus = JSONObject.parseArray(result.getData(), SingleMenu.class); List singleAllMenus = new ArrayList<>(); @@ -283,22 +283,28 @@ public class SysLoginController extends BaseController { } @Override + @Transactional public void run() { WaterResult waterResult = waterRequestUtil.authUser(token); String data = waterResult.getData(); JSONObject jsonObject = JSONObject.parseObject(data); - List functionPerms = jsonObject.getJSONArray("functionPerms").toJavaList(String.class); + List functionPerms = jsonObject.getJSONArray("functionPerms").toJavaList(String.class); List roles = jsonObject.getJSONArray("roles").toJavaList(String.class); QueryWrapper query = Wrappers.query(); - query.in("role_key",roles); + query.in("role_key", roles); List roleList = sysRoleService.list(query); - for (SysRole sysRole : roleList) { - for (SysMenu menu : menus) { - SysRoleMenu sysRoleMenu = new SysRoleMenu(); - sysRoleMenu.preInsert(); - sysRoleMenu.setRoleId(sysRole.getId()); - sysRoleMenu.setMenuId(menu.getId()); - sysRoleMenuService.save(sysRoleMenu); + if (!roleList.isEmpty()) { + QueryWrapper sysRoleMenuQueryWrapper = Wrappers.query(); + query.in("role_id", roleList.stream().map(role -> role.getId()).collect(Collectors.toList())); + sysRoleMenuService.remove(sysRoleMenuQueryWrapper); + for (SysRole sysRole : roleList) { + for (SysMenu menu : menus) { + SysRoleMenu sysRoleMenu = new SysRoleMenu(); + sysRoleMenu.preInsert(); + sysRoleMenu.setRoleId(sysRole.getId()); + sysRoleMenu.setMenuId(menu.getId()); + sysRoleMenuService.save(sysRoleMenu); + } } } } diff --git a/jwtech-admin/src/main/resources/application-test.yml b/jwtech-admin/src/main/resources/application-test.yml index 752ef17e..2c0c5f38 100644 --- a/jwtech-admin/src/main/resources/application-test.yml +++ b/jwtech-admin/src/main/resources/application-test.yml @@ -228,7 +228,8 @@ ignored: /system/user/exportExcel, /system/kaptcha/render, /test/**, - /signOnLogin + /signOnLogin, + /callBack/notify # http请求连接池 http: pool: @@ -257,8 +258,8 @@ water: systemCode: sgc-jg systemName: 水工程应用-水利工程建设管理模块 #请求测试环境网关 - url: http://19.25.35.204:31190/data_center/gateway/api -# url: http://119.25.40.10:31190/data_center/gateway/portal +# url: http://19.25.35.204:31190/data_center/gateway/api + url: http://19.25.40.10:31190/data_center/gateway/portal #应用token paasToken: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzeXN0ZW1JZCI6IjE3MzI3MDMxMTE1NDc0ODIxMTQifQ.4oiD3WBwrxT5z8goAvA9O88vsYVxwaE-8vyQmWl7xbg #应用id