|
|
@@ -46,8 +46,7 @@ public class PushMember {
|
|
|
myWriter.writeToFile("推送【member】获取 access_token 失败!", "abnormal");
|
|
|
}
|
|
|
} else {
|
|
|
- if (!myWriter.readFromFile("none"))
|
|
|
- myWriter.writeToFile("没有要推送的记录!", "none");
|
|
|
+ if (!myWriter.readFromFile("none")) myWriter.writeToFile("没有要推送的记录!", "none");
|
|
|
}
|
|
|
} catch (JsonProcessingException e) {
|
|
|
myWriter.writeToFile(e.getMessage(), "abnormal");
|
|
|
@@ -120,7 +119,7 @@ public class PushMember {
|
|
|
jsonObject.put("card_numbers", jsonArray);
|
|
|
HttpEntity<String> request = new HttpEntity<>(jsonObject.toString(), headers);
|
|
|
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");
|
|
|
} catch (JsonProcessingException e) {
|
|
|
@@ -275,7 +274,14 @@ public class PushMember {
|
|
|
if ("1".equals(member.getMinOutSchool())) org.append("/教职工");
|
|
|
else {
|
|
|
// 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;
|
|
|
}
|
|
|
else {
|
|
|
@@ -446,11 +452,9 @@ public class PushMember {
|
|
|
int updateCount = updateLocalTable(2, member);
|
|
|
if (updateCount > 0) {
|
|
|
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 {
|
|
|
- myWriter.writeToFile("成员推送成功," + cardNumber + "|"
|
|
|
- + member.getMname() + "|" + member.getMmajor() + "|" + member.getMidCard(), "ok");
|
|
|
+ myWriter.writeToFile("成员推送成功," + cardNumber + "|" + member.getMname() + "|" + member.getMmajor() + "|" + member.getMidCard(), "ok");
|
|
|
}
|
|
|
} else {
|
|
|
myWriter.writeToFile("成员推送失败," + member.getMcardNumber() + "|" + member.getMidCard(), "");
|
|
|
@@ -463,11 +467,9 @@ public class PushMember {
|
|
|
// 标记为1已存在
|
|
|
int updateCount = updateLocalTable(1, member);
|
|
|
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 {
|
|
|
- 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 返回值
|
|
|
*/
|
|
|
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() + "'";
|
|
|
return DBUtils.update(updateSql);
|
|
|
}
|
|
|
@@ -524,7 +526,8 @@ public class PushMember {
|
|
|
ObjectMapper objectMapper = new ObjectMapper(); // 创建ObjectMapper对象
|
|
|
MemReturnFromWeixin memReturnFromWeixin = objectMapper.readValue(body, MemReturnFromWeixin.class);
|
|
|
// 如果用户信息列表数组是空数组或者数组长度等于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;
|
|
|
} else {
|
|
|
@@ -554,9 +557,13 @@ public class PushMember {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
// 身份1学生 2教职工、身份证号id_card,如果二个都相等,则认为微校存在此用户成员,否则认为没有
|
|
|
+ // 微校:1学生 4教职工 5校友 6访客应用身份 7临时人员 0其他)
|
|
|
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;
|
|
|
} else {
|
|
|
// 微校没有有该成员
|
|
|
@@ -577,8 +584,7 @@ public class PushMember {
|
|
|
*/
|
|
|
private void setLocalTable(String cause, MemberEntity member) {
|
|
|
// 不能标记为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);
|
|
|
// if (updateCount > 0)
|
|
|
// myWriter.writeToFile(cause + ",m_status已标记为3,m_status_time为标记时间,人工处理后再推送," + member.getMcardNumber() + "|"
|