Commit 5e1c5c71 authored by suntao's avatar suntao

角色 权限

parent fbfd5afd
package cn.quantgroup.cashloanflowboss.api.permissionmodule.controller;
import cn.quantgroup.cashloanflowboss.api.permissionmodule.model.PermissionVO;
import cn.quantgroup.cashloanflowboss.component.security.annotiation.Security;
import cn.quantgroup.cashloanflowboss.core.base.Result;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* function:
* date: 2019/9/26
*
* @author: suntao
*/
@RestController
@RequestMapping("permission")
public class PermissionController {
/**
* 角色 未拥有的权限
* @param roleId
* @return
*/
@GetMapping("outOfRolePermission")
@Security(authorityId = "Permission.outOfRolePermission")
public Result outOfRolePermission(Long roleId) {
return null;
}
/**
* 权限列表
* @param permissionVO
* @return
*/
@GetMapping("list")
@Security(authorityId = "Permission.permissionList")
public Result permissionList(PermissionVO permissionVO) {
// 分页查询
return null;
}
/**
* 保存权限
* @param permissionVO
* @return
*/
@PostMapping("save")
@Security(authorityId = "Permission.savePermission")
public Result savePermission(PermissionVO permissionVO) {
return null;
}
/**
* 删除权限
* @param permissionVO
* @return
*/
@PostMapping("delete")
@Security(authorityId = "Permission.delete")
public Result delete(PermissionVO permissionVO) {
return null;
}
}
package cn.quantgroup.cashloanflowboss.api.role.entity; package cn.quantgroup.cashloanflowboss.api.permissionmodule.entity;
import cn.quantgroup.cashloanflowboss.component.security.Authority; import cn.quantgroup.cashloanflowboss.component.security.Authority;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
......
package cn.quantgroup.cashloanflowboss.api.permissionmodule.model;
import cn.quantgroup.cashloanflowboss.core.base.PageModel;
import lombok.Data;
/**
* function:
* date: 2019/9/26
*
* @author: suntao
*/
@Data
public class PermissionVO extends PageModel {
private Long id;
/**
* 授权ID name
*/
private String name;
/**
* 权限描述
*/
private String desc;
}
package cn.quantgroup.cashloanflowboss.api.role.controller;
import cn.quantgroup.cashloanflowboss.api.role.entity.Role;
import cn.quantgroup.cashloanflowboss.api.role.model.RoleVO;
import cn.quantgroup.cashloanflowboss.component.security.annotiation.Security;
import cn.quantgroup.cashloanflowboss.core.base.Result;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* function:
* date: 2019/9/26
*
* @author: suntao
*/
@RestController
@RequestMapping("role")
public class RoleController {
@GetMapping("list")
@Security(authorityId = "Role.roleList")
public Result roleList() {
return null;
}
@GetMapping("delete")
@Security(authorityId = "Role.delete")
public Result deleteRole() {
return null;
}
@PostMapping("save")
@Security(authorityId = "Role.saveRole")
public Result saveRole(RoleVO role) {
return null;
}
}
package cn.quantgroup.cashloanflowboss.api.role.entity; package cn.quantgroup.cashloanflowboss.api.role.entity;
import cn.quantgroup.cashloanflowboss.api.permissionmodule.entity.Permission;
import cn.quantgroup.cashloanflowboss.utils.JSONTools; import cn.quantgroup.cashloanflowboss.utils.JSONTools;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
......
package cn.quantgroup.cashloanflowboss.api.role.entity; package cn.quantgroup.cashloanflowboss.api.role.entity;
import cn.quantgroup.cashloanflowboss.api.permissionmodule.entity.Permission;
import cn.quantgroup.cashloanflowboss.core.persistence.Primary; import cn.quantgroup.cashloanflowboss.core.persistence.Primary;
import lombok.Data; import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.function.UnaryOperator; import java.util.function.UnaryOperator;
/** /**
...@@ -40,7 +40,7 @@ public class Role extends Primary implements UnaryOperator<Role> { ...@@ -40,7 +40,7 @@ public class Role extends Primary implements UnaryOperator<Role> {
*/ */
@OneToMany(fetch = FetchType.EAGER) @OneToMany(fetch = FetchType.EAGER)
@JoinTable(name = "role_permission_mapping", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "permission_id")) @JoinTable(name = "role_permission_mapping", joinColumns = @JoinColumn(name = "role_id"), inverseJoinColumns = @JoinColumn(name = "permission_id"))
private Set<Permission> permissions; private List<Permission> permissions;
@Override @Override
......
package cn.quantgroup.cashloanflowboss.api.role.model;
import lombok.Data;
import java.util.List;
/**
* function:
* date: 2019/9/26
*
* @author: suntao
*/
@Data
public class RoleVO {
private Long id;
private String name;
private Long parent;
private List<Long> permissions;
}
...@@ -6,6 +6,7 @@ import cn.quantgroup.cashloanflowboss.api.user.model.RegisterUserFormModel; ...@@ -6,6 +6,7 @@ import cn.quantgroup.cashloanflowboss.api.user.model.RegisterUserFormModel;
import cn.quantgroup.cashloanflowboss.api.user.model.UserDetailInfo; import cn.quantgroup.cashloanflowboss.api.user.model.UserDetailInfo;
import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel; import cn.quantgroup.cashloanflowboss.api.user.model.UserInfoModel;
import cn.quantgroup.cashloanflowboss.api.user.service.UserServiceImpl; import cn.quantgroup.cashloanflowboss.api.user.service.UserServiceImpl;
import cn.quantgroup.cashloanflowboss.component.security.Authority;
import cn.quantgroup.cashloanflowboss.component.security.annotiation.Security; import cn.quantgroup.cashloanflowboss.component.security.annotiation.Security;
import cn.quantgroup.cashloanflowboss.component.validator.constraints.NotEmpty; import cn.quantgroup.cashloanflowboss.component.validator.constraints.NotEmpty;
import cn.quantgroup.cashloanflowboss.core.base.Result; import cn.quantgroup.cashloanflowboss.core.base.Result;
...@@ -118,6 +119,7 @@ public class UserController { ...@@ -118,6 +119,7 @@ public class UserController {
* @return * @return
*/ */
@PutMapping("/order/clean") @PutMapping("/order/clean")
@Security(authorityId = "User.cleanUserOrder")
public Tuple<Boolean,String> cleanUserOrder(@RequestParam @Valid @NotEmpty(message = "无效的用户手机号") String mobile) { public Tuple<Boolean,String> cleanUserOrder(@RequestParam @Valid @NotEmpty(message = "无效的用户手机号") String mobile) {
return this.xyqbUserService.cleanUserOrder(mobile); return this.xyqbUserService.cleanUserOrder(mobile);
} }
...@@ -129,6 +131,7 @@ public class UserController { ...@@ -129,6 +131,7 @@ public class UserController {
* @return * @return
*/ */
@PutMapping("/info/clean") @PutMapping("/info/clean")
@Security(authorityId = "User.cleanUserInfo")
public Boolean deleteByUserId(@RequestParam @Valid @NotEmpty(message = "无效的用户手机号") String mobile) { public Boolean deleteByUserId(@RequestParam @Valid @NotEmpty(message = "无效的用户手机号") String mobile) {
Tuple<Boolean, String> result = this.xyqbUserService.deleteByUserId(mobile); Tuple<Boolean, String> result = this.xyqbUserService.deleteByUserId(mobile);
return result.getKey(); return result.getKey();
......
package cn.quantgroup.cashloanflowboss.core.base;
import lombok.Data;
/**
* function:
* date: 2019/9/26
*
* @author: suntao
*/
@Data
public class PageModel {
private Integer pageSize;
private Integer pageNumber;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment