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 81118f0f2..76d3a3048 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java @@ -1,12 +1,10 @@ package com.iformall.controller.callback; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.iformall.controller.base.BaseController; -import com.iformall.domain.po.TtCouponChannelPoi; import com.iformall.domain.po.WxAppinfo; -import com.iformall.enums.EnumSpuSyncStatus; -import com.iformall.service.*; +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; @@ -35,90 +33,49 @@ public class TtWebController extends BaseController { @Autowired private WxAppinfoService wxAppinfoService; - @Autowired - private TtCouponGoodsService ttCouponGoodsService; - /** * { - * "event": "verify_webhook", - * "client_key": "", - * "content": { - * "challenge": 12345 - * } + * "event": "verify_webhook", + * "client_key": "", + * "content": { + * "challenge": 12345 + * } * } */ @PostMapping(value = "/notice") @ResponseBody - public Map notice( @RequestBody Map parameterMap,HttpServletRequest request){ + public Map notice(@RequestBody Map parameterMap, HttpServletRequest request) { logger.debug("[" + getIpAddr() + "] TtOrderCallbackController::notice"); - logger.info("抖音开放平台通知-----{}"+JSON.toJSONString(parameterMap)); - Map resultMap = new HashMap<>(); - String event = (String) parameterMap.get("event"); - String client_key = (String) parameterMap.get("client_key"); - WxAppinfo appInfo = wxAppinfoService.getByAppId(client_key); - if(appInfo == null){ - resultMap.put("err_code",1000); - resultMap.put("err_tips","error"); - return resultMap; - } + Map resultMap = new HashMap<>(); + +// String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); + logger.info("抖音开放平台通知-----parameterMap{}" + parameterMap); + try { + String header = request.getHeader("X-Douyin-Signature"); + logger.info("抖音开放平台通知-----header.X-Douyin-Signature{}" + header); + String client_key = (String) parameterMap.get("client_key"); + logger.info("抖音开放平台通知-----client_key{}" + client_key); + WxAppinfo appInfo = wxAppinfoService.getByAppId(client_key); + +// Map parameterMap = JSONObject.parseObject(body, Map.class); - String header = request.getHeader("X-Douyin-Signature"); - String sha1gen = SHA1.gen(appInfo.getSecret(), JSON.toJSONString(parameterMap)); - //发邮件 - String[] receivers = fmExceptionEmails.split(","); - StringBuilder sb = new StringBuilder(); - sb.append(DateUtils.date2String(new Date())); - sb.append("\n"); - sb.append("抖音开放平台通知{}"+JSON.toJSONString(parameterMap)); - sb.append("\n"); - sb.append("sha1gen{}"+sha1gen); - sb.append("\n"); - sb.append("header{}"+header); - //发送邮件 - mailService.sendSimpleMail(receivers, "抖音开放平台通知", sb.toString()); - - - if("verify_webhook".equals(event)){ - Map content = (Map) parameterMap.get("content"); - Integer challenge = (Integer) content.get("challenge"); - resultMap.put("challenge",challenge); -// logger.info(JSON.toJSONString(content)); - return resultMap; - }else if("life_goods_audit".equals(event)){ - String content = (String) parameterMap.get("content"); - JSONObject jsonObject = JSON.parseObject(content); - String product_id = jsonObject.getString("product_id"); - String reason = jsonObject.getString("reason"); - String status = jsonObject.getString("status"); -// String product_id = content.get("product_id").toString(); -// String reason = (String) content.get("reason"); -// String status = (String) content.get("status"); - - TtCouponChannelPoi couponChannelPoi = new TtCouponChannelPoi(); - couponChannelPoi.updateTenantInfo(appInfo); - couponChannelPoi.setSpuId(product_id); - if("FAIL".equals(status)){ - couponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_audit_rejection.getCode()); - couponChannelPoi.setLastStatusDesc(reason); - - }else if("PASS".equals(status)){ - couponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_audit_pass.getCode()); - couponChannelPoi.setLastStatusDesc(reason); - - }else{ - resultMap.put("err_code",1000); - resultMap.put("err_tips","error"); + String event = (String) parameterMap.get("event"); + logger.info("抖音开放平台通知-----event{}" + event); + + Map content = (HashMap) parameterMap.get("content"); + logger.info("抖音开放平台通知-----content{}" + content.toString()); + String challenge = content.get("challenge").toString(); + logger.info("抖音开放平台通知-----content.challenge{}" + challenge); + + resultMap.put("challenge", challenge); + return resultMap; + } catch (Exception e) { + logger.error(e.getMessage()); + resultMap.put("err_code", 1000); + resultMap.put("err_tips", "error"); return resultMap; } - ttCouponGoodsService.handlerTtGoodsAudit(couponChannelPoi); - resultMap.put("err_code",0); - resultMap.put("err_tips","success"); - return resultMap; } - - resultMap.put("err_code",1000); - resultMap.put("err_tips","error"); - return resultMap; } -} +