|
@@ -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);
|
|
|
+ }
|
|
|
}
|
|
|
}
|