forked from rongchao/epmet-cloud-rizhao
				
			
				 3 changed files with 109 additions and 0 deletions
			
			
		@ -0,0 +1,39 @@ | 
				
			|||
package com.epmet.controller; | 
				
			|||
 | 
				
			|||
import com.epmet.exception.AesException; | 
				
			|||
import com.epmet.service.WarrantService; | 
				
			|||
import lombok.extern.slf4j.Slf4j; | 
				
			|||
import org.apache.commons.lang3.StringUtils; | 
				
			|||
import org.dom4j.Document; | 
				
			|||
import org.dom4j.DocumentException; | 
				
			|||
import org.dom4j.DocumentHelper; | 
				
			|||
import org.dom4j.Element; | 
				
			|||
import org.springframework.beans.factory.annotation.Autowired; | 
				
			|||
import org.springframework.web.bind.annotation.PathVariable; | 
				
			|||
import org.springframework.web.bind.annotation.RequestMapping; | 
				
			|||
import org.springframework.web.bind.annotation.RestController; | 
				
			|||
 | 
				
			|||
import javax.servlet.http.HttpServletRequest; | 
				
			|||
import javax.servlet.http.HttpServletResponse; | 
				
			|||
import java.io.BufferedReader; | 
				
			|||
import java.io.IOException; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * @Author zxc | 
				
			|||
 * @CreateTime 2020/7/10 10:41 | 
				
			|||
 */ | 
				
			|||
@Slf4j | 
				
			|||
@RestController | 
				
			|||
@RequestMapping("warrant") | 
				
			|||
public class WarrantController { | 
				
			|||
 | 
				
			|||
    @Autowired | 
				
			|||
    private WarrantService warrantService; | 
				
			|||
 | 
				
			|||
    @RequestMapping(value ="/{AppId}/callback") | 
				
			|||
    public void acceptMessageAndEvent(HttpServletRequest request, @PathVariable("APPID") String appid, | 
				
			|||
                                      HttpServletResponse response)throws IOException, DocumentException, AesException { | 
				
			|||
        warrantService.acceptMessageAndEvent(request, appid, response); | 
				
			|||
    } | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,19 @@ | 
				
			|||
package com.epmet.service; | 
				
			|||
 | 
				
			|||
import com.epmet.exception.AesException; | 
				
			|||
import org.dom4j.DocumentException; | 
				
			|||
import org.springframework.web.bind.annotation.PathVariable; | 
				
			|||
 | 
				
			|||
import javax.servlet.http.HttpServletRequest; | 
				
			|||
import javax.servlet.http.HttpServletResponse; | 
				
			|||
import java.io.IOException; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * @Author zxc | 
				
			|||
 * @CreateTime 2020/7/10 11:03 | 
				
			|||
 */ | 
				
			|||
public interface WarrantService { | 
				
			|||
 | 
				
			|||
    void acceptMessageAndEvent(HttpServletRequest request,String appid,HttpServletResponse response)throws IOException, DocumentException, AesException; | 
				
			|||
 | 
				
			|||
} | 
				
			|||
@ -0,0 +1,51 @@ | 
				
			|||
package com.epmet.service.impl; | 
				
			|||
 | 
				
			|||
import com.epmet.exception.AesException; | 
				
			|||
import com.epmet.service.WarrantService; | 
				
			|||
import lombok.extern.slf4j.Slf4j; | 
				
			|||
import org.apache.commons.lang3.StringUtils; | 
				
			|||
import org.dom4j.Document; | 
				
			|||
import org.dom4j.DocumentException; | 
				
			|||
import org.dom4j.DocumentHelper; | 
				
			|||
import org.dom4j.Element; | 
				
			|||
import org.springframework.stereotype.Service; | 
				
			|||
 | 
				
			|||
import javax.servlet.http.HttpServletRequest; | 
				
			|||
import javax.servlet.http.HttpServletResponse; | 
				
			|||
import java.io.BufferedReader; | 
				
			|||
import java.io.IOException; | 
				
			|||
 | 
				
			|||
/** | 
				
			|||
 * @Author zxc | 
				
			|||
 * @CreateTime 2020/7/10 11:03 | 
				
			|||
 */ | 
				
			|||
@Slf4j | 
				
			|||
@Service | 
				
			|||
public class WarrantServiceImpl implements WarrantService { | 
				
			|||
    @Override | 
				
			|||
    public void acceptMessageAndEvent(HttpServletRequest request, String appid, HttpServletResponse response)throws IOException, DocumentException, AesException { | 
				
			|||
        String msgSignature = request.getParameter("msg_signature"); | 
				
			|||
        log.info("第三方平台全网发布-------------{appid}/callback-----------验证开始。。。。msg_signature=" + msgSignature); | 
				
			|||
        if (!StringUtils.isNotBlank(msgSignature)) { | 
				
			|||
            return;// 微信推送给第三方开放平台的消息一定是加过密的,无消息加密无法解密消息
 | 
				
			|||
        } | 
				
			|||
        StringBuilder sb =new StringBuilder(); | 
				
			|||
        BufferedReader in = request.getReader(); | 
				
			|||
        String line; | 
				
			|||
        while ((line = in.readLine()) !=null) { | 
				
			|||
            sb.append(line); | 
				
			|||
        } | 
				
			|||
        in.close(); | 
				
			|||
 | 
				
			|||
        String xml = sb.toString(); | 
				
			|||
        Document doc = DocumentHelper.parseText(xml); | 
				
			|||
        Element rootElt = doc.getRootElement(); | 
				
			|||
        String toUserName = rootElt.elementText("ToUserName"); | 
				
			|||
 | 
				
			|||
        //微信全网测试账号
 | 
				
			|||
//        if (StringUtils.equalsIgnoreCase(toUserName, APPID)) {
 | 
				
			|||
        log.info("全网发布接入检测消息反馈开始---------------APPID=" + appid +"------------------------toUserName=" + toUserName); | 
				
			|||
//        checkWeixinAllNetworkCheck(request, response, xml);
 | 
				
			|||
//        }
 | 
				
			|||
    } | 
				
			|||
} | 
				
			|||
					Loading…
					
					
				
		Reference in new issue