From 3b634c3db32ca2eb3f661c29b3ff088a7f42318a Mon Sep 17 00:00:00 2001 From: zhaoxiaohao <913652501@qq.com> Date: Sun, 26 Apr 2020 12:39:36 +0800 Subject: [PATCH] 添加 产品管理控制权限 --- kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java | 7 +++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/fallback/ISysRoleOrganizationServiceFallbackFactory.java | 33 ++++++++++++++++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysProductController.java | 6 ++- kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/ISysRoleOrganizationService.java | 29 ++++++++++++++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml | 1 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java | 2 + kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysProductServiceImpl.java | 9 ++++ kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysProductService.java | 3 + kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java | 14 +++++++ kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java | 4 ++ 10 files changed, 104 insertions(+), 4 deletions(-) diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysProductService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysProductService.java index 64d7428..ca909f5 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysProductService.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysProductService.java @@ -1,6 +1,7 @@ package com.kidgrow.oprationcenter.service; import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysUser; import com.kidgrow.oprationcenter.model.SysProduct; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.ISuperService; @@ -21,7 +22,7 @@ * @param params * @return */ - PageResult<SysProduct> findList(Map<String, Object> params); + PageResult<SysProduct> findList(Map<String, Object> params, SysUser sysUser); /** diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/ISysRoleOrganizationService.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/ISysRoleOrganizationService.java new file mode 100644 index 0000000..d8f9b2e --- /dev/null +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/ISysRoleOrganizationService.java @@ -0,0 +1,29 @@ +package com.kidgrow.oprationcenter.service.feign; + +import com.kidgrow.common.constant.ServiceNameConstants; +import com.kidgrow.common.model.SysRole; +import com.kidgrow.oprationcenter.service.feign.fallback.ISysRoleOrganizationServiceFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; +import java.util.Map; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @Description: <br> + * @Project: <br> + * @CreateDate: Created in 2020/2/22 14:33 <br> + * @Author: <a href="4345453@kidgrow.com">liuke</a> + */ +@FeignClient(name = ServiceNameConstants.OPRATIONCENTER_SERVER, fallbackFactory = ISysRoleOrganizationServiceFallbackFactory.class, decode404 = true) +public interface ISysRoleOrganizationService { + /** + * 根据条件查询 + * @param list + */ + @GetMapping(value = "/sysroleorganization/getRoleOrg") + Map<String, Object> getRoleOrgMap(@RequestParam List<SysRole> list); +} diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/fallback/ISysRoleOrganizationServiceFallbackFactory.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/fallback/ISysRoleOrganizationServiceFallbackFactory.java new file mode 100644 index 0000000..d5f4027 --- /dev/null +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/fallback/ISysRoleOrganizationServiceFallbackFactory.java @@ -0,0 +1,33 @@ +package com.kidgrow.oprationcenter.service.feign.fallback; + +import com.kidgrow.common.model.SysRole; +import com.kidgrow.oprationcenter.service.feign.ISysRoleOrganizationService; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> + * + * @Description: <br> + * @Project: <br> + * @CreateDate: Created in 2020/2/22 14:33 <br> + * @Author: <a href="4345453@kidgrow.com">liuke</a> + */ +@Slf4j +@Component +public class ISysRoleOrganizationServiceFallbackFactory implements FallbackFactory<ISysRoleOrganizationService> { + @Override + public ISysRoleOrganizationService create(Throwable throwable) { + return new ISysRoleOrganizationService() { + @Override + public Map<String, Object> getRoleOrgMap(List<SysRole> list) { + return new HashMap<>(); + } + }; + } +} diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysProductServiceImpl.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysProductServiceImpl.java index a57e78b..2945148 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysProductServiceImpl.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysProductServiceImpl.java @@ -3,12 +3,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysUser; import com.kidgrow.common.service.impl.SuperServiceImpl; +import com.kidgrow.oprationcenter.service.feign.ISysRoleOrganizationService; import com.kidgrow.oprationcenter.mapper.SysProductMapper; import com.kidgrow.oprationcenter.model.SysProduct; import com.kidgrow.oprationcenter.service.ISysProductService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; @@ -26,14 +29,18 @@ @Slf4j @Service public class SysProductServiceImpl extends SuperServiceImpl<SysProductMapper, SysProduct> implements ISysProductService { + @Autowired + private ISysRoleOrganizationService sysRoleOrganizationService; /** * 列表 * @param params * @return */ @Override - public PageResult<SysProduct> findList(Map<String, Object> params){ + public PageResult<SysProduct> findList(Map<String, Object> params, SysUser sysUser){ Page<SysProduct> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); + Map<String, Object> roleOrgMap = sysRoleOrganizationService.getRoleOrgMap(sysUser.getRoles()); + params.putAll(roleOrgMap); List<SysProduct> list = baseMapper.findList(page, params); return PageResult.<SysProduct>builder().data(list).code(0).count(page.getTotal()).build(); } diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml index c23f867..4a1c70c 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml @@ -57,6 +57,7 @@ <if test="p.updateTime != null and p.updateTime !=''"> and update_time = #{p.updateTime} </if> + <include refid="com.kidgrow.usercenter.mapper.SysRoleOrganizationMapper.Role_Organization"></include> </where> </sql> diff --git a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysProductController.java b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysProductController.java index 16185a5..c56f27d 100644 --- a/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysProductController.java +++ b/kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysProductController.java @@ -1,8 +1,10 @@ package com.kidgrow.oprationcenter.controller; +import com.kidgrow.common.annotation.LoginUser; import com.kidgrow.common.controller.BaseController; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.model.ResultBody; +import com.kidgrow.common.model.SysUser; import com.kidgrow.oprationcenter.model.ProductOrderDetail; import com.kidgrow.oprationcenter.model.SysProduct; import com.kidgrow.oprationcenter.service.IProductOrderDetailService; @@ -51,12 +53,12 @@ @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") }) @GetMapping - public PageResult list(@RequestParam Map<String, Object> params) { + public PageResult list(@RequestParam Map<String, Object> params, @LoginUser SysUser sysUser) { if(params.size()==0){ params.put("page",1); params.put("limit",10); } - return sysProductService.findList(params); + return sysProductService.findList(params,sysUser); } /** diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java index f3d2c59..4a87b0e 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java @@ -36,5 +36,7 @@ boolean saveOrUpdateSer(SysRoleOrganizationDto sysRoleOrganizationDto, SysUser user); ResultBody getTree(Map<String, Object> params,SysUser user); + + Map<String, Object> getRoleOrgMap( SysUser user); } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java index f9cf315..29d6233 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java @@ -192,6 +192,13 @@ } return listMap; } + + /** + * 将权限 分装到map对像 + * @param params + * @param user + */ + public void getRoleOrg(Map<String, Object> params, SysUser user){ List<SysRole> roles = user.getRoles(); List<Map<SysRole,List<SysRoleOrganization>>> listroleOrg=new ArrayList<>(); @@ -211,4 +218,11 @@ //添加权限控制 params.put("roleOrg",listroleOrg); } + + @Override + public Map<String, Object> getRoleOrgMap(SysUser user) { + Map<String, Object> map=new HashMap<>(); + getRoleOrg(map,user); + return map; + } } diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java index 9e07de2..4adaf4d 100644 --- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java +++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java @@ -112,6 +112,13 @@ public ResultBody getTree(@RequestParam Map<String, Object> params,@LoginUser SysUser user) { return sysRoleOrganizationService.getTree(params,user); } + @ApiOperation(value = "获取数据权限的map") + @GetMapping("getRoleOrg") + public Map<String, Object> getRoleOrgMap(@RequestParam List<SysRole> list) { + SysUser user=new SysUser(); + user.setRoles(list); + return sysRoleOrganizationService.getRoleOrgMap(user); + } /** * 删除 diff --git a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java index bd604d7..788ff72 100644 --- a/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java +++ b/kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java @@ -29,4 +29,8 @@ * 订单Demo服务名 */ String DEMO_ORDER_SERVICE="demo-order-server"; + /** + * oprationcenter-server服务 + */ + String OPRATIONCENTER_SERVER = "oprationcenter-server"; } -- Gitblit v1.8.0