记得上下班打卡 | git大法好,push需谨慎

Commit eed02880 authored by jiangxiulong's avatar jiangxiulong

order苹果支付 services调用

parent 90cdf281
package com.liquidnet.service.order.service.impl; package com.liquidnet.service.order.service.impl;
import com.fasterxml.jackson.core.type.TypeReference; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.goblin.dto.vo.GoblinApplePayInnerResultVo; import com.liquidnet.service.dragon.dto.DragonPayBaseReqDto;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo; import com.liquidnet.service.dragon.dto.DragonPayBaseRespDto;
import com.liquidnet.service.dragon.service.IDragonOrdersService;
import com.liquidnet.service.goblin.dto.vo.GoblinNftOrderVo; import com.liquidnet.service.goblin.dto.vo.GoblinNftOrderVo;
import com.liquidnet.service.goblin.param.GoblinNftOrderPayCallbackParam; import com.liquidnet.service.goblin.param.GoblinNftOrderPayCallbackParam;
import com.liquidnet.service.order.utils.GoblinNftOrderUtils; import com.liquidnet.service.order.utils.GoblinNftOrderUtils;
import com.liquidnet.service.order.utils.GoblinRedisUtils; import com.liquidnet.service.order.utils.GoblinRedisUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
...@@ -29,9 +28,11 @@ public class OrderApplePayServiceImpl { ...@@ -29,9 +28,11 @@ public class OrderApplePayServiceImpl {
@Autowired @Autowired
private GoblinNftOrderServiceImpl goblinNftOrderService; private GoblinNftOrderServiceImpl goblinNftOrderService;
@Autowired
private IDragonOrdersService dragonOrdersService;
@Value("${liquidnet.service.order.url-pay.applePay}") /*@Value("${liquidnet.service.order.url-pay.applePay}")
private String payUrl; private String payUrl;*/
public boolean pay(String orderId, String type, String receiptData, String transactionId) { public boolean pay(String orderId, String type, String receiptData, String transactionId) {
try { try {
...@@ -41,7 +42,7 @@ public class OrderApplePayServiceImpl { ...@@ -41,7 +42,7 @@ public class OrderApplePayServiceImpl {
log.info("未找到该订单 [orderId:{}]", orderId); log.info("未找到该订单 [orderId:{}]", orderId);
return false; return false;
} }
LinkedMultiValueMap<String, String> httpData = CollectionUtil.linkedMultiValueMapStringString(); /*LinkedMultiValueMap<String, String> httpData = CollectionUtil.linkedMultiValueMapStringString();
httpData.add("type", type); httpData.add("type", type);
httpData.add("price", nftOrder.getPriceActual().toString()); httpData.add("price", nftOrder.getPriceActual().toString());
httpData.add("name", nftOrder.getStoreName()); httpData.add("name", nftOrder.getStoreName());
...@@ -67,13 +68,40 @@ public class OrderApplePayServiceImpl { ...@@ -67,13 +68,40 @@ public class OrderApplePayServiceImpl {
log.info("苹果支付调用DRAGON结果 = " + returnData); log.info("苹果支付调用DRAGON结果 = " + returnData);
ResponseDto<GoblinApplePayInnerResultVo> dto = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<GoblinApplePayInnerResultVo>>() { ResponseDto<GoblinApplePayInnerResultVo> dto = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<GoblinApplePayInnerResultVo>>() {
}); });
GoblinApplePayInnerResultVo dtoData = dto.getData(); GoblinApplePayInnerResultVo dtoData = dto.getData();*/
if (null == dtoData || dtoData.getStatus() != 0) {
DragonPayBaseReqDto dragonPayBaseReqDto = DragonPayBaseReqDto.getNew();
dragonPayBaseReqDto.setPayType(nftOrder.getPayType());
dragonPayBaseReqDto.setDeviceFrom(nftOrder.getDeviceFrom());
dragonPayBaseReqDto.setType(type);
dragonPayBaseReqDto.setPrice(nftOrder.getPriceActual());
String storeName = nftOrder.getStoreName();
if (StringUtil.isNotNull(storeName) && storeName.length() >= 32) {
storeName = storeName.substring(0, 32);
}
dragonPayBaseReqDto.setName(storeName);
dragonPayBaseReqDto.setDetail("正在现场");
dragonPayBaseReqDto.setOrderCode(nftOrder.getOrderCode());
if (nftOrder.getOrderId() != null) {
dragonPayBaseReqDto.setOrderId(nftOrder.getOrderId());
}
dragonPayBaseReqDto.setClientIp(CurrentUtil.getCliIpAddr());
dragonPayBaseReqDto.setNotifyUrl("");
dragonPayBaseReqDto.setReturnUrl("");
dragonPayBaseReqDto.setShowUrl("");
dragonPayBaseReqDto.setCreateDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
dragonPayBaseReqDto.setExpireTime("5");
dragonPayBaseReqDto.setReceiptData(receiptData);
dragonPayBaseReqDto.setTransactionId(transactionId);
//调用苹果
DragonPayBaseRespDto dragonPayBaseRespDto = dragonOrdersService.dragonNotifyApple(dragonPayBaseReqDto);
if (null == dragonPayBaseRespDto || dragonPayBaseRespDto.getStatus() != 0) {
return false; return false;
} else { } else {
// 支付成功 // 支付成功
GoblinNftOrderPayCallbackParam NftOrderPayCallbackParam = GoblinNftOrderPayCallbackParam.getNew(); GoblinNftOrderPayCallbackParam NftOrderPayCallbackParam = GoblinNftOrderPayCallbackParam.getNew();
NftOrderPayCallbackParam.setCode(dtoData.getCode()); NftOrderPayCallbackParam.setCode(dragonPayBaseRespDto.getCode());
NftOrderPayCallbackParam.setOrderCode(nftOrder.getOrderCode()); NftOrderPayCallbackParam.setOrderCode(nftOrder.getOrderCode());
NftOrderPayCallbackParam.setPaymentAt(DateUtil.format(LocalDateTime.now(), DateUtil.Formatter.yyyyMMddHHmmss)); NftOrderPayCallbackParam.setPaymentAt(DateUtil.format(LocalDateTime.now(), DateUtil.Formatter.yyyyMMddHHmmss));
NftOrderPayCallbackParam.setPrice(nftOrder.getPriceActual()); NftOrderPayCallbackParam.setPrice(nftOrder.getPriceActual());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment