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

Commit cf943826 authored by 胡佳晨's avatar 胡佳晨

修改 混合售支付接口

parent 5895baed
......@@ -7,6 +7,11 @@ import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.dragon.constant.DragonConstant;
import com.liquidnet.service.dragon.dto.DragonPayBaseReqDto;
import com.liquidnet.service.dragon.dto.DragonPayBaseRespDto;
import com.liquidnet.service.dragon.dto.DragonPayOrderQueryRespDto;
import com.liquidnet.service.dragon.service.IDragonOrdersService;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.constant.NftAccStatusEnum;
......@@ -62,10 +67,8 @@ public class MixOrderServiceImpl implements IMixOrderService {
@Value("${liquidnet.service.order.url}")
private String orderUrl;
@Value("${liquidnet.service.order.url-pay.pay}")
private String payUrl;
@Value("${liquidnet.service.order.url-pay.check}")
private String checkUrl;
@Autowired
IDragonOrdersService dragonOrdersService;
@Override
public ResponseDto<GoblinPayInnerResultVo> checkOrder(MixOrderParam param, String uid) {
......@@ -385,28 +388,29 @@ public class MixOrderServiceImpl implements IMixOrderService {
if (payPrice.compareTo(BigDecimal.valueOf(0)) > 0) {
// 调用支付
LinkedMultiValueMap<String, String> httpData = CollectionUtil.linkedMultiValueMapStringString();
httpData.add("type", "MIX");
httpData.add("price", payPrice.toString());
httpData.add("name", storeName);
httpData.add("detail", details);
httpData.add("orderCode", masterCode);
httpData.add("orderId", nftOrderStr.concat(orderStr));
httpData.add("clientIp", CurrentUtil.getCliIpAddr());
httpData.add("notifyUrl", orderUrl + "/order/mix/syncOrder");
httpData.add("createDate", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
httpData.add("expireTime", "5");
httpData.add("payType", payType);
httpData.add("deviceFrom", deviceForm);
if (deviceForm.equals("js") || deviceForm.equals("applet")) {
httpData.add("openId", openId);
}
httpData.add("showUrl", showUrl + masterCode);
httpData.add("returnUrl", returnUrl + masterCode);
LinkedMultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
String returnData = HttpUtil.post(payUrl, httpData, header);
DragonPayBaseReqDto dragonPayBaseReqDto = DragonPayBaseReqDto.getNew();
dragonPayBaseReqDto.setPayType(payType);
dragonPayBaseReqDto.setDeviceFrom(deviceForm);
if (details.equals("js") || payType.equals("applet")) {
dragonPayBaseReqDto.setOpenId(openId);
}
dragonPayBaseReqDto.setType("MIX");
dragonPayBaseReqDto.setPrice(payPrice);
if (StringUtil.isNotNull(storeName) && storeName.length() >= 32) {
storeName = storeName.substring(0, 32);
}
dragonPayBaseReqDto.setName(storeName);
dragonPayBaseReqDto.setDetail("正在现场");
dragonPayBaseReqDto.setOrderCode(masterCode);
dragonPayBaseReqDto.setClientIp(CurrentUtil.getCliIpAddr());
dragonPayBaseReqDto.setNotifyUrl(orderUrl + "/order/mix/syncOrder");
dragonPayBaseReqDto.setReturnUrl(returnUrl + masterCode);
dragonPayBaseReqDto.setShowUrl(showUrl + masterCode);
dragonPayBaseReqDto.setCreateDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
dragonPayBaseReqDto.setExpireTime("5");
ResponseDto<DragonPayBaseRespDto> responseDto = dragonOrdersService.dragonPay(dragonPayBaseReqDto);
String returnData = JsonUtils.toJson(responseDto);
log.info("调用 DRAGON 结果 = " + returnData);
ResponseDto<GoblinPayInnerResultVo> dto = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<GoblinPayInnerResultVo>>() {
});
......@@ -802,12 +806,19 @@ public class MixOrderServiceImpl implements IMixOrderService {
if (null == nftOrder || !nftOrder.getUserId().equals(uid)) {
return "订单不存在";
} else {
String returnCheckData = HttpUtil.get(checkUrl + "?code=" + nftOrder.getPayCode(), null);
ResponseDto<SyncOrderParam> syncOrderDtoParam = JsonUtils.fromJson(returnCheckData, new TypeReference<ResponseDto<SyncOrderParam>>() {
});
if (syncOrderDtoParam.getData().getStatus() == 1) {
DragonPayOrderQueryRespDto data = dragonOrdersService.checkOrderStatusByCode(nftOrder.getPayCode());
if (data.getStatus() == 1) {
//处理订单
syncOrder(syncOrderDtoParam.getData());
SyncOrderParam syncOrderDtoParam = SyncOrderParam.getNew();
syncOrderDtoParam.setCode(data.getCode());
syncOrderDtoParam.setOrderCode(data.getOrderCode());
syncOrderDtoParam.setPaymentAt(data.getPaymentAt());
syncOrderDtoParam.setPaymentId(data.getPaymentId());
syncOrderDtoParam.setPaymentType(data.getPaymentType());
syncOrderDtoParam.setPrice(data.getPrice());
syncOrderDtoParam.setStatus(data.getStatus());
syncOrderDtoParam.setType(data.getType());
syncOrder(syncOrderDtoParam);
return "1";
} else {
return "0";
......@@ -820,12 +831,19 @@ public class MixOrderServiceImpl implements IMixOrderService {
if (null == storeOrderVo || !storeOrderVo.getUserId().equals(uid)) {
return "订单不存在";
}
String returnCheckData = HttpUtil.get(checkUrl + "?code=" + storeOrderVo.getPayCode(), null);
ResponseDto<SyncOrderParam> syncOrderDtoParam = JsonUtils.fromJson(returnCheckData, new TypeReference<ResponseDto<SyncOrderParam>>() {
});
if (syncOrderDtoParam.getData().getStatus() == 1) {
DragonPayOrderQueryRespDto data = dragonOrdersService.checkOrderStatusByCode(storeOrderVo.getPayCode());
if (data.getStatus() == 1) {
//处理订单
syncOrder(syncOrderDtoParam.getData());
SyncOrderParam syncOrderDtoParam = SyncOrderParam.getNew();
syncOrderDtoParam.setCode(data.getCode());
syncOrderDtoParam.setOrderCode(data.getOrderCode());
syncOrderDtoParam.setPaymentAt(data.getPaymentAt());
syncOrderDtoParam.setPaymentId(data.getPaymentId());
syncOrderDtoParam.setPaymentType(data.getPaymentType());
syncOrderDtoParam.setPrice(data.getPrice());
syncOrderDtoParam.setStatus(data.getStatus());
syncOrderDtoParam.setType(data.getType());
syncOrder(syncOrderDtoParam);
return "1";
} else {
return "0";
......
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