Java对接企业微信审批功能,看这一篇就够了
@GetMapping("/feedbackFromWx")
public String feedbackFromWxVerifyURL(String msg_signature, String timestamp, String nonce, String echostr) throws AesException {
System.out.printf("-------feedbackFromWx ------ msg_signature:%s, Long timestamp:%s, String nonce:%s, String echostr:%s%n",
msg_signature, timestamp, nonce, echostr);
String sToken = "zwb6666";
String sEncodingAESKey = "9QVSyFkf3IvZrlcV3WVxhLGMWZGMzj3SDmsWDQqYGBL";
WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(sToken, sEncodingAESKey, CommonConstant.CORPID);
String sMsg = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr);
System.out.printf("sMsg:%s%n", sMsg);
return sMsg;
}
@PostMapping("/feedbackFromWx")
public String feedbackFromWxData(String msg_signature, String timestamp, String nonce, @RequestBody String data)
throws AesException, ParserConfigurationException, IOException, SAXException, org.xml.sax.SAXException {
System.out.println(String.format("-------feedbackFromWx ------ msg_signature:%s, Long timestamp:%s, String nonce:%s, String data:%s",
msg_signature, timestamp, nonce, data));
String sToken = "zwb6666";
String sEncodingAESKey = "9QVSyFkf3IvZrlcV3WVxhLGMWZGMzj3SDmsWDQqYGBL";
WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(sToken, sEncodingAESKey, CommonConstant.CORPID);
String sMsg = wxcpt.DecryptMsg(msg_signature, timestamp, nonce, data);
System.out.println("sMsg:"+sMsg);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
StringReader sr = new StringReader(sMsg);
InputSource is = new InputSource(sr);
Document document = db.parse(is);
Element root = document.getDocumentElement();
System.out.println("AgentID:"+root.getElementsByTagName("AgentID").item(0).getTextContent());
System.out.println("SpNo:"+root.getElementsByTagName("SpNo").item(0).getTextContent());
System.out.println("SpStatus:"+root.getElementsByTagName("SpStatus").item(0).getTextContent());
System.out.println("TemplateId:"+root.getElementsByTagName("TemplateId").item(0).getTextContent());
return sMsg;
}