Browse Source

修改app菜单管理功能,新增类别字段

feature/yujt_vim
yujt 5 years ago
parent
commit
02dfc74c3e
  1. 7
      epdc-cloud-admin/pom.xml
  2. 89
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/v2/AppMenuV2Controller.java
  3. 5
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/AppMenuEntity.java
  4. 5
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/AppMenuTemplateEntity.java
  5. 12
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/AppMenuService.java
  6. 46
      epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/AppMenuServiceImpl.java
  7. 2
      epdc-cloud-client-yushan

7
epdc-cloud-admin/pom.xml

@ -69,6 +69,13 @@
<version>${epdc-cloud-commons.version}</version>
</dependency>
<!--接口版本控制-->
<dependency>
<groupId>com.esua.epdc.yushan</groupId>
<artifactId>epdc-commons-api-version-control</artifactId>
<version>${epdc-cloud-commons.version}</version>
</dependency>
<!-- common end -->
<!-- client start -->

89
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/v2/AppMenuV2Controller.java

@ -0,0 +1,89 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.controller.v2;
import com.elink.esua.epdc.commons.api.version.ApiVersion;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.ExcelUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.validator.AssertUtils;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.dto.AppMenuGroupDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.excel.AppMenuExcel;
import com.elink.esua.epdc.service.AppMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
/**
* APP菜单管理
*
* @author work@yujt.net.cn
* @since v1.0.0 2019-11-19
*/
@ApiVersion(2)
@RestController
@RequestMapping("appmenu" + Constant.VERSION_CONTROL)
public class AppMenuV2Controller {
@Autowired
private AppMenuService appMenuService;
@GetMapping("select")
public Result<AppMenuGroupDTO> select(UserDetail userDetail) {
AppMenuGroupDTO result = appMenuService.getUserMenuListV2(userDetail);
return new Result().ok(result);
}
/**
* @param mobile
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcIndexPanelResultDTO>>
* @Author yinzuomei
* @Description 首页面板 获取工作端APP菜单
* @Date 2019/11/20 10:43
**/
@GetMapping("/indexPanel/{mobile}")
public Result<List<EpdcAppIndexPanelResultDTO>> indexPanel(@PathVariable("mobile") String mobile) {
return appMenuService.indexPanel(mobile);
}
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO>>
* @Author lpf
* @Description 首页面板 获取数据端APP菜单
* @Date 2020/03/18 10:42
**/
@GetMapping("/analysisIndexPanel/{userId}")
public Result<List<EpdcAppChildNavResultDTO>> analysisIndexPanel(@PathVariable("userId") String userId) {
return appMenuService.getAnalysisIndexPanel(userId);
}
}

5
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/AppMenuEntity.java

@ -57,6 +57,11 @@ public class AppMenuEntity extends BaseEntity {
*/
private Integer type;
/**
* {@link com.elink.esua.epdc.enums.AppMenuCategoryEnum}
*/
private String category;
/**
* 菜单图标
*/

5
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/entity/AppMenuTemplateEntity.java

@ -69,4 +69,9 @@ public class AppMenuTemplateEntity extends BaseEpdcEntity {
*/
private Integer columnAmount;
/**
* {@link com.elink.esua.epdc.enums.AppMenuCategoryEnum}
*/
private String category;
}

12
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/AppMenuService.java

@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.UserDetail;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.dto.AppMenuGroupDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
@ -144,6 +145,7 @@ public interface AppMenuService extends BaseService<AppMenuEntity> {
* @Date 2019/11/20 10:42
**/
Result<List<EpdcAppIndexPanelResultDTO>> indexPanel(String mobile);
/**
* @param userId
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO>>
@ -152,4 +154,14 @@ public interface AppMenuService extends BaseService<AppMenuEntity> {
* @Date 2020/03/18 10:42
**/
Result<List<EpdcAppChildNavResultDTO>> getAnalysisIndexPanel(String userId);
/**
* 获取小程序端菜单并分组
*
* @param userDetail 用户信息
* @return com.elink.esua.epdc.dto.AppMenuGroupDTO
* @author work@yujt.net.cn
* @date 2020/9/1 10:58
*/
AppMenuGroupDTO getUserMenuListV2(UserDetail userDetail);
}

46
epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/AppMenuServiceImpl.java

@ -33,12 +33,15 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.commons.tools.utils.TreeUtils;
import com.elink.esua.epdc.dao.AppMenuDao;
import com.elink.esua.epdc.dto.AppMenuDTO;
import com.elink.esua.epdc.dto.AppMenuGroupDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppChildNavResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcAppIndexPanelResultDTO;
import com.elink.esua.epdc.entity.AppMenuEntity;
import com.elink.esua.epdc.enums.AppMenuCategoryEnum;
import com.elink.esua.epdc.enums.MenuTableEnum;
import com.elink.esua.epdc.service.AppMenuService;
import com.elink.esua.epdc.service.SysLanguageService;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -143,18 +146,46 @@ public class AppMenuServiceImpl extends BaseServiceImpl<AppMenuDao, AppMenuEntit
*/
@Override
public List<AppMenuDTO> getUserMenuList(UserDetail userDetail, Integer type) {
List<AppMenuEntity> menuList;
List<AppMenuDTO> dtoList = ConvertUtils.sourceToTarget(getUserMenuList(userDetail), AppMenuDTO.class);
return TreeUtils.build(dtoList);
}
@Override
public AppMenuGroupDTO getUserMenuListV2(UserDetail userDetail) {
List<AppMenuDTO> dtoList = ConvertUtils.sourceToTarget(getUserMenuList(userDetail), AppMenuDTO.class);
List<AppMenuDTO> workMenuList = Lists.newArrayList();
List<AppMenuDTO> analysisMenuList = Lists.newArrayList();
for (int i = 0; i < dtoList.size(); i++) {
AppMenuDTO dto = dtoList.get(i);
if (AppMenuCategoryEnum.WORK.getValue().equals(dto.getCategory())) {
workMenuList.add(dto);
} else if (AppMenuCategoryEnum.ANALYSIS.getValue().equals(dto.getCategory())) {
analysisMenuList.add(dto);
}
}
AppMenuGroupDTO group = new AppMenuGroupDTO();
group.setWorkMenu(TreeUtils.build(workMenuList));
group.setAnalysisMenu(TreeUtils.build(analysisMenuList));
return group;
}
/**
* 查询用户APP菜单权限
*
* @param userDetail
* @return java.util.List<com.elink.esua.epdc.entity.AppMenuEntity>
* @author work@yujt.net.cn
* @date 2020/9/1 13:39
*/
private List<AppMenuEntity> getUserMenuList(UserDetail userDetail) {
List<AppMenuEntity> menuList;
//系统管理员,拥有最高权限
if (userDetail.getSuperAdmin() == SuperAdminEnum.YES.value()) {
menuList = baseDao.getMenuList(type, HttpContextUtils.getLanguage());
menuList = baseDao.getMenuList(null, HttpContextUtils.getLanguage());
} else {
menuList = baseDao.getUserMenuList(userDetail.getId(), type, HttpContextUtils.getLanguage());
menuList = baseDao.getUserMenuList(userDetail.getId(), null, HttpContextUtils.getLanguage());
}
List<AppMenuDTO> dtoList = ConvertUtils.sourceToTarget(menuList, AppMenuDTO.class);
return TreeUtils.build(dtoList);
return menuList;
}
/**
@ -172,6 +203,7 @@ public class AppMenuServiceImpl extends BaseServiceImpl<AppMenuDao, AppMenuEntit
List<EpdcAppIndexPanelResultDTO> indexPanelResultDTOList = this.baseDao.indexPanelByMobile(mobile);
return new Result().ok(indexPanelResultDTOList);
}
@Override
public Result<List<EpdcAppChildNavResultDTO>> getAnalysisIndexPanel(String userId) {
if (StringUtils.isBlank(userId)) {

2
epdc-cloud-client-yushan

@ -1 +1 @@
Subproject commit 8c3f710e726265ff1b3b47ac6ab005d025218974
Subproject commit 36dc899615aee282944b09e5abd92f45d0084553
Loading…
Cancel
Save