liuxiaolong
2019-05-06 f99bc8c6a1d10610373738edd7d0aa0181c81d99
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package com.cloud.user.controller;
 
import java.util.Map;
 
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
 
import com.cloud.model.common.Page;
import com.cloud.model.log.LogAnnotation;
import com.cloud.model.log.constants.AbstractLogModule;
import com.cloud.model.sys.SysPermission;
import com.cloud.user.service.SysPermissionService;
 
@RequestMapping("data/api-u")
@RestController
public class SysPermissionController {
 
    @Autowired
    private SysPermissionService sysPermissionService;
 
    /**
     * 管理后台添加权限
     * 
     * @param sysPermission
     * @return
     */
    @LogAnnotation(module = AbstractLogModule.ADD_PERMISSION)
    @PreAuthorize("hasAuthority('back:permission:save')")
    @PostMapping("/permissions")
    public SysPermission save(@RequestBody SysPermission sysPermission) {
        if (StringUtils.isBlank(sysPermission.getPermission())) {
            throw new IllegalArgumentException("权限标识不能为空");
        }
        if (StringUtils.isBlank(sysPermission.getName())) {
            throw new IllegalArgumentException("权限名不能为空");
        }
 
        sysPermissionService.save(sysPermission);
 
        return sysPermission;
    }
 
    /**
     * 管理后台修改权限
     * 
     * @param sysPermission
     * @return
     */
    @LogAnnotation(module = AbstractLogModule.UPDATE_PERMISSION)
    @PreAuthorize("hasAuthority('back:permission:update')")
    @PutMapping("/permissions")
    public SysPermission update(@RequestBody SysPermission sysPermission) {
        if (StringUtils.isBlank(sysPermission.getName())) {
            throw new IllegalArgumentException("权限名不能为空");
        }
 
        sysPermissionService.update(sysPermission);
 
        return sysPermission;
    }
 
    /**
     * 删除权限标识
     * 
     * @param id
     */
    @LogAnnotation(module = AbstractLogModule.DELETE_PERMISSION)
    @PreAuthorize("hasAuthority('back:permission:delete')")
    @DeleteMapping("/permissions/{id}")
    public Integer delete(@PathVariable Long id) {
        return sysPermissionService.delete(id);
    }
 
    /**
     * 查询所有的权限标识
     * 
     * @return
     */
    @PreAuthorize("hasAuthority('back:permission:query')")
    @GetMapping("/permissions")
    public Page<SysPermission> findPermissions(@RequestParam Map<String, Object> params) {
        return sysPermissionService.findPermissions(params);
    }
}