trick9191 6 年 前
コミット
a467fcea43

+ 26 - 30
svr/svr-base/src/main/java/com/yihu/jw/business/wx/controller/WechatCoreController.java

@ -67,45 +67,41 @@ public class WechatCoreController extends EnvelopRestEndpoint {
     */
    @RequestMapping(method = RequestMethod.POST)
    @ResponseBody
    public void receiveMessages(HttpServletRequest request, HttpServletResponse response) {
        try {
            String signature = request.getParameter("signature").toString();
            String timestamp = request.getParameter("timestamp").toString();
            String nonce = request.getParameter("nonce").toString();
            if (validate(signature, timestamp, nonce)) {
                String xmlStr = wechatCoreService.messageProcess(request);
                // 判断返回值是xml、json格式(取关是空串)
                Boolean flag = wechatCoreService.isXML(xmlStr);
                if (xmlStr == "error") {
                    // 服务器错误
                    response.setStatus(500);
                } else if (!flag && StringUtils.isNotEmpty(xmlStr)) {
                    JSONObject json = new JSONObject(xmlStr);
    public void receiveMessages(HttpServletRequest request, HttpServletResponse response) throws Exception{
        String signature = request.getParameter("signature").toString();
        String timestamp = request.getParameter("timestamp").toString();
        String nonce = request.getParameter("nonce").toString();
        if (validate(signature, timestamp, nonce)) {
            String xmlStr = wechatCoreService.messageProcess(request);
            // 判断返回值是xml、json格式(取关是空串)
            Boolean flag = wechatCoreService.isXML(xmlStr);
            if (xmlStr == "error") {
                // 服务器错误
                response.setStatus(500);
            } else if (!flag && StringUtils.isNotEmpty(xmlStr)) {
                JSONObject json = new JSONObject(xmlStr);
//                    if (json.has("openId")) {
//                        if (StringUtils.isNotEmpty(json.getString("openId")) && !("undefined".equals(json.getString("openId")))) {
//                            pushMsgTask.putWxMsg(getAccessToken(), json.getInt("type"), json.getString("openId"), null, json);
//                        }
//                    }
                } else {
                    // 返回消息(图文消息)
                    response.setHeader("Content-type", "text/html;charset=UTF-8");
                    //这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859
                    response.setCharacterEncoding("UTF-8");
            } else {
                // 返回消息(图文消息)
                response.setHeader("Content-type", "text/html;charset=UTF-8");
                //这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859
                response.setCharacterEncoding("UTF-8");
                    logger.info(xmlStr);
                logger.info(xmlStr);
                    response.getWriter().print(xmlStr);
                }
            } else {
                // 验证失败
                response.setStatus(401);
                response.getWriter().print(xmlStr);
            }
        } catch (Exception e) {
            e.printStackTrace();
            // 服务器错误
            response.setStatus(500);
        } else {
            // 验证失败
            response.setStatus(401);
        }
    }

+ 2 - 6
svr/svr-base/src/main/java/com/yihu/jw/business/wx/controller/WxMenuController.java

@ -33,12 +33,8 @@ public class WxMenuController extends EnvelopRestEndpoint {
    @PostMapping(value = WechatRequestMapping.WxMenu.api_create, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "添加微信菜单", notes = "添加微信菜单")
    public MixEnvelop createWxMenu(@ApiParam(name = "wxId", value = "微信id")
                                    @RequestParam(value = "wxId", required = false)String wxId) {
        try {
            return wxMenuService.createWxMenu(wxId);
        } catch (ApiException e) {
            return MixEnvelop.getError(e.getMessage(), e.getErrorCode());
        }
                                    @RequestParam(value = "wxId", required = false)String wxId) throws Exception{
        return wxMenuService.createWxMenu(wxId);
    }
//    @PutMapping(value = WechatRequestMapping.WxMenu.api_update, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)

+ 2 - 0
svr/svr-base/src/main/java/com/yihu/jw/business/wx/service/WechatCoreService.java

@ -97,10 +97,12 @@ public class WechatCoreService {
        switch (msgType) {
            case WeiXinMessageUtils.REQ_MESSAGE_TYPE_EVENT:  // 事件消息
                logger.info("MsgType:event");
                result = eventProcess(message);
                break;
            case WeiXinMessageUtils.RESP_MESSAGE_TYPE_TEXT:  // 回复文本消息
                //回复文本消息 处理
                logger.info("MsgType:text");
                result = textProcess(message);
                break;
            default: