package com.goafanti.order.service.impl; import com.goafanti.common.constant.AFTConstants; import com.goafanti.common.dao.AdminMapper; import com.goafanti.common.utils.StringUtils; import com.goafanti.core.shiro.token.TokenManager; import groovy.util.logging.Log4j; import groovy.util.logging.Log4j2; import org.apache.commons.collections4.bag.SynchronizedSortedBag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class PushOrderService { public static String DEFAULTS_URL="/image/noPermission.jpg"; @Autowired private AdminMapper adminMapper; public String ShiroConstant(String url,String aid,Integer approval,String orderDep){ if (StringUtils.isNotNull(url)) { //暂时开放营销管理员可以查看 if (TokenManager.hasRole(AFTConstants.SUPERADMIN) || TokenManager.hasRole(AFTConstants.APPROVAL_DECISION) || TokenManager.hasRole(AFTConstants.CUSTOMER_SERVICE) || TokenManager.hasRole(AFTConstants.FINANCE_ADMIN) || TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)) { return url; } else if (TokenManager.hasRole(AFTConstants.CED)) { if (approval == 1) { return url; } else { return url; } } else if (TokenManager.hasRole(AFTConstants.FINANCE)) { List deps = adminMapper.getFinanceDep(TokenManager.getAdminId()); boolean flag = false; for (String dep : deps) { if (dep.equals(orderDep)) { flag = true; break; } } if (flag) { return url; } else { return DEFAULTS_URL; } } else if (TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)) { List deps = adminMapper.getLowerFinanceDep(TokenManager.getAdminId()); boolean flag = false; for (String dep : deps) { if (orderDep.equals(deps)) { flag = true; break; } } if (flag) { return url; } else { return DEFAULTS_URL; } } else if (TokenManager.hasRole(AFTConstants.SALESMAN)) { if (TokenManager.getAdminId().equals(aid)) { return url; } else { return DEFAULTS_URL; } } else { return DEFAULTS_URL; } } return null; } }