f0087452f3e08a051065edd59e6d1e2099d7b4d4
[institute/sw-backend.git] /
1 package com.supwisdom.institute.backend.admin.bff.api.v1.controller.open;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import org.springframework.beans.BeanUtils;
7 import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.util.MimeTypeUtils;
9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.RequestMethod;
11 import org.springframework.web.bind.annotation.RestController;
12
13 import com.supwisdom.institute.backend.admin.bff.api.v1.model.base.PermissionRoleSet;
14 import com.supwisdom.institute.backend.admin.bff.api.v1.model.open.Menu;
15 import com.supwisdom.institute.backend.admin.bff.api.v1.service.base.AuthnService;
16 import com.supwisdom.institute.backend.admin.bff.api.v1.vo.open.response.data.MenusResponseData;
17 import com.supwisdom.institute.backend.common.framework.vo.response.DefaultApiResponse;
18
19 import io.swagger.annotations.Api;
20 import io.swagger.annotations.ApiOperation;
21
22 @Api(value = "BFFOpen", tags = { "open" }, description = "公开接口")
23 @RestController
24 @RequestMapping(value = "/api/v1/open")
25 public class OpenController {
26   
27   @Autowired
28   private AuthnService authnService;
29   
30   @ApiOperation(
31       tags = { "open" },
32       value = "获取菜单", notes = "获取菜单", nickname = "openMenus"
33   )
34   @RequestMapping(method = RequestMethod.GET, path = "/menus", produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
35   public DefaultApiResponse<MenusResponseData> menus() {
36     
37     List<Menu> menus = new ArrayList<>();
38
39     List<PermissionRoleSet> permissionRoleSets = authnService.getPermissionRoleSets("1"); // XXX: applicationId
40     if (permissionRoleSets != null) {
41       for (PermissionRoleSet permissionRoleSet : permissionRoleSets) {
42         Menu menu = new Menu();
43         BeanUtils.copyProperties(permissionRoleSet, menu);
44         menus.add(menu);
45       }
46     }
47     
48     MenusResponseData data = MenusResponseData.of(menus);
49     return new DefaultApiResponse<MenusResponseData>(data);
50   }
51   
52
53 }