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 0ba90949d..837c802d7 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java @@ -1,9 +1,14 @@ package com.iformall.controller.callback; +import com.alibaba.fastjson.JSON; 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.MailService; import com.iformall.service.WxAppinfoService; +import com.iformall.service.WxCouponChannelService; +import com.iformall.service.WxCouponService; import com.iformall.utils.DateUtils; import me.chanjar.weixin.common.util.crypto.SHA1; import org.slf4j.Logger; @@ -32,6 +37,9 @@ public class TtWebController extends BaseController { @Autowired private WxAppinfoService wxAppinfoService; + @Autowired + private WxCouponService wxCouponService; + /** * { * "event": "verify_webhook", @@ -45,50 +53,67 @@ public class TtWebController extends BaseController { @ResponseBody public Map notice( @RequestBody Map parameterMap,HttpServletRequest request){ logger.debug("[" + getIpAddr() + "] TtOrderCallbackController::notice"); + logger.info("抖音开放平台通知-----{}"+JSON.toJSONString(parameterMap)); Map resultMap = new HashMap<>(); - -// String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); - logger.info("抖音开放平台通知-----parameterMap{}"+parameterMap); + String event = (String) parameterMap.get("event"); String client_key = (String) parameterMap.get("client_key"); - logger.info("抖音开放平台通知-----client_key{}"+client_key); WxAppinfo appInfo = wxAppinfoService.getByAppId(client_key); + if(appInfo == null){ + resultMap.put("err_code",1000); + resultMap.put("err_tips","error"); + return resultMap; + } + Map content = (HashMap) parameterMap.get("content"); String header = request.getHeader("X-Douyin-Signature"); - logger.info("抖音开放平台通知-----header.X-Douyin-Signature{}"+header); - - String gen = SHA1.gen(appInfo.getSecret(), parameterMap.toString()); - + 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("抖音开放平台通知{}"+parameterMap.toString()); + sb.append("抖音开放平台通知{}"+JSON.toJSONString(parameterMap)); sb.append("\n"); - sb.append("SHA1.gen{}"+gen); + sb.append("sha1gen{}"+sha1gen); sb.append("\n"); sb.append("header{}"+header); //发送邮件 mailService.sendSimpleMail(receivers, "抖音开放平台通知", sb.toString()); - try { -// Map parameterMap = JSONObject.parseObject(body, Map.class); - - 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); - + if("verify_webhook".equals(event)){ + String challenge = (String) content.get("challenge"); resultMap.put("challenge",challenge); return resultMap; - } catch (Exception e){ - logger.error(e.getMessage()); - resultMap.put("err_code",1000); - resultMap.put("err_tips","error"); + }else if("life_goods_audit".equals(event)){ + 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("SUCCESS".equals(status)){ + couponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_audit_pass.getCode()); + couponChannelPoi.setLastStatusDesc(reason); + + }else{ + resultMap.put("err_code",1000); + resultMap.put("err_tips","error"); + return resultMap; + } + wxCouponService.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; } + } diff --git a/mallinkService/src/main/java/com/iformall/mapper/TtCouponChannelPoiMapper.java b/mallinkService/src/main/java/com/iformall/mapper/TtCouponChannelPoiMapper.java index 019934e66..a1c9318b5 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/TtCouponChannelPoiMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/TtCouponChannelPoiMapper.java @@ -13,4 +13,6 @@ public interface TtCouponChannelPoiMapper extends CommonMapper findIdList(TtCouponChannelPoi record); Integer getPoiPutOnCount(@Param("tenantId")String tenantId, @Param("ids")List ids); + + int updateBySpuId(TtCouponChannelPoi couponChannelPoi); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index 19beb0a0b..c33b48c27 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -7,6 +7,7 @@ import javax.servlet.http.HttpServletResponse; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; +import com.iformall.domain.po.TtCouponChannelPoi; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.TtCouponVo; @@ -280,4 +281,5 @@ public interface WxCouponService { ResultData productSave(WxCoupon coupon) throws Exception; + int handlerTtGoodsAudit(TtCouponChannelPoi couponChannelPoi); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index c4770f118..efe13ecf5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -1351,13 +1351,18 @@ public class WxCouponServiceImpl implements WxCouponService { } } + @Override + public int handlerTtGoodsAudit(TtCouponChannelPoi couponChannelPoi) { + return ttCouponChannelPoiMapper.updateBySpuId(couponChannelPoi); + } + private void syncCouponChannelPoi(WxCoupon coupon,Long couponChannelId,String productId){ TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(coupon.getId()); Date date = new Date(); if(ttCouponChannelPoi != null){ ttCouponChannelPoi.setCouponChannelId(couponChannelId); ttCouponChannelPoi.setSpuId(productId); - ttCouponChannelPoi.setStatus(EnumSpuSyncStatus.sync_auditing.getCode()); +// ttCouponChannelPoi.setStatus(EnumSpuSyncStatus.sync_auditing.getCode()); ttCouponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_auditing.getCode()); ttCouponChannelPoi.setLastStatusDesc(""); ttCouponChannelPoi.setUpdateDate(date); @@ -1368,7 +1373,7 @@ public class WxCouponServiceImpl implements WxCouponService { ttCouponChannelPoi.updateTenantInfo(coupon); ttCouponChannelPoi.setCouponChannelId(couponChannelId); ttCouponChannelPoi.setSpuId(productId); - ttCouponChannelPoi.setStatus(EnumSpuSyncStatus.sync_auditing.getCode()); +// ttCouponChannelPoi.setStatus(EnumSpuSyncStatus.sync_auditing.getCode()); ttCouponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_auditing.getCode()); ttCouponChannelPoi.setCreateDate(date); ttCouponChannelPoi.setUpdateDate(date); diff --git a/mallinkService/src/main/resources/mapper/TtCouponChannelPoiMapper.xml b/mallinkService/src/main/resources/mapper/TtCouponChannelPoiMapper.xml index be4e34675..24bf2f52c 100644 --- a/mallinkService/src/main/resources/mapper/TtCouponChannelPoiMapper.xml +++ b/mallinkService/src/main/resources/mapper/TtCouponChannelPoiMapper.xml @@ -95,4 +95,14 @@ + + + update wx_bill_property set update_date = now() + ,`status` = #{status} + ,`last_status` = #{statusDesc} + ,`last_status` = #{lastStatus} + ,`last_status_desc` = #{lastStatusDesc} + where `spu_id` = #{spuId} + +