RoleController.java 11.7 KB
Newer Older
eddie.woo's avatar
eddie.woo committed
1 2 3 4 5
package pwc.taxtech.atms.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
gary's avatar
gary committed
6
import org.springframework.security.access.annotation.Secured;
eddie.woo's avatar
eddie.woo committed
7 8 9 10 11 12
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
13
import pwc.taxtech.atms.dpo.UserRoleInfo;
eddie.woo's avatar
eddie.woo committed
14 15 16 17 18 19 20 21 22 23 24 25 26
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.dimension.DimensionValueUpdateDto;
import pwc.taxtech.atms.dto.navtree.NavTreeDto;
import pwc.taxtech.atms.dto.role.RoleDisplayDto;
import pwc.taxtech.atms.dto.role.RoleDto;
import pwc.taxtech.atms.dto.role.RoleDtoTree;
import pwc.taxtech.atms.dto.role.RolePermissionDto;
import pwc.taxtech.atms.dto.role.UpdateRoleInfo;
import pwc.taxtech.atms.dto.user.DimensionRole;
import pwc.taxtech.atms.dto.user.DimensionUser;
import pwc.taxtech.atms.dto.user.UserRoleDimensionValueDto;
import pwc.taxtech.atms.dto.user.UserRoleDto;
import pwc.taxtech.atms.dto.user.UserRoleUpdateDto;
27 28 29 30 31
import pwc.taxtech.atms.service.impl.RoleServiceImpl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
eddie.woo's avatar
eddie.woo committed
32

33 34 35
/**
 * @see PwC.Tax.Tech.Atms.WebApi\Controllers\RoleController.cs
 */
eddie.woo's avatar
eddie.woo committed
36 37 38 39 40 41 42
@RestController
@RequestMapping("/api/v1/role/")
public class RoleController {

    private static Logger logger = LoggerFactory.getLogger(RoleController.class);

    @Autowired
43
    private RoleServiceImpl roleService;
eddie.woo's avatar
eddie.woo committed
44

gary's avatar
gary committed
45
//    @ApiOperation(value = "获取用户树形列表", notes = "返回所有用户的树形列表")
eddie.woo's avatar
eddie.woo committed
46
    @RequestMapping(value = "getRoleTreeList", method = RequestMethod.GET)
47 48
    public @ResponseBody
    List<NavTreeDto> getRoleTreeList() {
eddie.woo's avatar
eddie.woo committed
49 50 51 52
        logger.debug("RoleController getRoleTreeList");
        return roleService.getRoleTreeList();
    }

gary's avatar
gary committed
53
//    @ApiOperation(value = "获取所有用户角色", notes = "返回所有用户的角色")
eddie.woo's avatar
eddie.woo committed
54
    @RequestMapping(value = "getAllOwnUserRoleList", method = RequestMethod.GET)
55 56
    public @ResponseBody
    List<UserRoleInfo> getAllOwnUserRoleList() {
eddie.woo's avatar
eddie.woo committed
57 58 59 60
        logger.debug("RoleController getAllOwnUserRoleList");
        return roleService.getAllOwnUserRoleList();
    }

gary's avatar
gary committed
61
//    @ApiOperation(value = "获取可访问的所有机构", notes = "返回可访问的所有机构")
eddie.woo's avatar
eddie.woo committed
62
    @RequestMapping(value = "getAllUserRoleList", method = RequestMethod.GET)
63 64
    public @ResponseBody
    List<UserRoleInfo> getAllUserRoleList() {
eddie.woo's avatar
eddie.woo committed
65 66 67 68
        logger.debug("RoleController getAllUserRoleList");
        return roleService.getAllUserRoleList();
    }

gary's avatar
gary committed
69
//    @ApiOperation(value = "通过传入的用户Id获取该用户的所有角色")
70
    @RequestMapping(value = "getAllRoleListByUserID", method = RequestMethod.GET)
71 72 73
    public @ResponseBody
    List<UserRoleDto> getAllRoleListByUserId(@RequestParam("userID") String userId,
                                             @RequestParam("serviceTypeID") String serviceTypeId) {
74 75
        logger.debug("RoleController getAllRoleListByUserId");
        return roleService.getAllRoleListByUserId(userId, serviceTypeId);
eddie.woo's avatar
eddie.woo committed
76 77
    }

gary's avatar
gary committed
78
//    @ApiOperation(value = "获取所有角色")
eddie.woo's avatar
eddie.woo committed
79
    @RequestMapping(value = "displayByServiceGroup", method = RequestMethod.GET)
80 81
    public @ResponseBody
    List<RoleDtoTree> getRoleList() {
eddie.woo's avatar
eddie.woo committed
82 83 84 85
        logger.debug("RoleController getRoleList");
        return roleService.getRoleList();
    }

gary's avatar
gary committed
86
//    @ApiOperation(value = "获取角色下用户列表")
frank.xa.zhang's avatar
frank.xa.zhang committed
87
    @RequestMapping(value = "getUsersByRoleID", method = RequestMethod.GET)
88 89
    public @ResponseBody
    List<UserRoleDto> getUsersByRoleId(@RequestParam("roleId") String roleId) {
90
        return roleService.getUsersByRoleId(roleId);
eddie.woo's avatar
eddie.woo committed
91 92
    }

gary's avatar
gary committed
93
//    @ApiOperation(value = "获取角色下额外用户列表")
frank.xa.zhang's avatar
frank.xa.zhang committed
94
    @RequestMapping(value = "getExtraUsersByRoleID", method = RequestMethod.GET)
95 96
    public @ResponseBody
    List<UserRoleDto> getExtraUsersByRoleId(@RequestParam("roleId") String roleId) {
97
        return roleService.getExtraUsersByRoleId(roleId);
eddie.woo's avatar
eddie.woo committed
98 99
    }

gary's avatar
gary committed
100
//    @ApiOperation(value = "删除角色下用户")
eddie.woo's avatar
eddie.woo committed
101
    @RequestMapping(value = "removeUserRole", method = RequestMethod.POST)
gary's avatar
gary committed
102
    @Secured("role:edit")
103 104 105
    public @ResponseBody
    Boolean removeUserRole(@RequestParam("userID") String userId,
                           @RequestBody List<String> roleIdList, @RequestParam("serviceTypeID") String serviceTypeId) {
106
        roleService.removeUserRole(userId, roleIdList, serviceTypeId);
eddie.woo's avatar
eddie.woo committed
107 108 109
        return true;
    }

gary's avatar
gary committed
110
//    @ApiOperation(value = "Get role list by role type")
eddie.woo's avatar
eddie.woo committed
111
    @RequestMapping(value = "displayByRoleType", method = RequestMethod.GET)
112 113
    public @ResponseBody
    List<RoleDto> getRoleListByRoleType(@RequestParam("roleTypeId") String roleTypeId) {
eddie.woo's avatar
eddie.woo committed
114 115 116
        return roleService.getRoleListByRoleType(roleTypeId);
    }

gary's avatar
gary committed
117
//    @ApiOperation(value = "增加角色分类")
eddie.woo's avatar
eddie.woo committed
118
    @RequestMapping(value = "addRoleCategory", method = RequestMethod.GET)
gary's avatar
gary committed
119
    @Secured("roleCategory:add")
120 121 122
    public @ResponseBody
    Boolean addRoleCategory(@RequestParam("name") String roleCategoryName,
                            @RequestParam("roleCategoryID") String roleCategoryId) {
123
        roleService.addRoleCategory(roleCategoryName, roleCategoryId);
eddie.woo's avatar
eddie.woo committed
124 125 126
        return true;
    }

gary's avatar
gary committed
127
//    @ApiOperation(value = "更新角色分类名称")
eddie.woo's avatar
eddie.woo committed
128
    @RequestMapping(value = "updateRoleCategory", method = RequestMethod.GET)
gary's avatar
gary committed
129
    @Secured("roleCategory:edit")
130 131 132
    public @ResponseBody
    Boolean updateRoleCategory(@RequestParam("updateName") String roleCategoryName,
                               @RequestParam("id") String roleCategoryId) {
133
        roleService.updateRoleCategory(roleCategoryName, roleCategoryId);
eddie.woo's avatar
eddie.woo committed
134 135 136 137
        return true;
    }

    @SuppressWarnings("rawtypes")
gary's avatar
gary committed
138
//    @ApiOperation(value = "删除角色分类")
eddie.woo's avatar
eddie.woo committed
139
    @RequestMapping(value = "deleteRoleCategory", method = RequestMethod.GET)
gary's avatar
gary committed
140
    @Secured("roleCategory:edit")
141 142
    public @ResponseBody
    OperationResultDto deleteRoleCategory(@RequestParam("id") String roleCategoryId) {
143
        return roleService.deleteRoleCategory(roleCategoryId);
eddie.woo's avatar
eddie.woo committed
144 145
    }

146
    @SuppressWarnings({"unchecked", "rawtypes"})
gary's avatar
gary committed
147
//    @ApiOperation(value = "Add a role info")
eddie.woo's avatar
eddie.woo committed
148
    @RequestMapping(value = "add", method = RequestMethod.POST)
gary's avatar
gary committed
149
    @Secured("role:add")
150 151
    public @ResponseBody
    Map addRole(@RequestBody RoleDisplayDto roleDisplayDto) {
eddie.woo's avatar
eddie.woo committed
152 153

        Map result = new HashMap<>();
154 155
        if ("-1".equals(roleService.addRole(roleDisplayDto))) {
            result.put("data", -1);
eddie.woo's avatar
eddie.woo committed
156 157 158 159 160 161
        } else {
            result.put("data", roleService.getRoleList());
        }
        return result;
    }

gary's avatar
gary committed
162
//    @ApiOperation(value = "Update a role info")
eddie.woo's avatar
eddie.woo committed
163
    @RequestMapping(value = "update", method = RequestMethod.PUT)
gary's avatar
gary committed
164
    @Secured("role:edit")
165
    public void updateRole(@RequestBody UpdateRoleInfo updateRole, @RequestParam("roleID") String roleId) {
eddie.woo's avatar
eddie.woo committed
166

167
        roleService.updateRole(updateRole, roleId);
eddie.woo's avatar
eddie.woo committed
168 169
    }

gary's avatar
gary committed
170
//    @ApiOperation(value = "Validate if the role name is unique")
eddie.woo's avatar
eddie.woo committed
171 172
    @RequestMapping(value = "validateRoleNameUnique", method = RequestMethod.GET)
    public Boolean validateRoleNameUnique(@RequestParam("roleName") String roleName,
173
                                          @RequestParam("oldRoleName") String oldRoleName) {
eddie.woo's avatar
eddie.woo committed
174 175 176 177

        return roleService.validateRoleNameUnique(roleName, oldRoleName);
    }

gary's avatar
gary committed
178
//    @ApiOperation(value = "Need to check mapping between user and role, if yes not allow delete role")
eddie.woo's avatar
eddie.woo committed
179
    @RequestMapping(value = "checkReferenceforRole", method = RequestMethod.GET)
180
    public Boolean checkExistReference(@RequestParam("roleID") String roleId) {
eddie.woo's avatar
eddie.woo committed
181

182
        return roleService.checkUserRole(roleId);
eddie.woo's avatar
eddie.woo committed
183 184
    }

gary's avatar
gary committed
185
//    @ApiOperation(value = "Delete a role info")
eddie.woo's avatar
eddie.woo committed
186
    @RequestMapping(value = "delete", method = RequestMethod.POST)
gary's avatar
gary committed
187
    @Secured("role:edit")
188 189
    public @ResponseBody
    List<RoleDtoTree> deleteRole(@RequestBody RoleDto roleDto) {
eddie.woo's avatar
eddie.woo committed
190 191 192 193 194

        roleService.deleteRole(roleDto);
        return roleService.getRoleList();
    }

gary's avatar
gary committed
195
//    @ApiOperation(value = "Get user role list by organizationId, dimensionId and dimensionValueId")
eddie.woo's avatar
eddie.woo committed
196
    @RequestMapping(value = "getUserRoleList", method = RequestMethod.GET)
197 198 199 200
    public @ResponseBody
    List<UserRoleInfo> getUserRoleList(@RequestParam("organizationID") String organizationId,
                                       @RequestParam("dimensionID") String dimensionId,
                                       @RequestParam("dimensionValueID") String dimensionValueId) {
eddie.woo's avatar
eddie.woo committed
201 202

        UserRoleDimensionValueDto userRoleDimensionValueDto = new UserRoleDimensionValueDto();
203 204 205
        userRoleDimensionValueDto.setOrganizationId(organizationId);
        userRoleDimensionValueDto.setDimensionId(dimensionId);
        userRoleDimensionValueDto.setDimensionValueId(dimensionValueId);
eddie.woo's avatar
eddie.woo committed
206 207 208
        return roleService.getUserRoleList(userRoleDimensionValueDto);
    }

gary's avatar
gary committed
209
//    @ApiOperation(value = "Get all role permission list by serviceType")
eddie.woo's avatar
eddie.woo committed
210
    @RequestMapping(value = "getAllRolePermission", method = RequestMethod.GET)
211 212
    public @ResponseBody
    List<RolePermissionDto> getAllRolePermission(
frank.xa.zhang's avatar
frank.xa.zhang committed
213
            @RequestParam("serviceTypeID") String serviceTypeId) {
eddie.woo's avatar
eddie.woo committed
214

215
        return roleService.getAllRolePermission(serviceTypeId);
eddie.woo's avatar
eddie.woo committed
216 217
    }

gary's avatar
gary committed
218
//    @ApiOperation(value = "更新用户角色列表")
eddie.woo's avatar
eddie.woo committed
219
    @RequestMapping(value = "updateUserRole", method = RequestMethod.POST)
gary's avatar
gary committed
220
    @Secured("role:edit")
eddie.woo's avatar
eddie.woo committed
221 222 223 224 225 226
    public Boolean updateUserRole(@RequestBody UserRoleUpdateDto userRoleDto) {

        roleService.updateUserRole(userRoleDto);
        return true;
    }

gary's avatar
gary committed
227
//    @ApiOperation(value = "用户详情页面,增加范围")
eddie.woo's avatar
eddie.woo committed
228
    @RequestMapping(value = "updateDimensionValues", method = RequestMethod.POST)
gary's avatar
gary committed
229
    @Secured("role:edit")
eddie.woo's avatar
eddie.woo committed
230 231 232 233 234 235
    public Boolean updateDimensionValues(@RequestBody DimensionValueUpdateDto dimensionValueUpdateDto) {

        roleService.updateDimensionValues(dimensionValueUpdateDto);
        return true;
    }

gary's avatar
gary committed
236
//    @ApiOperation(value = "用户详情页面,增加机构")
eddie.woo's avatar
eddie.woo committed
237
    @RequestMapping(value = "updateUserOrg", method = RequestMethod.POST)
gary's avatar
gary committed
238
    @Secured("role:edit")
239
    public Boolean updateUserOrg(@RequestBody List<String> orgIdList, @RequestParam("userID") String userId) {
eddie.woo's avatar
eddie.woo committed
240

241
        roleService.updateUserOrg(orgIdList, userId);
eddie.woo's avatar
eddie.woo committed
242 243 244
        return true;
    }

gary's avatar
gary committed
245
//    @ApiOperation(value = "获取维度,角色,用户列表", notes = "机构/卡片/机构卡片/点击用户数")
eddie.woo's avatar
eddie.woo committed
246
    @RequestMapping(value = "getDimensionRoleUserList", method = RequestMethod.GET)
247 248 249
    public @ResponseBody
    List<DimensionRole> getDimensionRoleUserList(@RequestParam("dimensionId") String dimensionId,
                                                 @RequestParam("dimensionValueId") String dimensionValueId) {
250
        return roleService.getDimensionRoleUserList(dimensionId, dimensionValueId);
eddie.woo's avatar
eddie.woo committed
251 252
    }

gary's avatar
gary committed
253
//    @ApiOperation(value = "获取某一个维度的 用户 和 机构列表,角色列表", notes = "机构/卡片/机构卡片/点击用户数")
eddie.woo's avatar
eddie.woo committed
254
    @RequestMapping(value = "getDimensionUserRoleList", method = RequestMethod.GET)
255 256 257
    public @ResponseBody
    List<DimensionUser> getDimensionUserRoleList(@RequestParam("dimensionId") String dimensionId,
                                                 @RequestParam("dimensionValueId") String dimensionValueId) {
258
        return roleService.getDimensionUserRoleList(dimensionId, dimensionValueId);
eddie.woo's avatar
eddie.woo committed
259 260
    }

gary's avatar
gary committed
261
//    @ApiOperation(value = "根据区域Id,获取区域用户角色信息", notes = "机构/卡片/区域卡片/选择区域/点击用户数")
262
    @RequestMapping(value = "getActiveUserRoleListByAreaId", method = RequestMethod.GET)
263 264
    public @ResponseBody
    List<UserRoleInfo> getActiveUserRoleListByAreaId(@RequestParam("areaId") String areaId) {
265
        return roleService.getActiveUserRoleListByAreaId(areaId);
eddie.woo's avatar
eddie.woo committed
266 267
    }
}