PushOrderService.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.goafanti.order.service.impl;
  2. import com.goafanti.common.constant.AFTConstants;
  3. import com.goafanti.common.dao.AdminMapper;
  4. import com.goafanti.common.utils.StringUtils;
  5. import com.goafanti.core.shiro.token.TokenManager;
  6. import groovy.util.logging.Log4j;
  7. import groovy.util.logging.Log4j2;
  8. import org.apache.commons.collections4.bag.SynchronizedSortedBag;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.util.List;
  12. @Service
  13. public class PushOrderService {
  14. public static String DEFAULTS_URL="/image/noPermission.jpg";
  15. @Autowired
  16. private AdminMapper adminMapper;
  17. public String ShiroConstant(String url,String aid,Integer approval,String orderDep){
  18. if (StringUtils.isNotNull(url)) {
  19. //暂时开放营销管理员可以查看
  20. if (TokenManager.hasRole(AFTConstants.SUPERADMIN) || TokenManager.hasRole(AFTConstants.APPROVAL_DECISION) ||
  21. TokenManager.hasRole(AFTConstants.CUSTOMER_SERVICE) || TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)
  22. || TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)) {
  23. return url;
  24. } else if (TokenManager.hasRole(AFTConstants.CED)) {
  25. if (approval == 1) {
  26. return url;
  27. } else {
  28. return url;
  29. }
  30. } else if (TokenManager.hasRole(AFTConstants.FINANCE)) {
  31. List<String> deps = adminMapper.getFinanceDep(TokenManager.getAdminId());
  32. boolean flag = false;
  33. for (String dep : deps) {
  34. if (dep.equals(orderDep)) {
  35. flag = true;
  36. break;
  37. }
  38. }
  39. if (flag) {
  40. return url;
  41. } else {
  42. return DEFAULTS_URL;
  43. }
  44. } else if (TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)) {
  45. List<String> deps = adminMapper.getLowerFinanceDep(TokenManager.getAdminId());
  46. boolean flag = false;
  47. for (String dep : deps) {
  48. if (orderDep.equals(deps)) {
  49. flag = true;
  50. break;
  51. }
  52. }
  53. if (flag) {
  54. return url;
  55. } else {
  56. return DEFAULTS_URL;
  57. }
  58. } else if (TokenManager.hasRole(AFTConstants.SALESMAN)) {
  59. if (TokenManager.getAdminId().equals(aid)) {
  60. return url;
  61. } else {
  62. return DEFAULTS_URL;
  63. }
  64. } else {
  65. return DEFAULTS_URL;
  66. }
  67. }
  68. return null;
  69. }
  70. }