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<String> getUserPermission(Integer loginId) {
|
// 调用数据库查询用户权限
|
return permissionRoleMapper.getUserPermission(loginId);
|
}
|
|
public List<String> getUserRole(Integer id) {
|
return userMapper.getUserRole(id);
|
}
|
|
public Boolean savePermissionRole(Map<String, Object> permissionRoleMap) {
|
JSONObject permissionRoleJson = new JSONObject(permissionRoleMap);
|
List<PermissionBasic> permissionBasics =
|
JSONArray.parseArray(
|
JSONObject.toJSONString(permissionRoleJson.get("detail")),
|
PermissionBasic.class);
|
Integer roleId = (Integer) permissionRoleMap.get("id");
|
if(permissionBasics.isEmpty() || roleId == null ){
|
return false;
|
}
|
|
|
List<PermissionRole> permissionRoles = new ArrayList<>();
|
for (PermissionBasic permissionBasic : permissionBasics) {
|
PermissionRole permissionRole = new PermissionRole();
|
permissionRole.setRoleId(roleId);
|
permissionRole.setPermissionId(permissionBasic.getId());
|
permissionRoles.add(permissionRole);
|
}
|
permissionRoleMapper.delete(new QueryWrapper<PermissionRole>().eq("role_id", roleId));
|
return permissionRoleMapper.saveBatch(permissionRoles);
|
|
|
|
}
|
}
|