Browse Source

营销员发起列表新增合同查看权限问题

anderx 4 years ago
parent
commit
5ed23bc698

+ 3 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -141,4 +141,7 @@ public interface AdminMapper {
 
     Admin selectGetSuper(String aid);
 
+    String getFinanceDep(String aid);
+
+    List<String> getLowerFinanceDep(String aid);
 }

+ 7 - 0
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -1022,4 +1022,11 @@
     from admin
     where  open_id= #{openid}
   </select>
+  <select id="getFinanceDep" resultType="java.lang.String">
+    select id from department where finance_id = #{aid}
+  </select>
+  <select id="getLowerFinanceDep" resultType="java.lang.String">
+    select b.id from admin a left join department b on a.id=b.finance_id
+    where a.superior_id = #{aid}
+  </select>
 </mapper>

+ 7 - 1
src/main/java/com/goafanti/order/service/impl/OrderNewServiceImpl.java

@@ -192,6 +192,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	private PatentNewService	patentNewService;
 	@Autowired
 	private AsyncUtils	asyncUtils;
+	@Autowired
+	private PushOrderService pushOrderService;
 	
 	@Value(value = "${mobileRemindCodeTemplate}")
 	private String					mobileRemindCodeTemplate	= null;
@@ -560,6 +562,7 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 	@Override
 	public TOrderNewBo getOrderNewDetail(String orderNo) {
 		TOrderNewBo tOrder= tOrderNewMapper.getOrderNewDetail(orderNo);
+		tOrder.setContractPictureUrl(pushOrderService.ShiroConstant(tOrder.getContractPictureUrl(),tOrder.getSalesmanId(),tOrder.getApproval(),tOrder.getOrderDep()));
 		return tOrder;
 	}
 
@@ -1448,5 +1451,8 @@ public class OrderNewServiceImpl extends BaseMybatisDao<TOrderNewMapper> impleme
 
 
 
-	
+
+
+
+
 }

+ 60 - 0
src/main/java/com/goafanti/order/service/impl/PushOrderService.java

@@ -0,0 +1,60 @@
+package com.goafanti.order.service.impl;
+
+
+import com.goafanti.common.constant.AFTConstants;
+import com.goafanti.common.dao.AdminMapper;
+import com.goafanti.core.shiro.token.TokenManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class PushOrderService {
+
+    @Autowired
+    private AdminMapper adminMapper;
+
+    public  String  ShiroConstant(String url,String aid,Integer approval,String orderDep){
+        if(TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||
+                TokenManager.hasRole(AFTConstants.CUSTOMER_SERVICE)||TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)){
+            return url;
+        }else if (TokenManager.hasRole(AFTConstants.CED)){
+            if (approval==1){
+                return url;
+            }else{
+                return "***";
+            }
+        }else if(TokenManager.hasRole(AFTConstants.FINANCE)){
+            String depId=adminMapper.getFinanceDep(TokenManager.getAdminId());
+            if (orderDep.equals(depId)){
+                return url;
+            }else{
+                return "***";
+            }
+        }else if(TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)){
+            List<String> 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 "***";
+                }
+
+            }
+
+        } else if (TokenManager.hasRole(AFTConstants.SALESMAN)){
+            if (TokenManager.getAdminId().equals(aid)){
+                return url;
+            }else{
+                return "***";
+            }
+        }
+        return "***";
+    }
+}