Browse Source

增加getPermissionsByRoleId接口

xusonglin 5 years ago
parent
commit
ef12e8b028

+ 12 - 5
src/main/java/com/jkcredit/invoice/hub/controller/web/rolePermission/RolePermissionResource.java

@@ -9,9 +9,9 @@ import com.jkcredit.invoice.hub.spi.web.data.ResponseData;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import javax.xml.ws.Service;
 
 /**
  * @description:
@@ -38,6 +38,13 @@ public class RolePermissionResource extends WebResource {
         }
     }
 
-
-    //todo getPermissionByRoleId
+    @PreAuthorize("hasPermission('permission','read')")
+    @GetMapping("/rolePermissions/{roleId}")
+    public ResponseData getRolePermissionsByRoleId(@PathVariable Long roleId) {
+        try {
+            return ResponseData.success(rolePermissionService.getPermissionsByRoleId(roleId));
+        } catch (ServiceException se) {
+            return ResponseData.failed("获取权限失败,失败原因" + se.getMessage());
+        }
+    }
 }

+ 2 - 0
src/main/java/com/jkcredit/invoice/hub/mapper/RolePermissionMapper.java

@@ -13,4 +13,6 @@ import java.util.List;
  **/
 public interface RolePermissionMapper extends BaseMapper<RolePermissionPo> {
     List<Long> getPermissions(Long roleId);
+
+    List<RolePermissionPo> getPermissionsByRoleId(Long roleId);
 }

+ 1 - 0
src/main/java/com/jkcredit/invoice/hub/model/po/rolePermission/RolePermissionPo.java

@@ -29,4 +29,5 @@ public class RolePermissionPo {
     private Date createTime;
     private Date updateTime;
     private Integer activated;
+    private String permissionName;
 }

+ 15 - 0
src/main/java/com/jkcredit/invoice/hub/model/vo/rolePermission/RolePermissionVo.java

@@ -0,0 +1,15 @@
+package com.jkcredit.invoice.hub.model.vo.rolePermission;
+
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: xusonglin
+ * @create: 2020/1/16 9:11
+ * @version: V1.0
+ **/
+@Data
+public class RolePermissionVo {
+    private Long permissionId;
+    private String permissionName;
+}

+ 5 - 0
src/main/java/com/jkcredit/invoice/hub/service/rolePermission/RolePermissionService.java

@@ -1,6 +1,9 @@
 package com.jkcredit.invoice.hub.service.rolePermission;
 
 import com.jkcredit.invoice.hub.model.dto.rolePermission.RolePermissionDto;
+import com.jkcredit.invoice.hub.model.vo.rolePermission.RolePermissionVo;
+
+import java.util.List;
 
 /**
  * @description:
@@ -10,4 +13,6 @@ import com.jkcredit.invoice.hub.model.dto.rolePermission.RolePermissionDto;
  **/
 public interface RolePermissionService {
     void saveRolePermission(RolePermissionDto rolePermissionDto);
+
+    List<RolePermissionVo> getPermissionsByRoleId(Long roleId);
 }

+ 16 - 0
src/main/java/com/jkcredit/invoice/hub/service/rolePermission/RolePermissionServiceImpl.java

@@ -3,14 +3,18 @@ package com.jkcredit.invoice.hub.service.rolePermission;
 import com.jkcredit.invoice.hub.mapper.RolePermissionMapper;
 import com.jkcredit.invoice.hub.model.dto.rolePermission.RolePermissionDto;
 import com.jkcredit.invoice.hub.model.po.rolePermission.RolePermissionPo;
+import com.jkcredit.invoice.hub.model.vo.rolePermission.RolePermissionVo;
 import com.jkcredit.invoice.hub.service.base.BaseService;
 import com.jkcredit.invoice.hub.spi.lang.exception.ServiceException;
+import com.jkcredit.invoice.hub.util.BeanUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @description:
@@ -43,4 +47,16 @@ public class RolePermissionServiceImpl extends BaseService implements RolePermis
 
         }
     }
+
+    @Override
+    public List<RolePermissionVo> getPermissionsByRoleId(Long roleId) {
+        List<RolePermissionPo> rolePermissionPoList = rolePermissionMapper.getPermissionsByRoleId(roleId);
+        List<RolePermissionVo> rolePermissionVoList = new ArrayList<>();
+        for (RolePermissionPo rolePermissionPo : rolePermissionPoList) {
+            RolePermissionVo rolePermissionVo = new RolePermissionVo();
+            BeanUtil.copyProperties(rolePermissionVo, rolePermissionPo);
+            rolePermissionVoList.add(rolePermissionVo);
+        }
+        return rolePermissionVoList;
+    }
 }

+ 1 - 1
src/main/java/com/jkcredit/invoice/hub/service/userRolePermission/UserRolePermissionServiceImpl.java

@@ -31,7 +31,7 @@ public class UserRolePermissionServiceImpl extends BaseService implements UserRo
     @Override
     public void saveUserRolePermission(UserRolePermissionDto dto) {
         validate(dto);
-        // todo 此处为用户授权接口,需要根据roleId 查询rolePermission表中的所以permissionId,循环放入userRolePermission
+        // 此处为用户授权接口,需要根据roleId 查询rolePermission表中的所以permissionId,循环放入userRolePermission
         List<Long> permissions = rolePermissionMapper.getPermissions(dto.getRoleId());
 
         try {

+ 14 - 1
src/main/resources/mapper/RolePermissionMapper.xml

@@ -8,13 +8,26 @@
         <result column="create_time" property="createTime"/>
         <result column="update_time" property="updateTime"/>
         <result column="activated" property="activated"/>
+        <result column="permission_name" property="permissionName"/>
     </resultMap>
 
-
     <select id="getPermissions" resultType="java.lang.Long">
         select * from
             h_role_permission
         where
             role_id = #{roleId}
     </select>
+
+    <select id="getPermissionsByRoleId" resultMap="baseResultMap">
+        select
+            rolePermission.permission_id, h_permission.permission_name
+        from
+            h_role_permission rolePermission
+        left join
+            h_permission
+        on
+            rolePermission.permission_id = h_permission.id
+        where
+            role_id = #{roleId}
+    </select>
 </mapper>