Просмотр исходного кода

//tt test

release_toaliyun_real
xhxu 3 лет назад
Родитель
Сommit
e262837bf0
1 измененных файлов: 35 добавлений и 78 удалений
  1. +35
    -78
      mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java

+ 35
- 78
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<String, Object> parameterMap,HttpServletRequest request){
public Map<String, Object> notice(@RequestBody Map<String, Object> 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<String, Object> 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<String, Object> 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;
}

}


Загрузка…
Отмена
Сохранить