From f8d7e8ce4da233ce6d8820072af004d6af7ab6aa Mon Sep 17 00:00:00 2001 From: xhxu Date: Wed, 8 Jun 2022 15:59:12 +0800 Subject: [PATCH] //tt product callback --- .../controller/callback/TtWebController.java | 45 ++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java index 56386546a..0ba90949d 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java @@ -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 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; }