Browse Source

【越加红】【增加多条件通用查询方法 】

samhoo 3 years ago
parent
commit
ac17dffb42

+ 3 - 0
src/main/java/com/uas/eis/manager/CommonManager.java

@@ -1,5 +1,6 @@
 package com.uas.eis.manager;
 
+import com.uas.eis.beans.req.CrmQueryReq;
 import com.uas.eis.beans.result.BaseResult;
 import com.uas.eis.beans.result.CrmAddResult;
 import com.uas.eis.beans.result.CrmQueryResult;
@@ -12,6 +13,8 @@ public interface CommonManager {
 
     public CrmQueryResult queryCommon(String field_name, List<String> field_values, String operator, String orderFieldName, Boolean orderAsc, int limit, String dataObjectApiName, Boolean isCustom) throws AccessTokenException;
 
+    public CrmQueryResult multiQueryCommon(List<CrmQueryReq.Filters> filtersList, String orderFieldName, Boolean orderAsc, int limit, String dataObjectApiName, Boolean isCustom) throws AccessTokenException;
+
     public BaseResult changeOwnerCommon(List<Map<String,Object>> list, String dataObjectApiName) throws AccessTokenException;
 
     public CrmAddResult createCommonOfCustom(Map<String,Object> data) throws AccessTokenException;

+ 48 - 0
src/main/java/com/uas/eis/manager/impl/CommonManagerImpl.java

@@ -80,6 +80,54 @@ public class CommonManagerImpl implements CommonManager {
         return crmQueryResult;
     }
 
+    @Override
+    public CrmQueryResult multiQueryCommon(List<CrmQueryReq.Filters> filtersList, String orderFieldName, Boolean orderAsc, int limit, String dataObjectApiName, Boolean isCustom) throws AccessTokenException {
+        CrmQueryResult crmQueryResult = new CrmQueryResult();
+
+        CorpAccessToken token = accessTokenManager.getCorpAccessToken();
+        String openUserId = configuration.getOpenUserId();
+
+        /*List<CrmQueryReq.Filters> filtersList = new ArrayList<>();
+
+        CrmQueryReq.Filters filters = new CrmQueryReq.Filters();
+        filters.setField_name(field_name);
+        filters.setField_values(field_values);
+        filters.setOperator(operator);
+
+        filtersList.add(filters);*/
+
+        List<CrmQueryReq.Order> orderList = new ArrayList<>();
+        CrmQueryReq.Order order = new CrmQueryReq.Order();
+        order.setAsc(orderAsc);
+        order.setFieldName(orderFieldName);
+        orderList.add(order);
+
+        CrmQueryReq.SearchQuery searchQuery = new CrmQueryReq.SearchQuery();
+        searchQuery.setFilters(filtersList);
+        searchQuery.setLimit(limit);
+        searchQuery.setOrders(orderList);
+
+        CrmQueryReq.DataApiName dataApiName = new CrmQueryReq.DataApiName();
+        dataApiName.setDataObjectApiName(dataObjectApiName);
+        dataApiName.setSearch_query_info(searchQuery);
+
+        CrmQueryReq crmQueryReq = new CrmQueryReq();
+        crmQueryReq.setCorpAccessToken(token.getCorpAccessToken());
+        crmQueryReq.setCorpId(token.getCorpId());
+        crmQueryReq.setCurrentOpenUserId(openUserId);
+        crmQueryReq.setDataApiName(dataApiName);
+        try {
+            if(isCustom){
+                crmQueryResult = OpenAPIUtils.queryCrmCustomData(crmQueryReq);
+            }else{
+                crmQueryResult = OpenAPIUtils.queryCrmData(crmQueryReq);
+            }
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+        return crmQueryResult;
+    }
+
     @Override
     public BaseResult changeOwnerCommon(List<Map<String,Object>> list,String dataObjectApiName) throws AccessTokenException{
         BaseResult baseResult = new BaseResult();