소스 검색

微校教职工4的比对修复

soft5566 2 년 전
부모
커밋
d5f91bdbeb
2개의 변경된 파일24개의 추가작업 그리고 18개의 파일을 삭제
  1. 23 17
      src/main/java/com/chkj/pdata/task/PushMember.java
  2. 1 1
      src/main/java/com/chkj/pdata/util/DBUtils.java

+ 23 - 17
src/main/java/com/chkj/pdata/task/PushMember.java

@@ -46,8 +46,7 @@ public class PushMember {
                     myWriter.writeToFile("推送【member】获取 access_token 失败!", "abnormal");
                     myWriter.writeToFile("推送【member】获取 access_token 失败!", "abnormal");
                 }
                 }
             } else {
             } else {
-                if (!myWriter.readFromFile("none"))
-                    myWriter.writeToFile("没有要推送的记录!", "none");
+                if (!myWriter.readFromFile("none")) myWriter.writeToFile("没有要推送的记录!", "none");
             }
             }
         } catch (JsonProcessingException e) {
         } catch (JsonProcessingException e) {
             myWriter.writeToFile(e.getMessage(), "abnormal");
             myWriter.writeToFile(e.getMessage(), "abnormal");
@@ -120,7 +119,7 @@ public class PushMember {
             jsonObject.put("card_numbers", jsonArray);
             jsonObject.put("card_numbers", jsonArray);
             HttpEntity<String> request = new HttpEntity<>(jsonObject.toString(), headers);
             HttpEntity<String> request = new HttpEntity<>(jsonObject.toString(), headers);
             ResponseEntity<String> response = restTemplate.postForEntity(URL + "?access_token=" + access_token, request, String.class);
             ResponseEntity<String> response = restTemplate.postForEntity(URL + "?access_token=" + access_token, request, String.class);
-            System.out.println(response.getBody());
+//            System.out.println(response.getBody());
             // 写入日志文件
             // 写入日志文件
             myWriter.writeToFile(response.toString(), "delMember");
             myWriter.writeToFile(response.toString(), "delMember");
         } catch (JsonProcessingException e) {
         } catch (JsonProcessingException e) {
@@ -275,7 +274,14 @@ public class PushMember {
                         if ("1".equals(member.getMinOutSchool())) org.append("/教职工");
                         if ("1".equals(member.getMinOutSchool())) org.append("/教职工");
                         else {
                         else {
                             // 0,记录到日志,待人工处理
                             // 0,记录到日志,待人工处理
-                            setLocalTable("该教职工【已离职】,需要人工进行判别,此处跳过", member);
+                            // setLocalTable("该教职工【已离职】,需要人工进行判别,此处跳过", member);
+                            // 标记为4已离职
+                            int updateCount = updateLocalTable(4, member);
+                            if (updateCount > 0) {
+                                myWriter.writeToFile("该教职工【已离职】,m_status已标记为4,m_status_time为标记时间,以后不再推送," + member.getMcardNumber() + "|" + member.getMname() + "|" + member.getMidCard(), "");
+                            } else {
+                                myWriter.writeToFile("该教职工【已离职】,m_status 和 m_status_time标记失败," + member.getMcardNumber() + "|" + member.getMname() + "|" + member.getMidCard(), "");
+                            }
                             continue;
                             continue;
                         }
                         }
                     else {
                     else {
@@ -446,11 +452,9 @@ public class PushMember {
                     int updateCount = updateLocalTable(2, member);
                     int updateCount = updateLocalTable(2, member);
                     if (updateCount > 0) {
                     if (updateCount > 0) {
                         if (cardNumber.length() == 14 && Integer.parseInt(cardNumber.substring(0, 4)) >= 2021) {
                         if (cardNumber.length() == 14 && Integer.parseInt(cardNumber.substring(0, 4)) >= 2021) {
-                            myWriter.writeToFile("成员推送成功," + member.getMidCard() + "|"
-                                    + member.getMname() + "|" + member.getMmajor() + "|" + member.getMidCard(), "ok");
+                            myWriter.writeToFile("成员推送成功," + member.getMidCard() + "|" + member.getMname() + "|" + member.getMmajor() + "|" + member.getMidCard(), "ok");
                         } else {
                         } else {
-                            myWriter.writeToFile("成员推送成功," + cardNumber + "|"
-                                    + member.getMname() + "|" + member.getMmajor() + "|" + member.getMidCard(), "ok");
+                            myWriter.writeToFile("成员推送成功," + cardNumber + "|" + member.getMname() + "|" + member.getMmajor() + "|" + member.getMidCard(), "ok");
                         }
                         }
                     } else {
                     } else {
                         myWriter.writeToFile("成员推送失败," + member.getMcardNumber() + "|" + member.getMidCard(), "");
                         myWriter.writeToFile("成员推送失败," + member.getMcardNumber() + "|" + member.getMidCard(), "");
@@ -463,11 +467,9 @@ public class PushMember {
                 // 标记为1已存在
                 // 标记为1已存在
                 int updateCount = updateLocalTable(1, member);
                 int updateCount = updateLocalTable(1, member);
                 if (updateCount > 0) {
                 if (updateCount > 0) {
-                    myWriter.writeToFile("成员已存在,m_status已标记为1,m_status_time为标记时间,以后不再推送," + member.getMcardNumber() + "|"
-                            + member.getMname() + "|" + member.getMidCard(), "");
+                    myWriter.writeToFile("成员已存在,m_status已标记为1,m_status_time为标记时间,以后不再推送," + member.getMcardNumber() + "|" + member.getMname() + "|" + member.getMidCard(), "");
                 } else {
                 } else {
-                    myWriter.writeToFile("成员已存在,m_status 和 m_status_time标记失败," + member.getMcardNumber() + "|"
-                            + member.getMname() + "|" + member.getMidCard(), "");
+                    myWriter.writeToFile("成员已存在,m_status 和 m_status_time标记失败," + member.getMcardNumber() + "|" + member.getMname() + "|" + member.getMidCard(), "");
                 }
                 }
             }
             }
         }
         }
@@ -481,7 +483,7 @@ public class PushMember {
      * @return 返回值
      * @return 返回值
      */
      */
     private int updateLocalTable(int status, MemberEntity member) {
     private int updateLocalTable(int status, MemberEntity member) {
-        // m_status:0未确认,1已存在,2已推送 3有异常
+        // m_status:0未确认,1已存在,2已推送 3有异常 4已离职
         String updateSql = "update member set m_status = " + status + ", m_status_time = now() " + " where m_id = " + member.getMid() + " and m_card_number = '" + member.getMcardNumber() + "'";
         String updateSql = "update member set m_status = " + status + ", m_status_time = now() " + " where m_id = " + member.getMid() + " and m_card_number = '" + member.getMcardNumber() + "'";
         return DBUtils.update(updateSql);
         return DBUtils.update(updateSql);
     }
     }
@@ -524,7 +526,8 @@ public class PushMember {
             ObjectMapper objectMapper = new ObjectMapper(); // 创建ObjectMapper对象
             ObjectMapper objectMapper = new ObjectMapper(); // 创建ObjectMapper对象
             MemReturnFromWeixin memReturnFromWeixin = objectMapper.readValue(body, MemReturnFromWeixin.class);
             MemReturnFromWeixin memReturnFromWeixin = objectMapper.readValue(body, MemReturnFromWeixin.class);
             // 如果用户信息列表数组是空数组或者数组长度等于0,说明没有该成员信息
             // 如果用户信息列表数组是空数组或者数组长度等于0,说明没有该成员信息
-            if ("[]".equals(Arrays.toString(memReturnFromWeixin.getUserlist())) || memReturnFromWeixin.getUserlist().length == 0) {
+//            if ("[]".equals(Arrays.toString(memReturnFromWeixin.getUserlist())) || memReturnFromWeixin.getUserlist().length == 0) {
+            if ("[]".equals(Arrays.toString(memReturnFromWeixin.getUserlist()))) {
                 // 微信没有该成员学工号或者身份证号
                 // 微信没有该成员学工号或者身份证号
                 return true;
                 return true;
             } else {
             } else {
@@ -554,9 +557,13 @@ public class PushMember {
                         }
                         }
                     }
                     }
                 }
                 }
-
                 // 身份1学生 2教职工、身份证号id_card,如果二个都相等,则认为微校存在此用户成员,否则认为没有
                 // 身份1学生 2教职工、身份证号id_card,如果二个都相等,则认为微校存在此用户成员,否则认为没有
+                // 微校:1学生  4教职工  5校友  6访客应用身份  7临时人员  0其他)
                 if (identityType.equals(member.getMidentityType()) && idCard.equals(member.getMidCard())) {
                 if (identityType.equals(member.getMidentityType()) && idCard.equals(member.getMidCard())) {
+                    // 学生:比对身份和身份证号 微校存在
+                    return false;
+                } else if (("4".equals(identityType) && "2".equals(member.getMidentityType())) && idCard.equals(member.getMidCard())) {
+                    // 教职工:比对身份和身份证号 微校存在
                     return false;
                     return false;
                 } else {
                 } else {
                     // 微校没有有该成员
                     // 微校没有有该成员
@@ -577,8 +584,7 @@ public class PushMember {
      */
      */
     private void setLocalTable(String cause, MemberEntity member) {
     private void setLocalTable(String cause, MemberEntity member) {
         // 不能标记为3,因为经过测试后台数据不是一次到位,比如有的card_number到了,但是学院没有到,造成以后都没有推送
         // 不能标记为3,因为经过测试后台数据不是一次到位,比如有的card_number到了,但是学院没有到,造成以后都没有推送
-        myWriter.writeToFile(cause + ",m_status暂时不需要标记,," + member.getMcardNumber() + "|"
-                + member.getMname() + "|" + member.getMidCard(), "abnormal");
+        myWriter.writeToFile(cause + ",m_status暂时不需要标记,," + member.getMcardNumber() + "|" + member.getMname() + "|" + member.getMidCard(), "abnormal");
 //        int updateCount = updateLocalTable(3, member);
 //        int updateCount = updateLocalTable(3, member);
 //        if (updateCount > 0)
 //        if (updateCount > 0)
 //            myWriter.writeToFile(cause + ",m_status已标记为3,m_status_time为标记时间,人工处理后再推送," +  member.getMcardNumber() + "|"
 //            myWriter.writeToFile(cause + ",m_status已标记为3,m_status_time为标记时间,人工处理后再推送," +  member.getMcardNumber() + "|"

+ 1 - 1
src/main/java/com/chkj/pdata/util/DBUtils.java

@@ -11,7 +11,7 @@ public class DBUtils {
     private static final String URL = "jdbc:mysql://172.16.20.77:3306/memdb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
     private static final String URL = "jdbc:mysql://172.16.20.77:3306/memdb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
     private static final String USERNAME = "memdb";
     private static final String USERNAME = "memdb";
     private static final String PASSWORD = "6RHZJYjrT83Ri88C";
     private static final String PASSWORD = "6RHZJYjrT83Ri88C";
-//    private static final String URL = "jdbc:mysql://localhost:3306/member?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
+//    private static final String URL = "jdbc:mysql://localhost:3306/memdb?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC";
 //    private static final String USERNAME = "root";
 //    private static final String USERNAME = "root";
 //    private static final String PASSWORD = "123456";
 //    private static final String PASSWORD = "123456";