提交 b83fbd97 authored 作者: 000516's avatar 000516

店内执行查看/修改权限,关联角色与部门

package com.sfa.operation.controller.sales.core; package com.sfa.operation.controller.sales.core;
import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode; import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException; import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.pojo.sales.request.SalesApRequest; import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.qc.IQinceMarketEmployeeService; import com.sfa.operation.service.qc.IQinceMarketEmployeeService;
import com.sfa.operation.service.sales.IApDisplayCoreService; import com.sfa.operation.service.sales.IApDisplayCoreService;
import com.sfa.system.api.domain.SysRole;
import com.sfa.system.api.model.LoginUser; import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Optional;
/** /**
* @author : liqiulin * @author : liqiulin
...@@ -77,11 +80,18 @@ public class ApDisplayCoreController { ...@@ -77,11 +80,18 @@ public class ApDisplayCoreController {
private void checkPermission(){ private void checkPermission(){
// 是区域销售部的人员,查看人客关系 // 是区域销售部的人员,查看人客关系
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
String empNo = loginUser.getUsername(); // 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo); List<SysRole> roles = loginUser.getSysUser().getRoles();
if (dealerCodes.isEmpty()){ Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey()) || RoleConstants.OPERATION_AP_MANAGER.equals(role.getRoleKey())).findFirst();
throw new CheckedException(ECode.QC_MARKET_EMP_ERROR); if (!first.isPresent()) {
throw new CheckedException(ECode.ZZ_PRODUCT_QUALITY_AP_ERROR);
} }
// String empNo = loginUser.getUsername();
// List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
// if (dealerCodes.isEmpty()){
// throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
// }
} }
} }
package com.sfa.operation.controller.sales.core; package com.sfa.operation.controller.sales.core;
import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode; import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException; import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.pojo.sales.request.SalesApRequest; import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.qc.IQinceMarketEmployeeService; import com.sfa.operation.service.qc.IQinceMarketEmployeeService;
import com.sfa.operation.service.sales.IApPromotionCoreService; import com.sfa.operation.service.sales.IApPromotionCoreService;
import com.sfa.system.api.domain.SysRole;
import com.sfa.system.api.model.LoginUser; import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Optional;
/** /**
* @author : liqiulin * @author : liqiulin
...@@ -34,10 +37,17 @@ public class ApPromotionCoreController { ...@@ -34,10 +37,17 @@ public class ApPromotionCoreController {
private void checkPermission(){ private void checkPermission(){
// 是区域销售部的人员,查看人客关系 // 是区域销售部的人员,查看人客关系
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
String empNo = loginUser.getUsername(); // 只有销售(促销AP管理:cxapgl)、大区TM(大区TM促销AP管理:dqtmcxapgl)两种角色才可以修改
List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo); List<SysRole> roles = loginUser.getSysUser().getRoles();
if (dealerCodes.isEmpty()){ Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey()) || RoleConstants.OPERATION_AP_MANAGER.equals(role.getRoleKey())).findFirst();
throw new CheckedException(ECode.QC_MARKET_EMP_ERROR); if (!first.isPresent()) {
throw new CheckedException(ECode.ZZ_PRODUCT_QUALITY_AP_ERROR);
} }
// String empNo = loginUser.getUsername();
// List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
// if (dealerCodes.isEmpty()){
// throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
// }
} }
} }
package com.sfa.operation.controller.sales.query; package com.sfa.operation.controller.sales.query;
import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.core.web.domain.PageInfo; import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.annotation.RequiresPermissions; import com.sfa.common.security.annotation.RequiresPermissions;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
...@@ -7,6 +10,7 @@ import com.sfa.operation.config.ConstantValue; ...@@ -7,6 +10,7 @@ import com.sfa.operation.config.ConstantValue;
import com.sfa.operation.pojo.sales.request.SalesApRequest; import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.qc.IQinceMarketEmployeeService; import com.sfa.operation.service.qc.IQinceMarketEmployeeService;
import com.sfa.operation.service.sales.IApDisplayQueryService; import com.sfa.operation.service.sales.IApDisplayQueryService;
import com.sfa.system.api.domain.SysRole;
import com.sfa.system.api.model.LoginUser; import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -14,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -14,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Optional;
/** /**
* @author : liqiulin * @author : liqiulin
...@@ -93,15 +98,25 @@ public class ApDisplayQueryController { ...@@ -93,15 +98,25 @@ public class ApDisplayQueryController {
return; return;
} }
// 是区域销售部的人员,查看人客关系 // 是区域销售部的人员:1、销售查看人客关系;2、大区TM查看当前部门下所有数据
// 判断是否是大区TM
List<SysRole> roles = loginUser.getSysUser().getRoles();
Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey())).findFirst();
if (first.isPresent()) {
String deptName = loginUser.getSysUser().getDept().getDeptName();
salesApRequest.setDeptName(deptName);
return;
}
// 不是大区TM,判断是否是销售人员
String empNo = loginUser.getUsername(); String empNo = loginUser.getUsername();
List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo); List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
// 没有人客关系,根据部门查询 // 没有人客关系
if (dealerCodes.isEmpty()) { if (dealerCodes.isEmpty()) {
String deptName = loginUser.getSysUser().getDept().getDeptName(); throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
salesApRequest.setDeptName(deptName); // String deptName = loginUser.getSysUser().getDept().getDeptName();
return; // salesApRequest.setDeptName(deptName);
// return;
} }
// 有人客关系,根据负责经销商查询 // 有人客关系,根据负责经销商查询
salesApRequest.setDealerCodes(dealerCodes); salesApRequest.setDealerCodes(dealerCodes);
......
package com.sfa.operation.controller.sales.query; package com.sfa.operation.controller.sales.query;
import com.sfa.common.core.constant.RoleConstants;
import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.CheckedException;
import com.sfa.common.core.web.domain.PageInfo; import com.sfa.common.core.web.domain.PageInfo;
import com.sfa.common.security.utils.SecurityUtils; import com.sfa.common.security.utils.SecurityUtils;
import com.sfa.operation.config.ConstantValue; import com.sfa.operation.config.ConstantValue;
import com.sfa.operation.pojo.sales.request.SalesApRequest; import com.sfa.operation.pojo.sales.request.SalesApRequest;
import com.sfa.operation.service.qc.IQinceMarketEmployeeService; import com.sfa.operation.service.qc.IQinceMarketEmployeeService;
import com.sfa.operation.service.sales.IApPromotionQueryService; import com.sfa.operation.service.sales.IApPromotionQueryService;
import com.sfa.system.api.domain.SysRole;
import com.sfa.system.api.model.LoginUser; import com.sfa.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
...@@ -13,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -13,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
import java.util.Optional;
/** /**
* @author : liqiulin * @author : liqiulin
...@@ -48,16 +53,26 @@ public class ApPromotionQueryController { ...@@ -48,16 +53,26 @@ public class ApPromotionQueryController {
return; return;
} }
// 是区域销售部的人员,查看人客关系 // 是区域销售部的人员:1、销售查看人客关系;2、大区TM查看当前部门下所有数据
String empNo = loginUser.getNickName(); // 判断是否是大区TM
List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo); List<SysRole> roles = loginUser.getSysUser().getRoles();
Optional<SysRole> first = roles.stream().filter(role -> RoleConstants.DISTRICT_AP_MANAGER.equals(role.getRoleKey())).findFirst();
// 没有人客关系,根据部门查询 if (first.isPresent()) {
if (dealerCodes.isEmpty()) {
String deptName = loginUser.getSysUser().getDept().getDeptName(); String deptName = loginUser.getSysUser().getDept().getDeptName();
salesApRequest.setDeptName(deptName); salesApRequest.setDeptName(deptName);
return; return;
} }
// 不是大区TM,判断是否是销售人员
String empNo = loginUser.getUsername();
List<String> dealerCodes = qinceMarketEmployeeService.checkPermission(empNo);
// 没有人客关系
if (dealerCodes.isEmpty()) {
throw new CheckedException(ECode.QC_MARKET_EMP_ERROR);
// String deptName = loginUser.getSysUser().getDept().getDeptName();
// salesApRequest.setDeptName(deptName);
// return;
}
// 有人客关系,根据负责经销商查询 // 有人客关系,根据负责经销商查询
salesApRequest.setDealerCodes(dealerCodes); salesApRequest.setDealerCodes(dealerCodes);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论