chenlu
2024-05-13 d35d14bc183e7275e79cb64537ce28dc83f271f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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");
        permissionRoleMapper.delete(new QueryWrapper<PermissionRole>().eq("role_id", roleId));
        if(permissionBasics.isEmpty() || roleId == null ){
            return true;
        }
        List<PermissionRole> 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);
 
 
 
    }
}