Преглед изворни кода

[公众号消息][修改]:第三方平台api处理公众号消息

release
Stormeye Wu пре 7 година
родитељ
комит
e59a22e905
2 измењених фајлова са 27 додато и 12 уклоњено
  1. +27
    -8
      mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java
  2. +0
    -4
      mlWechatOpen/src/main/java/com/iformall/mp/builder/TextBuilder.java

+ 27
- 8
mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java Прегледај датотеку

@@ -28,9 +28,11 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.nio.charset.Charset;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -157,8 +159,7 @@ public class WechatCalllbackController extends BaseController {

@RequestMapping(value = "/{appId}/callback")
@ApiOperation("消息回调")
@ResponseBody
public String callback(@PathVariable("appId") String appId, HttpServletRequest request) throws IOException {
public void callback(@PathVariable("appId") String appId, HttpServletRequest request, HttpServletResponse response) throws IOException {
logger.info("[" + getIpAddr() + "]接收微信APP回调 /{appId}/callback");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
@@ -217,18 +218,30 @@ public class WechatCalllbackController extends BaseController {
default:
break;
}
return "success";
PrintWriter pr = response.getWriter();
pr.print("success");
pr.flush();
pr.close();
return;
}
case "text":
WxMpXmlOutMessage outMessage = openService.getWxOpenMessageRouter().route(inMessage, appId);
if (outMessage == null) {
return "success";
PrintWriter pr = response.getWriter();
pr.print("success");
pr.flush();
pr.close();
return;
}
out = WxOpenXmlMessage.wxMpOutXmlMessageToEncryptedXml(outMessage, openService.getWxOpenConfigStorage());
logger.info(out);
break;
default:
return "success";
PrintWriter pr = response.getWriter();
pr.print("success");
pr.flush();
pr.close();
return;
}
} else {
// 公众号
@@ -237,18 +250,24 @@ public class WechatCalllbackController extends BaseController {
WxMpXmlOutMessage outMessage = mpManager.getRouter(mpService).route(inMessage);
if (outMessage == null) {
this.logger.info("2 return: success");
return "success";
PrintWriter pr = response.getWriter();
pr.print("success");
pr.flush();
pr.close();
return;
}
logger.info("组装回复" + outMessage.toXml());
out = outMessage.toEncryptedXml(mpService.getWxMpConfigStorage());
logger.info("组装回复消息-->"+out);
return "success";
} catch (Exception e) {
logger.error("路由消息时出现异常!", e);
}
}

return out;
PrintWriter pr = response.getWriter();
pr.print(out);
pr.flush();
pr.close();
}

private void updateAuditStatus(String appId, boolean success, String reason) {


+ 0
- 4
mlWechatOpen/src/main/java/com/iformall/mp/builder/TextBuilder.java Прегледај датотеку

@@ -16,13 +16,9 @@ public class TextBuilder extends AbstractBuilder {
@Override
public WxMpXmlOutMessage build(String content, WxMpXmlMessage wxMessage,
WxMpService service) {
logger.info("content->" +content);
logger.info("getToUser->" +wxMessage.getToUser());
logger.info("getFromUser->" +wxMessage.getFromUser());
WxMpXmlOutTextMessage m = WxMpXmlOutMessage.TEXT().content(content)
.fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser())
.build();
logger.info(m.toString());
return m;
}



Loading…
Откажи
Сачувај