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