浏览代码

fix: dynamic update

许家凯 3 年之前
父节点
当前提交
cbea699f26

+ 4 - 1
src/main/java/com/winhc/bigdata/task/jobs/DynamicPersonIdUpdateJob.java

@@ -175,7 +175,7 @@ public class DynamicPersonIdUpdateJob {
         return CompletableFuture.runAsync(() -> {
             try {
                 String s = restClient.updateByQuery("winhc-company-dynamic/_update_by_query?conflicts=proceed", createUpdate);
-                if (s.contains("version_conflicts") && s.contains("\"version_conflicts\": 0")) {
+                if (s.contains("version_conflicts") && s.contains("\"version_conflicts\":0")) {
                     //do something
                 } else {
                     log.error("update error {}", s);
@@ -224,6 +224,9 @@ public class DynamicPersonIdUpdateJob {
 
     private void remove8(String id, String index, String keyno, String validId, Map<String, Object> data) {
 //        dingTalkService.send(JSON.toJSONString(data));
+        if (StringUtils.isEmpty(id)) {
+            return;
+        }
         JSONObject jData = new JSONObject(data);
         String dynamic_info = jData.getString("dynamic_info");
         if (StringUtils.isEmpty(dynamic_info)) return;

+ 5 - 0
src/main/java/com/winhc/bigdata/task/service/impl/DingTalkServiceImpl.java

@@ -42,11 +42,16 @@ public class DingTalkServiceImpl implements DingTalkService {
         return send("【winhc-bigdata-task.error】" + StrUtil.format(errorMsgTemplate, params));
     }
 
+    private final static String SUCCESS_RESPONSE = "{\"errcode\":0,\"errmsg\":\"ok\"}";
+
     private boolean send(String body, DingTalkConst to) {
         try {
             Entry<Long, String> sign = DingTalkUtils.getSign(to.getDingSecret());
             String query = to.getAccessToken() + "&timestamp=" + sign.getKey() + "&sign=" + sign.getValue();
             String post = client.post(URL + query, body);
+            if (!SUCCESS_RESPONSE.equals(post)) {
+                log.error("send error:\n{}", body);
+            }
             log.info(post);
             return post.contains("ok");
         } catch (Exception e) {