| @@ -1,21 +1,36 @@ | |||
| package com.iformall.controller.callback; | |||
| import com.alibaba.fastjson.JSONObject; | |||
| import com.iformall.controller.base.BaseController; | |||
| import com.iformall.domain.po.WxAppinfo; | |||
| import com.iformall.service.MailService; | |||
| import com.iformall.service.WxAppinfoService; | |||
| import com.iformall.utils.DateUtils; | |||
| import me.chanjar.weixin.common.util.crypto.SHA1; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.web.bind.annotation.*; | |||
| import javax.servlet.http.HttpServletRequest; | |||
| import java.util.Date; | |||
| import java.util.HashMap; | |||
| import java.util.Map; | |||
| @RestController | |||
| @RequestMapping("/ttweb/notify") | |||
| public class TtWebController extends BaseController { | |||
| private final Logger logger = LoggerFactory.getLogger(this.getClass()); | |||
| @Autowired | |||
| private String fmExceptionEmails; | |||
| @Autowired | |||
| private MailService mailService; | |||
| @Autowired | |||
| private WxAppinfoService wxAppinfoService; | |||
| /** | |||
| * { | |||
| @@ -34,15 +49,34 @@ public class TtWebController extends BaseController { | |||
| // String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); | |||
| logger.info("抖音开放平台通知-----parameterMap{}"+parameterMap); | |||
| String client_key = (String) parameterMap.get("client_key"); | |||
| logger.info("抖音开放平台通知-----client_key{}"+client_key); | |||
| WxAppinfo appInfo = wxAppinfoService.getByAppId(client_key); | |||
| String header = request.getHeader("X-Douyin-Signature"); | |||
| logger.info("抖音开放平台通知-----header.X-Douyin-Signature{}"+header); | |||
| String gen = SHA1.gen(appInfo.getSecret(), parameterMap.toString()); | |||
| //发邮件 | |||
| String[] receivers = fmExceptionEmails.split(","); | |||
| StringBuilder sb = new StringBuilder(); | |||
| sb.append(DateUtils.date2String(new Date())); | |||
| sb.append("\n"); | |||
| sb.append("抖音开放平台通知{}"+parameterMap.toString()); | |||
| sb.append("\n"); | |||
| sb.append("SHA1.gen{}"+gen); | |||
| sb.append("\n"); | |||
| sb.append("header{}"+header); | |||
| //发送邮件 | |||
| mailService.sendSimpleMail(receivers, "抖音开放平台通知", sb.toString()); | |||
| try { | |||
| String header = request.getHeader("X-Douyin-Signature"); | |||
| logger.info("抖音开放平台通知-----header.X-Douyin-Signature{}"+header); | |||
| // Map<String, Object> parameterMap = JSONObject.parseObject(body, Map.class); | |||
| String event = (String) parameterMap.get("event"); | |||
| logger.info("抖音开放平台通知-----event{}"+event); | |||
| String client_key = (String) parameterMap.get("client_key"); | |||
| logger.info("抖音开放平台通知-----client_key{}"+client_key); | |||
| Map content = (HashMap) parameterMap.get("content"); | |||
| logger.info("抖音开放平台通知-----content{}"+content.toString()); | |||
| String challenge = content.get("challenge").toString(); | |||
| @@ -52,6 +86,7 @@ public class TtWebController extends BaseController { | |||
| return resultMap; | |||
| } catch (Exception e){ | |||
| logger.error(e.getMessage()); | |||
| resultMap.put("err_code",1000); | |||
| resultMap.put("err_tips","error"); | |||
| return resultMap; | |||
| } | |||