Browse Source

shujutongbu

dev_kxc
ljf 1 year ago
parent
commit
dae7092f0d
  1. 2
      jwtech-admin/src/main/java/com/kms/config/WaterRequestUtil.java
  2. 1
      jwtech-admin/src/main/java/com/kms/config/scheduled/WaterScheduled.java
  3. 1
      jwtech-admin/src/main/java/com/kms/web/controller/system/CmsCallBackController.java
  4. 97
      jwtech-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java
  5. 2
      jwtech-admin/src/main/java/com/kms/web/controller/tool/TestController.java

2
jwtech-admin/src/main/java/com/kms/config/WaterRequestUtil.java

@ -289,7 +289,7 @@ public class WaterRequestUtil {
if(waterResult==null){
throw new CustomException("请求异常");
}
if(waterResult.getCode()!=200&&waterResult.getSuccess()){
if(waterResult.getCode()!=200||!waterResult.getSuccess()){
throw new CustomException("请求失败,原因:"+waterResult.getMessage());
}
}

1
jwtech-admin/src/main/java/com/kms/config/scheduled/WaterScheduled.java

@ -72,6 +72,7 @@ public class WaterScheduled {
user.setId(IdUtils.fastSimpleUUID());
user.setIsPcUser("0");
user.setDelFlag("0");
user.setUserType("04");
user.setMd5(MD5Util.MD5Encode(singleUser.toString(), "utf-8"));
}else {
String md = MD5Util.MD5Encode(singleUser.toString(), "utf-8");

1
jwtech-admin/src/main/java/com/kms/web/controller/system/CmsCallBackController.java

@ -80,6 +80,7 @@ public class CmsCallBackController {
user.setId(IdUtils.fastSimpleUUID());
user.setIsPcUser("0");
user.setDelFlag("0");
user.setUserType("04");
user.setPhonenumber(singleUser.getPhone());
user.setNickName(singleUser.getName());
user.setUserName(singleUser.getUsername());

97
jwtech-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java

@ -55,10 +55,7 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -222,7 +219,7 @@ public class SysLoginController extends BaseController {
}
AsyncManager.me().execute(AsyncFactory.recordLogininfor(sysUser.getUserName(), Constants.LOGIN_SUCCESS, "登录成功"));
StpUtil.login(sysUser.getId());
StpUtil.getSession().set("jianwei-user",user);
StpUtil.getSession().set("jianwei-user",sysUser);
String tokenValue = StpUtil.getTokenValue();
ajax.put("token",tokenValue);
ajax.put("authorization",token);
@ -287,21 +284,7 @@ public class SysLoginController extends BaseController {
WaterResult result = waterRequestUtil.getUserResource(token);
List<SingleMenu> singleMenus = JSONObject.parseArray(result.getData(), SingleMenu.class);
List<SingleMenu> singleAllMenus = new ArrayList<>();
if(CollectionUtil.isNotEmpty(singleMenus)) {
for (SingleMenu singleMenu : singleMenus) { //剔除掉不符合的
if (singleMenu.getVisible().equals("1") && singleMenu.getStatus().equals("1")) {
singleAllMenus.add(singleMenu);
}
if (!singleMenu.getChildren().isEmpty()) {
List<SingleMenu> children = singleMenu.getChildren();
for (SingleMenu child : children) {
if (singleMenu.getVisible().equals("1") && singleMenu.getStatus().equals("1")) {
singleAllMenus.add(child);
}
}
}
}
}
setChildren(singleMenus,singleAllMenus);
List<String> collect = singleAllMenus.stream().map(singleMenu -> singleMenu.getPermissionCode()).collect(Collectors.toList());
QueryWrapper<SysMenu> menuQueryWrapper = Wrappers.query();
menuQueryWrapper.in("perms",collect);
@ -311,32 +294,72 @@ public class SysLoginController extends BaseController {
JSONObject datajson = JSONObject.parseObject(data);
// List<String> functionPerms = datajson.getJSONArray("functionPerms").toJavaList(String.class);
List<String> roles = datajson.getJSONArray("roles").toJavaList(String.class);
QueryWrapper<SysRole> sysRoleQueryWrapper = Wrappers.query();
sysRoleQueryWrapper.in("role_key", roles);
List<SysRole> roleList = sysRoleService.list(sysRoleQueryWrapper);
if (CollectionUtil.isNotEmpty(roleList)) {
QueryWrapper<SysRoleMenu> sysRoleMenuQueryWrapper = Wrappers.query();
List<String> rids = roleList.stream().map(role -> role.getId()).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(rids)) {
sysRoleMenuQueryWrapper.in("role_id",rids);
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);
log.info("获取的权限有:"+roles);
if(CollectionUtil.isNotEmpty(roles)) {
QueryWrapper<SysRole> sysRoleQueryWrapper = Wrappers.query();
sysRoleQueryWrapper.in("role_key", roles);
List<SysRole> roleList = sysRoleService.list(sysRoleQueryWrapper);
if (CollectionUtil.isNotEmpty(roleList)) {
QueryWrapper<SysRoleMenu> sysRoleMenuQueryWrapper = Wrappers.query();
List<String> rids = roleList.stream().map(role -> role.getId()).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(rids)) {
sysRoleMenuQueryWrapper.in("role_id", rids);
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);
}
}
}
}
}catch (Exception e){
log.error("同步菜单权限失败:"+e.getMessage());
throw e;
}finally {
countDownLatch.countDown();
}
}
}
public static void setChildren(List<SingleMenu> singleMenus,List<SingleMenu> singleAllMenus){
if(CollectionUtil.isNotEmpty(singleMenus)) {
for (SingleMenu singleMenu :
singleMenus) { //剔除掉不符合的
if(singleMenu.getVisible()!=null&&singleMenu.getStatus()!=null) {
if (singleMenu.getVisible().equals("1") && singleMenu.getStatus().equals("1")) {
singleAllMenus.add(singleMenu);
}
}
if (CollectionUtil.isNotEmpty(singleMenu.getChildren())) {
List<SingleMenu> children = singleMenu.getChildren();
for (SingleMenu child : children) {
if(singleMenu.getVisible()!=null&&singleMenu.getStatus()!=null) {
if (singleMenu.getVisible().equals("1") && singleMenu.getStatus().equals("1")) {
singleAllMenus.add(child);
}
}
if(CollectionUtil.isNotEmpty(child.getChildren())) {
setChildren(child.getChildren(),singleAllMenus);
}
}
}
}
}
}
public static void main(String[] args) {
String s ="[{\"systemId\":\"1732648267643097090\",\"code\":\"\",\"visible\":\"1\",\"icon\":\"目录图标\",\"pid\":\"0\",\"type\":\"0\",\"compName\":\"\",\"path\":\"\",\"children\":[{\"systemId\":\"1732648267643097090\",\"code\":\"儿子标识\",\"visible\":\"1\",\"icon\":\"儿子图标\",\"pid\":\"1767496685650014209\",\"type\":\"1\",\"compName\":\"儿子组件\",\"path\":\"儿子路径\",\"children\":[{\"systemId\":\"1732648267643097090\",\"code\":\"system:projectinfo:edit\",\"visible\":\"1\",\"pid\":\"1767752726962860033\",\"type\":\"1\",\"name\":\"专题管理修改\",\"id\":\"1768470222661578753\",\"iframe\":\"0\",\"permissionCode\":\"system:projectinfo:edit\",\"seq\":1,\"status\":\"1\"}],\"name\":\"专题管理\",\"id\":\"1767752726962860033\",\"iframe\":\"0\",\"permissionCode\":\"project:special:list\",\"seq\":1,\"status\":\"1\"}],\"name\":\"前期项目管理\",\"id\":\"1767496685650014209\",\"iframe\":\"0\",\"permissionCode\":\"upfront:project:management\",\"seq\":1,\"status\":\"1\"}]";
ArrayList<SingleMenu> arrayList = new ArrayList<>();
List<SingleMenu> singleMenus = JSONObject.parseArray(s, SingleMenu.class);
setChildren(singleMenus,arrayList);
System.out.println(arrayList);
}
}

2
jwtech-admin/src/main/java/com/kms/web/controller/tool/TestController.java

@ -47,7 +47,7 @@ public class TestController extends BaseController
@GetMapping("test")
public WaterResult test(){
WaterResult waterResult = waterRequestUtil.getUserResource("bearer 0e6d6082-9ae7-4313-b6b1-ea45179eee1e");
WaterResult waterResult = waterRequestUtil.getUserResource("bearer 56dee4e6-4834-42ff-80be-bcda38478187");
String data = waterResult.getData();
// String records = JSONObject.parseObject(data).getString("records");
// List<SingleUser> singleUserList = JSONObject.parseArray(records, SingleUser.class);

Loading…
Cancel
Save