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

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

修改 order的下单

parent 3ab353b6
......@@ -9,6 +9,11 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.UserPathDto;
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.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.manage.AddressVo;
import com.liquidnet.service.goblin.dto.manage.GoblinOrderParam;
......@@ -54,10 +59,9 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
@Autowired
GoblinOrderUtils orderUtils;
@Value("${liquidnet.service.order.url-pay.pay}")
private String payUrl;
@Value("${liquidnet.service.order.url-pay.check}")
private String checkUrl;
@Autowired
IDragonOrdersService dragonOrdersService;
@Value("${liquidnet.service.order.url-pay.goblinUrl}")
private String synUrl;
......@@ -416,43 +420,44 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
String payCode;
if (preParam.getPriceActual().compareTo(BigDecimal.valueOf(0)) > 0 && !preParam.getPayType().equals("huifu")) {
// 调用支付
LinkedMultiValueMap<String, String> httpData = CollectionUtil.linkedMultiValueMapStringString();
httpData.add("type", "PRODUCT");
httpData.add("price", preParam.getPriceActual().toString());
// httpData.add("price","0.01");
httpData.add("name", preParam.getStoreName());
httpData.add("detail", preParam.getSkuName());
httpData.add("orderCode", preParam.getOrderMasterCode());
httpData.add("orderId", preParam.getOrderIdList().substring(1));
httpData.add("clientIp", CurrentUtil.getCliIpAddr());
httpData.add("notifyUrl", synUrl);
httpData.add("createDate", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
httpData.add("expireTime", preParam.getExpireTime() + "");
httpData.add("payType", preParam.getPayType());
httpData.add("deviceFrom", preParam.getDeviceFrom());
if (preParam.getDeviceFrom().equals("micropay")) {
httpData.add("authCode", preParam.getAuthCode());
if (preParam.getPayType().equalsIgnoreCase(DragonConstant.PayChannelEnum.WEPAY.getCode())) {
if (preParam.getDeviceFrom().equalsIgnoreCase(DragonConstant.DeviceFromEnum.JS.getCode()) || preParam.getDeviceFrom().equalsIgnoreCase(DragonConstant.DeviceFromEnum.APPLET.getCode())) {
if (StringUtil.isEmpty(preParam.getOpenId())) {
return ResponseDto.failure("微信支付openId不能为空!");
}
}
}
DragonPayBaseReqDto dragonPayBaseReqDto = DragonPayBaseReqDto.getNew();
dragonPayBaseReqDto.setPayType(preParam.getPayType());
dragonPayBaseReqDto.setDeviceFrom(preParam.getDeviceFrom());
if (preParam.getDeviceFrom().equals("js") || preParam.getDeviceFrom().equals("applet")) {
httpData.add("openId", preParam.getOpenId());
dragonPayBaseReqDto.setOpenId(preParam.getOpenId());
}
// if (preParam.getPayType().equals("alipay") && preParam.getDeviceFrom().equals("wap")) {
// httpData.add("showUrl", preParam.getShowUrl() + preParam.getOrderMasterCode());
// httpData.add("returnUrl", preParam.getReturnUrl() + preParam.getOrderMasterCode());
// }
// if (preParam.getPayType().equals("douyinpay")) {
// httpData.add("showUrl", preParam.getShowUrl() + preParam.getOrderMasterCode());
// httpData.add("returnUrl", preParam.getReturnUrl() + preParam.getOrderMasterCode());
// }
// if (preParam.getPayType().equals("unionpay")) {
// httpData.add("returnUrl", preParam.getReturnUrl() + preParam.getOrderMasterCode());
// }
httpData.add("showUrl", preParam.getShowUrl() + preParam.getOrderMasterCode());
httpData.add("returnUrl", preParam.getReturnUrl() + preParam.getOrderMasterCode());
LinkedMultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
String returnData = HttpUtil.post(payUrl, httpData, header);
dragonPayBaseReqDto.setType("PRODUCT");
dragonPayBaseReqDto.setPrice(preParam.getPriceActual());
if (preParam.getDeviceFrom().equals("micropay")) {
dragonPayBaseReqDto.setAuthCode(preParam.getAuthCode());
}
String name = preParam.getStoreName();
if (StringUtil.isNotNull(preParam.getStoreName()) && preParam.getStoreName().length() >= 32) {
name = name.substring(0, 32);
}
dragonPayBaseReqDto.setName(name);
dragonPayBaseReqDto.setDetail("正在现场");
dragonPayBaseReqDto.setOrderCode(preParam.getOrderMasterCode());
String orderId = preParam.getOrderIdList().substring(1);
if (orderId != null) {
dragonPayBaseReqDto.setOrderId(orderId);
}
dragonPayBaseReqDto.setClientIp(CurrentUtil.getCliIpAddr());
dragonPayBaseReqDto.setNotifyUrl(synUrl);
dragonPayBaseReqDto.setReturnUrl(preParam.getReturnUrl() + preParam.getOrderMasterCode());
dragonPayBaseReqDto.setShowUrl(preParam.getShowUrl() + preParam.getOrderMasterCode());
dragonPayBaseReqDto.setCreateDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
dragonPayBaseReqDto.setExpireTime(preParam.getExpireTime() + "");
ResponseDto<DragonPayBaseRespDto> responseDto = dragonOrdersService.dragonPay(dragonPayBaseReqDto);
String returnData = JSON.toJSONString(responseDto);
log.info("调用 DRAGON 结果 = " + returnData);
ResponseDto<GoblinPayInnerResultVo> dto = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<GoblinPayInnerResultVo>>() {
});
......@@ -655,12 +660,8 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
if (storeOrderVo.getStatus() != GoblinStatusConst.Status.ORDER_STATUS_0.getValue()) {
return ResponseDto.failure("订单无法支付");//订单
}
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
String returnCheckData = HttpUtil.get(checkUrl + "?code=" + storeOrderVo.getPayCode(), null, header);
ResponseDto<GoblinPayInnerResultVo> checkVo = JsonUtils.fromJson(returnCheckData, new TypeReference<ResponseDto<GoblinPayInnerResultVo>>() {
});
if (checkVo.getData().getStatus() == 1) {
DragonPayOrderQueryRespDto checkVo = dragonOrdersService.checkOrderStatusByCode(storeOrderVo.getPayCode());
if (checkVo.getStatus() == 1) {
return ResponseDto.failure("订单已支付");
}
BigDecimal price = BigDecimal.ZERO;
......@@ -684,37 +685,37 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
// } else
if (!storeOrderVo.getPayType().equals("FREE")) {
// 调用支付
LinkedMultiValueMap<String, String> httpData = CollectionUtil.linkedMultiValueMapStringString();
httpData.add("type", "PRODUCT");
httpData.add("price", price.toString());
httpData.add("name", redisUtils.getStoreInfoVo(storeOrderVo.getStoreId()).getStoreName());
httpData.add("detail", "查找最初订单");
httpData.add("orderCode", storeOrderVo.getMasterOrderCode());
// httpData.add("orderId", storeOrderVo.getOrderId());
httpData.add("clientIp", storeOrderVo.getIpAddress());
httpData.add("notifyUrl", synUrl);
httpData.add("createDate", storeOrderVo.getCreatedAt());
httpData.add("expireTime", storeOrderVo.getPayCountdownMinute().toString());
httpData.add("payType", param.getPayType());
httpData.add("deviceFrom", param.getDeviceFrom());
if (param.getPayType().equalsIgnoreCase(DragonConstant.PayChannelEnum.WEPAY.getCode())) {
if (param.getDeviceFrom().equalsIgnoreCase(DragonConstant.DeviceFromEnum.JS.getCode()) || param.getDeviceFrom().equalsIgnoreCase(DragonConstant.DeviceFromEnum.APPLET.getCode())) {
if (StringUtil.isEmpty(param.getOpenId())) {
return ResponseDto.failure("微信支付openId不能为空!");
}
}
}
DragonPayBaseReqDto dragonPayBaseReqDto = DragonPayBaseReqDto.getNew();
dragonPayBaseReqDto.setPayType(param.getPayType());
dragonPayBaseReqDto.setDeviceFrom(param.getDeviceFrom());
if (param.getDeviceFrom().equals("js") || param.getDeviceFrom().equals("applet")) {
httpData.add("openId", param.getOpenId());
dragonPayBaseReqDto.setOpenId(param.getOpenId());
}
// if (param.getPayType().equals("alipay") && param.getDeviceFrom().equals("wap")) {
// httpData.add("showUrl", param.getShowUrl() + storeOrderVo.getMasterOrderCode());
// httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
// }
// if (param.getPayType().equals("douyinpay")) {
// httpData.add("showUrl", param.getShowUrl() + storeOrderVo.getMasterOrderCode());
// httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
// }
// if (param.getPayType().equals("unionpay")) {
// httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
// }
httpData.add("showUrl", param.getShowUrl() + storeOrderVo.getMasterOrderCode());
httpData.add("returnUrl", param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
String returnData = HttpUtil.post(payUrl, httpData);
dragonPayBaseReqDto.setType("PRODUCT");
dragonPayBaseReqDto.setPrice(storeOrderVo.getPriceActual());
String name = storeOrderVo.getStoreName();
if (StringUtil.isNotNull(storeOrderVo.getStoreName()) && storeOrderVo.getStoreName().length() >= 32) {
name = name.substring(0, 32);
}
dragonPayBaseReqDto.setName(name);
dragonPayBaseReqDto.setDetail("正在现场");
dragonPayBaseReqDto.setOrderCode(storeOrderVo.getMasterOrderCode());
dragonPayBaseReqDto.setClientIp(CurrentUtil.getCliIpAddr());
dragonPayBaseReqDto.setNotifyUrl(synUrl);
dragonPayBaseReqDto.setReturnUrl(param.getReturnUrl() + storeOrderVo.getMasterOrderCode());
dragonPayBaseReqDto.setShowUrl(param.getShowUrl() + storeOrderVo.getMasterOrderCode());
dragonPayBaseReqDto.setCreateDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
dragonPayBaseReqDto.setExpireTime(storeOrderVo.getPayCountdownMinute().toString());
ResponseDto<DragonPayBaseRespDto> responseDto = dragonOrdersService.dragonPay(dragonPayBaseReqDto);
String returnData = JSON.toJSONString(responseDto);
log.debug("调用 DRAGON 结果 = " + returnData);
ResponseDto<GoblinPayInnerResultVo> dto = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<GoblinPayInnerResultVo>>() {
});
......@@ -889,12 +890,21 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
if (!storeOrderVo.getUserId().equals(uid)) {
return null;
}
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());
SyncOrderParam syncOrderDtoParam = SyncOrderParam.getNew();
syncOrderDtoParam.setCode(data.getCode());
syncOrderDtoParam.setOrderCode(data.getOrderCode());
syncOrderDtoParam.setOrderCodeId(data.getOrderCodeId());
syncOrderDtoParam.setOrderId(data.getOrderCodeId());
syncOrderDtoParam.setPaymentAt(data.getPaymentAt());
syncOrderDtoParam.setPaymentId(data.getPaymentId());
syncOrderDtoParam.setPaymentType(data.getPaymentType());
syncOrderDtoParam.setPrice(data.getPrice());
syncOrderDtoParam.setStatus(data.getStatus());
syncOrderDtoParam.setType(data.getType());
if (syncOrderDtoParam.getStatus() == 1) {
//处理订单
syncOrder(syncOrderDtoParam.getData());
syncOrder(syncOrderDtoParam);
return ResponseDto.success(1);
} else {
return ResponseDto.success(0);
......@@ -910,12 +920,22 @@ public class GoblinOrderServiceImpl implements IGoblinOrderService {
} else {
for (String orderId : orderIds) {
GoblinStoreOrderVo storeOrderVo = redisUtils.getGoblinOrder(orderId);
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());
SyncOrderParam syncOrderDtoParam = SyncOrderParam.getNew();
syncOrderDtoParam.setCode(data.getCode());
syncOrderDtoParam.setOrderCode(data.getOrderCode());
syncOrderDtoParam.setOrderCodeId(data.getOrderCodeId());
syncOrderDtoParam.setOrderId(data.getOrderCodeId());
syncOrderDtoParam.setPaymentAt(data.getPaymentAt());
syncOrderDtoParam.setPaymentId(data.getPaymentId());
syncOrderDtoParam.setPaymentType(data.getPaymentType());
syncOrderDtoParam.setPrice(data.getPrice());
syncOrderDtoParam.setStatus(data.getStatus());
syncOrderDtoParam.setType(data.getType());
if (syncOrderDtoParam.getStatus() == 1) {
//处理订单
syncOrder(syncOrderDtoParam.getData());
syncOrder(syncOrderDtoParam);
return ResponseDto.success(1);
} else {
return ResponseDto.success(0);
}
......
package com.liquidnet.service.order.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.alibaba.fastjson.JSON;
import com.liquidnet.common.sms.constant.SmsEnum;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.adam.dto.vo.AdamRscPolymer01Vo;
import com.liquidnet.service.base.*;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
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.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.dto.vo.KylinAgentVo;
......@@ -21,7 +24,6 @@ import com.liquidnet.service.kylin.dto.vo.returns.PayInnerResultVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayResultVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsOrderService;
import com.liquidnet.service.order.service.InnerService;
import com.liquidnet.service.order.utils.*;
import com.taobao.api.TaobaoClient;
import com.taobao.api.request.AlibabaDamaiMevOpenBatchpushticketRequest;
......@@ -56,12 +58,10 @@ import java.util.*;
@Slf4j
public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderService {
@Value("${liquidnet.url-pay.pay}")
private String payUrl;
@Value("${liquidnet.url-pay.check}")
private String checkUrl;
@Value("${liquidnet.url-pay.localUrl}")
private String synUrl;
@Autowired
IDragonOrdersService dragonOrdersService;
@Autowired
private DataUtils dataUtils;
......@@ -636,34 +636,36 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
name = "正在现场";
}
// 调用支付
LinkedMultiValueMap<String, String> httpData = ObjectUtil.cloneLinkedMultiValueMapStringAndString();
httpData.add("type", "TICKET");
httpData.add("price", orderTickets.getPriceActual().toString());
httpData.add("name", name);
httpData.add("detail", content);
httpData.add("orderCode", orderTickets.getOrderCode());
httpData.add("clientIp", CurrentUtil.getCliIpAddr());
httpData.add("notifyUrl", synUrl);
httpData.add("createDate", orderTickets.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
httpData.add("expireTime", (orderTickets.getPayCountdownMinute()) + "");
httpData.add("payType", payOrderParam.getPayType());
httpData.add("deviceFrom", payOrderParam.getDeviceFrom());
if (payOrderParam.getDeviceFrom().equals("js") || payOrderParam.getDeviceFrom().equals("applet")) {
httpData.add("openId", payOrderParam.getOpenId());
}
if (payOrderParam.getPayType().equals("alipay") && payOrderParam.getDeviceFrom().equals("wap")) {
httpData.add("showUrl", payOrderParam.getShowUrl() + orderTicketId);
httpData.add("returnUrl", payOrderParam.getReturnUrl() + orderTicketId);
if (payOrderParam.getPayType().equalsIgnoreCase(DragonConstant.PayChannelEnum.WEPAY.getCode())) {
if (payOrderParam.getDeviceFrom().equalsIgnoreCase(DragonConstant.DeviceFromEnum.JS.getCode()) || payOrderParam.getDeviceFrom().equalsIgnoreCase(DragonConstant.DeviceFromEnum.APPLET.getCode())) {
if (StringUtil.isEmpty(payOrderParam.getOpenId())) {
return ResponseDto.failure("微信支付openId不能为空!");
}
}
}
if (payOrderParam.getPayType().equals("douyinpay")) {
httpData.add("showUrl", payOrderParam.getShowUrl() + orderTicketId);
httpData.add("returnUrl", payOrderParam.getReturnUrl() + orderTicketId);
DragonPayBaseReqDto dragonPayBaseReqDto = DragonPayBaseReqDto.getNew();
dragonPayBaseReqDto.setPayType(payOrderParam.getPayType());
dragonPayBaseReqDto.setDeviceFrom(payOrderParam.getDeviceFrom());
if (payOrderParam.getDeviceFrom().equals("js") || payOrderParam.getDeviceFrom().equals("applet")) {
dragonPayBaseReqDto.setOpenId(payOrderParam.getOpenId());
}
if (payOrderParam.getPayType().equals("unionpay")) {
httpData.add("returnUrl", payOrderParam.getReturnUrl() + orderTicketId);
dragonPayBaseReqDto.setType("TICKET");
dragonPayBaseReqDto.setPrice(orderTickets.getPriceActual());
if (StringUtil.isNotNull(name) && name.length() >= 32) {
name = name.substring(0, 32);
}
log.debug("调用 DRAGON 参数 = " + httpData.toString());
String returnData = HttpUtil.post(payUrl, httpData);
dragonPayBaseReqDto.setName(name);
dragonPayBaseReqDto.setDetail("正在现场");
dragonPayBaseReqDto.setOrderCode(orderTickets.getOrderCode());
dragonPayBaseReqDto.setClientIp(CurrentUtil.getCliIpAddr());
dragonPayBaseReqDto.setNotifyUrl(synUrl);
dragonPayBaseReqDto.setReturnUrl(payOrderParam.getReturnUrl() + orderTicketId);
dragonPayBaseReqDto.setShowUrl(payOrderParam.getShowUrl() + orderTicketId);
dragonPayBaseReqDto.setCreateDate(orderTickets.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
dragonPayBaseReqDto.setExpireTime(orderTickets.getPayCountdownMinute() + "");
ResponseDto<DragonPayBaseRespDto> responseDto = dragonOrdersService.dragonPay(dragonPayBaseReqDto);
String returnData = JSON.toJSONString(responseDto);
log.debug("调用 DRAGON 结果 = " + returnData);
payResultVo = JsonUtils.fromJson(returnData, PayResultVo.class);
payResultVo.getData().setOrderId(orderTicketId);
......@@ -747,9 +749,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
return ResponseDto.failure(ErrorMapping.get("20026"));
}
}
String returnCheckData = HttpUtil.get(checkUrl + "?code=" + orderTicketData.getPayCode(), null);
PayResultVo checkVo = JsonUtils.fromJson(returnCheckData, PayResultVo.class);
if (checkVo.getData().getStatus() == 1) {
DragonPayOrderQueryRespDto checkVo = dragonOrdersService.checkOrderStatusByCode(orderTicketData.getPayCode());
if (checkVo.getStatus() == 1) {
return ResponseDto.failure(ErrorMapping.get("20027"));
}
if (!orderTicketData.getPayType().equals("no")) {
......@@ -757,42 +758,41 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if (orderTicketData.getEntitiesVoList().size() == 0) {
return ResponseDto.failure(ErrorMapping.get("20004"));
}
KylinOrderTicketEntitiesVo entitiesData = orderTicketData.getEntitiesVoList().get(0);
String name = dataUtils.getTicketPayTxt(orderTicketData.getTicketId());
if (name.equals("")) {
name = "正在现场";
}
LinkedMultiValueMap<String, String> httpData = ObjectUtil.cloneLinkedMultiValueMapStringAndString();
httpData.add("type", "TICKET");
httpData.add("price", orderTicketData.getPriceActual().toString());
httpData.add("name", name);
httpData.add("detail", entitiesData.getPerformanceTitle() + "-" + entitiesData.getTicketTitle() + "-" + entitiesData.getUseStart());
httpData.add("orderCode", orderTicketData.getOrderCode());
httpData.add("clientIp", CurrentUtil.getCliIpAddr());
httpData.add("notifyUrl", synUrl);
httpData.add("createDate", orderTicketData.getCreatedAt());
httpData.add("expireTime", orderTicketData.getPayCountdownMinute().toString());
httpData.add("payType", payAgainParam.getPayType());
httpData.add("deviceFrom", payAgainParam.getDeviceFrom());
if (payAgainParam.getDeviceFrom().equals("js") || payAgainParam.getDeviceFrom().equals("applet")) {
httpData.add("openId", payAgainParam.getOpenId());
}
if (payAgainParam.getPayType().equals("alipay") && payAgainParam.getDeviceFrom().equals("wap")) {
httpData.add("showUrl", payAgainParam.getShowUrl() + payAgainParam.getOrderId());
httpData.add("returnUrl", payAgainParam.getReturnUrl() + payAgainParam.getOrderId());
if (payAgainParam.getPayType().equalsIgnoreCase(DragonConstant.PayChannelEnum.WEPAY.getCode())) {
if (payAgainParam.getDeviceFrom().equalsIgnoreCase(DragonConstant.DeviceFromEnum.JS.getCode()) || payAgainParam.getDeviceFrom().equalsIgnoreCase(DragonConstant.DeviceFromEnum.APPLET.getCode())) {
if (StringUtil.isEmpty(payAgainParam.getOpenId())) {
return ResponseDto.failure("微信支付openId不能为空!");
}
}
}
if (payAgainParam.getPayType().equals("douyinpay")) {
httpData.add("showUrl", payAgainParam.getShowUrl() + payAgainParam.getOrderId());
httpData.add("returnUrl", payAgainParam.getReturnUrl() + payAgainParam.getOrderId());
DragonPayBaseReqDto dragonPayBaseReqDto = DragonPayBaseReqDto.getNew();
dragonPayBaseReqDto.setPayType(payAgainParam.getPayType());
dragonPayBaseReqDto.setDeviceFrom(payAgainParam.getDeviceFrom());
if (payAgainParam.getDeviceFrom().equals("js") || payAgainParam.getDeviceFrom().equals("applet")) {
dragonPayBaseReqDto.setOpenId(payAgainParam.getOpenId());
}
if (payAgainParam.getPayType().equals("unionpay")) {
httpData.add("returnUrl", payAgainParam.getReturnUrl() + payAgainParam.getOrderId());
dragonPayBaseReqDto.setType("TICKET");
dragonPayBaseReqDto.setPrice(orderTicketData.getPriceActual());
if (StringUtil.isNotNull(name) && name.length() >= 32) {
name = name.substring(0, 32);
}
String returnData = HttpUtil.post(payUrl, httpData);
dragonPayBaseReqDto.setName(name);
dragonPayBaseReqDto.setDetail("正在现场");
dragonPayBaseReqDto.setOrderCode(orderTicketData.getOrderCode());
dragonPayBaseReqDto.setClientIp(CurrentUtil.getCliIpAddr());
dragonPayBaseReqDto.setNotifyUrl(synUrl);
dragonPayBaseReqDto.setReturnUrl(payAgainParam.getReturnUrl() + payAgainParam.getOrderId());
dragonPayBaseReqDto.setShowUrl(payAgainParam.getShowUrl() + payAgainParam.getOrderId());
dragonPayBaseReqDto.setCreateDate(orderTicketData.getCreatedAt());
dragonPayBaseReqDto.setExpireTime(orderTicketData.getPayCountdownMinute().toString());
ResponseDto<DragonPayBaseRespDto> responseDto = dragonOrdersService.dragonPay(dragonPayBaseReqDto);
String returnData = JSON.toJSONString(responseDto);
PayResultVo payResultVo = JsonUtils.fromJson(returnData, PayResultVo.class);
payResultVo.getData().setOrderId(orderTicketData.getOrderTicketsId());
payResultVo.getData().setPrice(orderTicketData.getPriceActual());
......@@ -1070,11 +1070,19 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
if (orderTicketData == null) {
return ResponseDto.failure(ErrorMapping.get("20024"));
} else {
String returnCheckData = HttpUtil.get(checkUrl + "?code=" + orderTicketData.getPayCode(), null);
SyncOrderDtoParam syncOrderDtoParam = JsonUtils.fromJson(returnCheckData, SyncOrderDtoParam.class);
if (syncOrderDtoParam.getData().getStatus() == 1) {
DragonPayOrderQueryRespDto data = dragonOrdersService.checkOrderStatusByCode(orderTicketData.getPayCode());
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());
if (syncOrderDtoParam.getStatus() == 1) {
//处理订单
syncOrder(syncOrderDtoParam.getData());
syncOrder(syncOrderDtoParam);
return ResponseDto.success(1);
} else {
return ResponseDto.success(0);
......
......@@ -9,6 +9,9 @@ import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.vo.CandyUseResultVo;
import com.liquidnet.service.dragon.dto.DragonRefundAppDto;
import com.liquidnet.service.dragon.service.IDragonOrderRefundsService;
import com.liquidnet.service.dragon.service.IDragonOrdersService;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.GoblinQueueBizIntegralDto;
import com.liquidnet.service.goblin.dto.GoblinQueueBizMongoDto;
......@@ -36,8 +39,8 @@ public class GoblinOrderUtils {
private String candyUrl;
@Value("${liquidnet.service.order.url-pay.goblinRefundUrl}")
private String synUrl;
@Value("${liquidnet.service.dragon.urls.refundApply}")
private String refundApply;
@Autowired
private IDragonOrderRefundsService dragonOrderRefundsService;
@Autowired
QueueUtils queueUtils;
......@@ -228,11 +231,12 @@ public class GoblinOrderUtils {
/**
* mongo操作入队列
*
* @param collect Mongo集合名
* @param column Mongo集合中的字段属性名称
* @param bizId Mongo集合中的字段属性值
* @param prefix Redis缓存中的Key前缀
* @param opType 操作类型[1-insert|2-update]
* @param column Mongo集合中的字段属性名称
* @param bizId Mongo集合中的字段属性值
* @param prefix Redis缓存中的Key前缀
* @param opType 操作类型[1-insert|2-update]
*/
public void setMongoList(String collect, String column, String bizId, String prefix, int opType) {
GoblinQueueBizMongoDto goblinQueueBizMongoDto = GoblinQueueBizMongoDto.getNew();
......@@ -481,23 +485,21 @@ public class GoblinOrderUtils {
}
private String initRefund(GoblinStoreOrderVo orderVo, BigDecimal price, String refundCode) {
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("code", orderVo.getPayCode());
params.add("notifyUrl", synUrl);
params.add("orderCode", orderVo.getMasterOrderCode());
params.add("orderRefundCode", refundCode);
params.add("paymentId", orderVo.getPaymentId());
params.add("paymentType", orderVo.getPaymentType());
params.add("price", String.valueOf(price));
BigDecimal totalPrice = BigDecimal.ZERO;
totalPrice = totalPrice.add(price);
params.add("priceTotal", String.valueOf(totalPrice));
params.add("reason", "超时支付");
MultiValueMap<String, String> headers = CollectionUtil.linkedMultiValueMapStringString();
headers.add("Accept", "application/json;charset=UTF-8");
String returnString = HttpUtil.post(refundApply, params, headers);
ResponseDto<DragonRefundAppDto> returnData = dragonOrderRefundsService.dragonRefund(
orderVo.getMasterOrderCode(),
orderVo.getPayCode(),
refundCode,
"超时支付",
synUrl,
price,
orderVo.getPaymentType(),
orderVo.getPaymentId(),
totalPrice);
String returnString = JSON.toJSONString(returnData);
log.debug("REFUND DATA = " + returnString);
return returnString;
return JsonUtils.toJson(returnString);
}
//订单异常处理
......
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