|
|
@@ -2,6 +2,8 @@ package com.cnd3b.service;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.aliyun.oss.OSSClient;
|
|
|
+import com.aliyun.oss.model.*;
|
|
|
import com.cnd3b.common.BaseClass;
|
|
|
import com.cnd3b.common.data.Rows;
|
|
|
import com.cnd3b.common.data.SQLFactory;
|
|
|
@@ -9,6 +11,7 @@ import com.cnd3b.common.data.db.DBConnect;
|
|
|
import com.cnd3b.common.data.db.SQLiteJDBC;
|
|
|
import com.cnd3b.common.parameter.parameter;
|
|
|
import com.cnd3b.utility.WebRequest;
|
|
|
+import com.cnd3b.utility.aliyun.oss.AliyunOSSConfigConstant;
|
|
|
import com.cnd3b.utility.wechatdock.WechatDock_Enterprise;
|
|
|
import p2.common.parse.A;
|
|
|
import p2.pao.PaoRemote;
|
|
|
@@ -16,25 +19,84 @@ import p2.pao.PaoSetRemote;
|
|
|
import p2.util.P2Exception;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.zip.ZipEntry;
|
|
|
|
|
|
-public class GetWechatData extends BaseClass implements Runnable {
|
|
|
+import static com.cnd3b.utility.aliyun.oss.AliyunOSSConfigConstant.BUCKE_NAME_1;
|
|
|
|
|
|
+public class GetWechatData extends BaseClass implements Runnable {
|
|
|
|
|
|
|
|
|
@Override
|
|
|
public void run() {
|
|
|
// if (new SQLiteJDBC().checkServicesUsed("GetWechatData", false)) {
|
|
|
- try {
|
|
|
- System.err.println("GetWechatData Service start...");
|
|
|
- getDepartmentList();
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
+ try {
|
|
|
+ System.err.println("GetWechatData Service start...");
|
|
|
+ getDepartmentList();
|
|
|
+ clearCache();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public void clearCache() {
|
|
|
+ OSSClient client = new OSSClient(AliyunOSSConfigConstant.END_POINT, AliyunOSSConfigConstant.AccessKey_ID, AliyunOSSConfigConstant.AccessKey_Secret);
|
|
|
+ //下载文件夹
|
|
|
+// String[] objectFolder = folder;
|
|
|
+ // 构造ListObjectsRequest请求。
|
|
|
+ ListObjectsRequest listObjectsRequest = new ListObjectsRequest(AliyunOSSConfigConstant.BUCKE_NAME_1);
|
|
|
+
|
|
|
+ // 设置prefix参数来获取fun目录下的所有文件。
|
|
|
+ listObjectsRequest.setPrefix("cacheFiles/");
|
|
|
+ // 递归列举目录下的所有文件。
|
|
|
+ ObjectListing listing = client.listObjects(listObjectsRequest);
|
|
|
+ // 遍历所有文件。
|
|
|
+ List<String> keysList = new ArrayList<>();
|
|
|
+ for (OSSObjectSummary objectSummary : listing.getObjectSummaries()) {
|
|
|
+ if (!objectSummary.getKey().endsWith("/")) {
|
|
|
+ String key = objectSummary.getKey();
|
|
|
+ if (!isLatestWeek(objectSummary.getLastModified(), new Date())) {
|
|
|
+ keysList.add(key);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ DeleteObjectsRequest request = new DeleteObjectsRequest(BUCKE_NAME_1);
|
|
|
+ request.setKeys(keysList);
|
|
|
+ // 发起deleteObjects请求。
|
|
|
+ client.deleteObjects(request);
|
|
|
+ client.shutdown();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断某个时间是否在当前时间的七天之内
|
|
|
+ * 如果是返回true,反之返回false
|
|
|
+ *
|
|
|
+ * @param addtime
|
|
|
+ * @param now
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public boolean isLatestWeek(Date addtime, Date now) {
|
|
|
+ Calendar calendar = Calendar.getInstance(); //得到日历
|
|
|
+ calendar.setTime(now);//把当前时间赋给日历
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, -7); //设置为7天前
|
|
|
+ Date before7days = calendar.getTime(); //得到7天前的时间
|
|
|
+ if (before7days.getTime() < addtime.getTime()) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 获取企业微信部门列表
|
|
|
*
|