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