Browse Source

//tt product

release_toaliyun_real
xhxu 4 years ago
parent
commit
73c159ff2d
5 changed files with 71 additions and 27 deletions
  1. +50
    -25
      mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/TtCouponChannelPoiMapper.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponService.java
  4. +7
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java
  5. +10
    -0
      mallinkService/src/main/resources/mapper/TtCouponChannelPoiMapper.xml

+ 50
- 25
mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java View File

@@ -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<String,Object> notice( @RequestBody Map<String, Object> parameterMap,HttpServletRequest request){
logger.debug("[" + getIpAddr() + "] TtOrderCallbackController::notice");
logger.info("抖音开放平台通知-----{}"+JSON.toJSONString(parameterMap));
Map<String,Object> 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<String,Object> 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<String, Object> 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;
}

}

+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/TtCouponChannelPoiMapper.java View File

@@ -13,4 +13,6 @@ public interface TtCouponChannelPoiMapper extends CommonMapper<TtCouponChannelPo
List<Long> findIdList(TtCouponChannelPoi record);

Integer getPoiPutOnCount(@Param("tenantId")String tenantId, @Param("ids")List<Long> ids);

int updateBySpuId(TtCouponChannelPoi couponChannelPoi);
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/service/WxCouponService.java View File

@@ -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);
}

+ 7
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java View File

@@ -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);


+ 10
- 0
mallinkService/src/main/resources/mapper/TtCouponChannelPoiMapper.xml View File

@@ -95,4 +95,14 @@
</foreach>
</select>


<update id="updateBySpuId" parameterType="com.iformall.domain.po.TtCouponChannelPoi">
update wx_bill_property set update_date = now()
<if test=" null != status ">,`status` = #{status}</if>
<if test=" null != statusDesc ">,`last_status` = #{statusDesc}</if>
<if test=" null != lastStatus ">,`last_status` = #{lastStatus}</if>
<if test=" null != lastStatusDesc ">,`last_status_desc` = #{lastStatusDesc}</if>
where `spu_id` = #{spuId}
</update>

</mapper>

Loading…
Cancel
Save