package cc.mrbird.febs.pay.controller;
|
|
import cc.mrbird.febs.common.properties.XcxProperties;
|
import cc.mrbird.febs.common.utils.SpringContextHolder;
|
import cc.mrbird.febs.pay.util.WechatEventUtil;
|
import cc.mrbird.febs.pay.util.WeixinServiceUtil;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
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.IOException;
|
import java.io.PrintWriter;
|
|
/**
|
* 微信事件通知 - 控制层
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping(value = "/api/wechat/reply")
|
public class AutoReplyController {
|
|
private final String wechatToken = "ywgpzfwh";
|
|
|
@Autowired
|
WechatEventUtil wechatEventUtil;
|
|
/**
|
* 服务器校验
|
* @param req 请求
|
* @return 校验结果
|
*/
|
@GetMapping("/event")
|
public String verification(HttpServletRequest req) {
|
return wechatEventUtil.verification(req, wechatToken);
|
}
|
|
/**
|
* 消息事件
|
* @param req 请求
|
* @return 结果
|
*/
|
@PostMapping("/event")
|
public void messageEvent(HttpServletRequest req, HttpServletResponse resp) throws IOException {
|
req.setCharacterEncoding("UTF-8");
|
resp.setCharacterEncoding("UTF-8");
|
String message = "success";
|
PrintWriter out = resp.getWriter();
|
try {
|
String messageEvent = wechatEventUtil.messageEvent(req);
|
if(messageEvent != null) {
|
message = messageEvent;
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally {
|
log.info("消息事件:"+message);
|
out.write(message);
|
if (out != null) {
|
out.close();
|
}
|
}
|
}
|
}
|