forked from kidgrow-microservices-platform

zhaoxiaohao
2020-04-26 3b634c3db32ca2eb3f661c29b3ff088a7f42318a
添加 产品管理控制权限
2 files added
8 files modified
108 ■■■■■ changed files
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/ISysProductService.java 3 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/ISysRoleOrganizationService.java 29 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/fallback/ISysRoleOrganizationServiceFallbackFactory.java 33 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/SysProductServiceImpl.java 9 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml 1 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/SysProductController.java 6 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/ISysRoleOrganizationService.java 2 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysRoleOrganizationServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysRoleOrganizationController.java 7 ●●●●● patch | view | raw | blame | history
kidgrow-commons/kidgrow-common-spring-boot-starter/src/main/java/com/kidgrow/common/constant/ServiceNameConstants.java 4 ●●●● patch | view | raw | blame | history
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);
    /**
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/ISysRoleOrganizationService.java
New file
@@ -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);
}
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/feign/fallback/ISysRoleOrganizationServiceFallbackFactory.java
New file
@@ -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<>();
          }
      };
    }
}
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();
    }
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>
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);
    }
    /**
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);
}
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;
    }
}
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);
    }
    /**
     * 删除
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";
}