Ver Fonte

账户权限增加list接口

chenw há 7 anos atrás
pai
commit
520039d9c3

+ 18 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/AccountController.java

@@ -251,6 +251,24 @@ public class AccountController {
         return Result.success();
     }
 
+    /**
+     * 个人账户绑定角色
+     * @param accountId
+     * @param roleIds
+     * @return
+     */
+    @PostMapping("/bind/roles")
+    public Result bindRoles(@RequestParam long accountId, @RequestParam String roleIds) {
+        accountService.bindRoles(accountId, roleIds);
+        accountService.clearCache(accountId);
+        return Result.success();
+    }
+
+    @GetMapping("/accountRole/list")
+    public Result getAccountRole(){
+        return Result.success(accountService.selectAccountRole());
+    }
+
     /**
      * 解除个人账户绑定角色
      *

+ 5 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/mapper/AccountRoleMapper.java

@@ -1,7 +1,10 @@
 package com.usoftchina.saas.account.mapper;
 
+import com.usoftchina.saas.account.dto.AccountRoleDTO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @author yingp
  * @date 2018/10/2
@@ -45,4 +48,6 @@ public interface AccountRoleMapper {
      * @param roleId
      */
     void deleteByRoleId(@Param("roleId") Long roleId);
+
+    List<AccountRoleDTO> selectAccountRole();
 }

+ 15 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/AccountService.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.account.service;
 
+import com.usoftchina.saas.account.dto.AccountRoleDTO;
 import com.usoftchina.saas.account.po.Account;
 import com.usoftchina.saas.account.po.RoleResource;
 
@@ -108,6 +109,20 @@ public interface AccountService {
      */
     void bindRole(Long accountId, Long roleId);
 
+    /**
+     * 绑定个人账号与多个角色
+     *
+     * @param accountId
+     * @param roleIds
+     */
+    void bindRoles(Long accountId, String roleIds);
+
+    /**
+     * 账号+角色信息列表
+     * @return
+     */
+    List<AccountRoleDTO> selectAccountRole();
+
     /**
      * 解除个人账号与角色的绑定
      *

+ 14 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/AccountServiceImpl.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.account.service.impl;
 
 import com.usoftchina.saas.account.cache.AccountCache;
+import com.usoftchina.saas.account.dto.AccountRoleDTO;
 import com.usoftchina.saas.account.mapper.AccountCompanyMapper;
 import com.usoftchina.saas.account.mapper.AccountMapper;
 import com.usoftchina.saas.account.mapper.AccountRoleMapper;
@@ -113,6 +114,19 @@ public class AccountServiceImpl implements AccountService {
         }
     }
 
+    @Override
+    public void bindRoles(Long accountId, String roleIds) {
+        String[] array = roleIds.split(",");
+        for (int i = 0; i < array.length; i++){
+            bindRole(accountId, Long.parseLong(array[i]));
+        }
+    }
+
+    @Override
+    public List<AccountRoleDTO> selectAccountRole(){
+        return accountRoleMapper.selectAccountRole();
+    }
+
     @Override
     public void unbindRole(Long accountId, Long roleId) {
         accountRoleMapper.delete(accountId, roleId);

+ 7 - 0
base-servers/account/account-server/src/main/resources/mapper/AccountRoleMapper.xml

@@ -16,4 +16,11 @@
     <delete id="deleteByCompanyId" parameterType="java.lang.Long">
         delete from ac_account_role where company_id=#{companyId}
     </delete>
+    <select id="selectAccountRole" resultType="com.usoftchina.saas.account.dto.AccountRoleDTO">
+        SELECT a.id id,a.username,a.realname,a.email,a.mobile,GROUP_CONCAT(c.name) roleNames,GROUP_CONCAT(c.id) roleIds
+        FROM ac_account a
+        left join ac_account_role b on a.id=b.account_id
+        left join ac_role c  on b.role_id = c.id
+        group by a.id,a.username,a.realname,a.email,a.mobile
+    </select>
 </mapper>