liupeng пре 5 година
родитељ
комит
af1dc5e1d9

+ 1 - 1
code/sapparent/pom.xml

@@ -42,7 +42,7 @@
 		<commons-io.version>2.5</commons-io.version>
 		<commons-logging.version>1.2</commons-logging.version>
 		<quartz-version>2.2.2</quartz-version>
-		<weixin-java-cp.version>3.6.0</weixin-java-cp.version>
+		<weixin-java-cp.version>3.7.8.B</weixin-java-cp.version>
 		<lombok.version>1.18.10</lombok.version>
 	</properties>
 

+ 46 - 9
code/sapparent/sapservice/src/main/java/org/fouram/core/plugin/weixin/cp/util/WXCpOaUtil.java

@@ -1,7 +1,7 @@
 package org.fouram.core.plugin.weixin.cp.util;
 
-import static org.fouram.core.plugin.weixin.cp.core.WXCpOaBase.oaService;
 import static org.fouram.core.plugin.weixin.cp.core.WXCpOaApprovalBase.oaApprovalService;
+import static org.fouram.core.plugin.weixin.cp.core.WXCpOaBase.oaService;
 
 import java.util.Date;
 import java.util.List;
@@ -11,9 +11,12 @@ import org.fouram.core.util.DateUtil;
 import com.google.common.collect.Lists;
 
 import me.chanjar.weixin.common.error.WxErrorException;
-import me.chanjar.weixin.cp.bean.WxCpApprovalDataResult;
-import me.chanjar.weixin.cp.bean.WxCpCheckinData;
-import me.chanjar.weixin.cp.bean.WxCpCheckinOption;
+import me.chanjar.weixin.cp.bean.oa.WxCpApprovalDetailResult;
+import me.chanjar.weixin.cp.bean.oa.WxCpApprovalInfo;
+import me.chanjar.weixin.cp.bean.oa.WxCpApprovalInfoQueryFilter;
+import me.chanjar.weixin.cp.bean.oa.WxCpApprovalInfoQueryFilter.KEY;
+import me.chanjar.weixin.cp.bean.oa.WxCpCheckinData;
+import me.chanjar.weixin.cp.bean.oa.WxCpCheckinOption;
 
 /**
  * 企业微信用户工具类
@@ -44,14 +47,48 @@ public class WXCpOaUtil {
 			return Lists.newArrayList();
 		}
 	}
+	
+	public static List<WxCpApprovalInfo> getAllApprovalInfo(Date startTime, Date endTime) throws WxErrorException {
+		List<WxCpApprovalInfo> result = Lists.newArrayList();
+		Integer cursor = 0;
+		while(true) {
+			WxCpApprovalInfo approvalInfo = getApprovalInfo(startTime, endTime, cursor);
+			result.add(approvalInfo);
+			if(approvalInfo.getNextCursor() != null) {
+				cursor = approvalInfo.getNextCursor();
+			}else {
+				return result;
+			}
+		}
+	}
+	
+	public static List<WxCpApprovalDetailResult> getApprovalDetailList(Date startTime, Date endTime) throws WxErrorException {
+		List<WxCpApprovalDetailResult> result = Lists.newArrayList();
+		for(WxCpApprovalInfo approvalInfo : getAllApprovalInfo(startTime, endTime)) {
+			for(String spNo : approvalInfo.getSpNoList()) {
+				result.add(oaApprovalService.getApprovalDetail(spNo));
+			}
+		}
+		return result;
+	}
 
-	public static WxCpApprovalDataResult getApprovalData(Date startTime, Date endTime) throws WxErrorException {
-		return oaApprovalService.getApprovalData(startTime, endTime, null);
+	public static WxCpApprovalInfo getApprovalInfo(Date startTime, Date endTime, Integer cursor) throws WxErrorException {
+		List<WxCpApprovalInfoQueryFilter> filters = Lists.newArrayList();
+		WxCpApprovalInfoQueryFilter filter1 = new WxCpApprovalInfoQueryFilter();
+		filter1.setKey(KEY.TEMPLATE_ID);
+		filter1.setValue("Bs5GudP8BZj4AuSmR8qHopZXhkYKXZ2mU3rP4jeQB");
+		filters.add(filter1);
+		WxCpApprovalInfoQueryFilter filter2 = new WxCpApprovalInfoQueryFilter();
+		filter2.setKey(KEY.SP_STATUS);
+		filter2.setValue("2"); // 已通过
+		filters.add(filter2);
+		return oaApprovalService.getApprovalInfo(startTime, endTime, cursor, 100, filters);
 	}
 
 	public static void main(String[] args) throws Exception {
-		WxCpApprovalDataResult approvalDataResult = WXCpOaUtil.getApprovalData(
-				DateUtil.sdfTime.parse("2020-04-01 00:00:00"), DateUtil.sdfTime.parse("2020-04-30 23:59:59"));
-		System.out.println(approvalDataResult);
+		for(WxCpApprovalDetailResult approvalInfo : WXCpOaUtil.getApprovalDetailList(
+				DateUtil.sdfTime.parse("2020-04-01 00:00:00"), DateUtil.sdfTime.parse("2020-04-30 23:59:59"))) {
+			System.out.println(approvalInfo);
+		}
 	}
 }

+ 3 - 3
code/sapparent/sapservice/src/main/java/org/fouram/service/SapCheckService.java

@@ -20,9 +20,9 @@ import org.springframework.stereotype.Service;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
-import me.chanjar.weixin.cp.bean.WxCpCheckinData;
-import me.chanjar.weixin.cp.bean.WxCpCheckinOption;
-import me.chanjar.weixin.cp.bean.WxCpCheckinOption.CheckinTime;
+import me.chanjar.weixin.cp.bean.oa.WxCpCheckinData;
+import me.chanjar.weixin.cp.bean.oa.WxCpCheckinOption;
+import me.chanjar.weixin.cp.bean.oa.WxCpCheckinOption.CheckinTime;
 
 @Service
 public class SapCheckService extends BaseService {