package com.example.erp.service.userInfo; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.example.erp.entity.userInfo.PermissionBasic; import com.example.erp.entity.userInfo.PermissionRole; import com.example.erp.mapper.userInfo.PermissionRoleMapper; import com.example.erp.mapper.userInfo.UserMapper; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; @DS("user_info") @Service public class PermissionRoleService { private final PermissionRoleMapper permissionRoleMapper; private final UserMapper userMapper; public PermissionRoleService(PermissionRoleMapper permissionRoleMapper, UserMapper userMapper) { this.permissionRoleMapper = permissionRoleMapper; this.userMapper = userMapper; } public List getUserPermission(Integer loginId) { // 调用数据库查询用户权限 return permissionRoleMapper.getUserPermission(loginId); } public List getUserRole(Integer id) { return userMapper.getUserRole(id); } public Boolean savePermissionRole(Map permissionRoleMap) { JSONObject permissionRoleJson = new JSONObject(permissionRoleMap); List permissionBasics = JSONArray.parseArray( JSONObject.toJSONString(permissionRoleJson.get("detail")), PermissionBasic.class); Integer roleId = (Integer) permissionRoleMap.get("id"); permissionRoleMapper.delete(new QueryWrapper().eq("role_id", roleId)); if(permissionBasics.isEmpty() || roleId == null ){ return true; } List permissionRoles = new ArrayList<>(); for (PermissionBasic permissionBasic : permissionBasics) { PermissionRole permissionRole = new PermissionRole(); permissionRole.setRoleId(roleId); permissionRole.setPermissionId(permissionBasic.getId()); permissionRoles.add(permissionRole); } return permissionRoleMapper.saveBatch(permissionRoles); } }