From 9be4a8d1947858204ba8add10403238f94d175b2 Mon Sep 17 00:00:00 2001 From: xhxu Date: Mon, 30 May 2022 17:50:46 +0800 Subject: [PATCH] //tt pay v2 --- .../controller/WxOrderController.java | 49 ++++++++++--------- .../payv2/auth/CertificatesVerifier.java | 3 +- .../iformall/douyin/payv2/util/PemUtils.java | 4 +- 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java index 3b18d9a03..4c9595f55 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxOrderController.java @@ -2,6 +2,7 @@ package com.iformall.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageInfo; +import com.iformall.annotation.AuthIgnore; import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.Result; @@ -34,10 +35,7 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; @RestController @RequestMapping("/api/order/") @@ -138,27 +136,34 @@ public class WxOrderController extends BaseController { list.add(dto); return wxOrderService.composeSaveOrder(false,EnumComposeOrder.SINGLE,list,memberId,getPayWay(),getTenantInfo()); } - + + @AuthIgnore @ApiOperation(value = "抖音支付2.0与下单回调推送订单", notes = "{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"}") @PostMapping("douyinPushOrder") - public ResultData douyinPushOrder(@RequestBody Map param) { + public Map douyinPushOrder(@RequestBody Map param) { logger.info("save douyinPushOrder:"+param); - Long memberId; - try { - memberId = getMemberId(); - } catch (Exception e) { - return new ResultData(Result.ERROR,e.getMessage()); - } - - List list = new ArrayList<>(); - PlatPushOrderSaveDto dto = new PlatPushOrderSaveDto(); - /** - * TODO 从抖音推送的订单中取信息,每个订单里面有extParam,用来放第三方平台匹配的参数信息 - * 注意,wx_batch_order中要存allExtParam, wx_order,wx_coupon_order中存储每个订单的参数信息,需要自己根据总参数信息进行拆分 - */ - list.add(dto); - String allExtParam = "[]"; - return wxOrderService.platPushSaveOrder(false,EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,allExtParam,list,memberId,getPayWay(),getTenantInfo()); + + Map map = new HashMap(); + map.put("err_no",1000); + map.put("err_tips","库存不足"); + return map; + +// Long memberId; +// try { +// memberId = getMemberId(); +// } catch (Exception e) { +// return new ResultData(Result.ERROR,e.getMessage()); +// } +// +// List list = new ArrayList<>(); +// PlatPushOrderSaveDto dto = new PlatPushOrderSaveDto(); +// /** +// * TODO 从抖音推送的订单中取信息,每个订单里面有extParam,用来放第三方平台匹配的参数信息 +// * 注意,wx_batch_order中要存allExtParam, wx_order,wx_coupon_order中存储每个订单的参数信息,需要自己根据总参数信息进行拆分 +// */ +// list.add(dto); +// String allExtParam = "[]"; +// return wxOrderService.platPushSaveOrder(false,EnumComposeOrder.ONE_NUMBER_ORDER_BATCH,allExtParam,list,memberId,getPayWay(),getTenantInfo()); } diff --git a/mallinkService/src/main/java/com/iformall/douyin/payv2/auth/CertificatesVerifier.java b/mallinkService/src/main/java/com/iformall/douyin/payv2/auth/CertificatesVerifier.java index 874ff2b6d..3fee28133 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/payv2/auth/CertificatesVerifier.java +++ b/mallinkService/src/main/java/com/iformall/douyin/payv2/auth/CertificatesVerifier.java @@ -2,6 +2,7 @@ package com.iformall.douyin.payv2.auth; import me.chanjar.weixin.common.error.WxRuntimeException; +import java.nio.charset.StandardCharsets; import java.security.*; import java.util.Base64; @@ -19,7 +20,7 @@ public class CertificatesVerifier implements Verifier { Signature sign = Signature.getInstance("SHA256withRSA"); sign.initVerify(this.apiKey); sign.update(message); - return sign.verify(Base64.getDecoder().decode(signature)); + return sign.verify(Base64.getDecoder().decode(signature.getBytes(StandardCharsets.UTF_8))); } catch (NoSuchAlgorithmException e) { throw new WxRuntimeException("当前Java环境不支持SHA256withRSA", e); } catch (SignatureException e) { diff --git a/mallinkService/src/main/java/com/iformall/douyin/payv2/util/PemUtils.java b/mallinkService/src/main/java/com/iformall/douyin/payv2/util/PemUtils.java index f2627238c..3a217eeea 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/payv2/util/PemUtils.java +++ b/mallinkService/src/main/java/com/iformall/douyin/payv2/util/PemUtils.java @@ -28,8 +28,8 @@ public class PemUtils { } String privateKey = array.toString("utf-8") - .replace("-----BEGIN RSA PRIVATE KEY-----", "") - .replace("-----END RSA PRIVATE KEY-----", "") + .replace("-----BEGIN PRIVATE KEY-----", "") + .replace("-----END PRIVATE KEY-----", "") .replaceAll("\\s+", ""); KeyFactory kf = KeyFactory.getInstance("RSA");