Browse Source

企业微信审批引用对接值格式化处理

zhouy 3 years ago
parent
commit
085b910ab8

+ 0 - 1
qywx-sdk/src/main/java/com/usoftchina/qywx/sdk/OaSdk.java

@@ -85,7 +85,6 @@ public class OaSdk extends BaseSdk {
                 GetApprovalCodeResp.class,
                 new ModelMap("access_token", getAccessToken(APPROVAL_AGENT_CODE)));
         assertOK(resp);
-        System.out.println(resp.getBody().getSp_no_list());
         return resp.getBody();
     }
     /**

+ 44 - 3
qywx-sdk/src/main/java/com/usoftchina/qywx/sdk/dto/GetApprovalDetailResp.java

@@ -4,6 +4,7 @@ package com.usoftchina.qywx.sdk.dto;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -29,6 +30,7 @@ public class GetApprovalDetailResp extends BaseResp {
        private Integer sp_status;
        private String template_id;
        private Long apply_time;
+       private Applyer applyer;
        private Object sp_record;
        private ApplyData apply_data;
 
@@ -87,6 +89,37 @@ public class GetApprovalDetailResp extends BaseResp {
         public void setApply_data(ApplyData apply_data) {
             this.apply_data = apply_data;
         }
+
+        public Applyer getApplyer() {
+            return applyer;
+        }
+
+        public void setApplyer(Applyer applyer) {
+            this.applyer = applyer;
+        }
+    }
+
+    public static class Applyer {
+
+        private String userid;
+
+        private String partyid;
+
+        public String getUserid() {
+            return userid;
+        }
+
+        public void setUserid(String userid) {
+            this.userid = userid;
+        }
+
+        public String getPartyid() {
+            return partyid;
+        }
+
+        public void setPartyid(String partyid) {
+            this.partyid = partyid;
+        }
     }
 
     public static class ApplyData {
@@ -149,15 +182,23 @@ public class GetApprovalDetailResp extends BaseResp {
                     '}';
         }
         public String getCNTitle(){
-            return  JSONArray.parseArray(title).stream().filter(o -> {
-                return  JSONObject.parseObject( String.valueOf(o)).getString("lang").equals("zh_CN");
-            }).findFirst().get().toString();
+            return  JSONObject.parseObject(JSONArray.parseArray(title).stream().filter(o ->
+                    JSONObject.parseObject( String.valueOf(o)).getString("lang").equals("zh_CN")
+            ).findFirst().get().toString()).getString("text");
         }
 
         public String getFormatValue(){
             switch (control){
+                case "Text" :
+                    return JSONObject.parseObject(value).getString("text");
                 case "Textarea" :
                     return JSONObject.parseObject(value).getString("text");
+                case "Number" :
+                    return JSONObject.parseObject(value).getString("new_number");
+                case "Date" :
+                    return String.valueOf(JSONObject.parseObject(value).getJSONObject("date").getLong("s_timestamp"));
+                case "Location" :
+                    return JSONObject.parseObject(value).getString("location");
                 default :
                     return value;
             }

+ 4 - 0
uas-office-qywx-server/src/main/resources/erp_schema.json

@@ -44,6 +44,10 @@
         "name": "apply_time",
         "type": "date"
       },
+      {
+        "name": "applyer",
+        "type": "varchar2(50)"
+      },
       {
         "name": "state",
         "type": "number",

+ 1 - 3
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/manage/service/QywxOASyncService.java

@@ -45,9 +45,7 @@ public class QywxOASyncService extends AbstractService {
      * 保存审批详情
      * */
     public void saveApproval(GetApprovalDetailResp.ApprovalDetail detail, Date syncTime) {
-        System.out.println(detail.getApply_time());
-        System.out.println(new Date(detail.getApply_time().longValue()*1000));
-        jdbcTemplate.update("insert into QywxApprovalRecord(sync_time, spno, spname, apply_time ) values (?, ?, ? ,?)", syncTime, detail.getSp_no(), detail.getSp_name(), new Date(detail.getApply_time()*1000));
+        jdbcTemplate.update("insert into QywxApprovalRecord(sync_time, spno, spname, apply_time, applyer ) values (?, ?, ? ,?, ?)", syncTime, detail.getSp_no(), detail.getSp_name(), new Date(detail.getApply_time()*1000), detail.getApplyer().getUserid());
         /**
          * 保存详情信息
          * */

+ 1 - 0
uas-office-qywx/src/main/java/com/usoftchina/uas/office/qywx/task/QywxOATask.java

@@ -65,6 +65,7 @@ public class QywxOATask {
                 }
                 approvalCodes.stream().forEach(code -> {
                     GetApprovalDetailResp.ApprovalDetail detail = oaSdk.getApprovalDetail(code);
+                   // System.out.println(detail.getApply_data().getContents());
                     syncService.saveApproval(detail, now);
                 });
                 syncService.setSyncTime(now);