This commit is contained in:
2023-07-10 14:40:05 +08:00
parent 6607e25fcb
commit 5e44db6ded
3 changed files with 40 additions and 82 deletions

View File

@@ -169,49 +169,6 @@ public class OrderService {
*/ */
public Map<String, Object> payOrder(PayOrderDTO dto) throws Exception { public Map<String, Object> payOrder(PayOrderDTO dto) throws Exception {
Map<String, Object> resultMap = orderBasicInfoService.payOrder(dto); Map<String, Object> resultMap = orderBasicInfoService.payOrder(dto);
// OrderBasicInfo orderInfo = orderBasicInfoService.getOrderInfoByOrderCode(dto.getOrderCode());
// if (orderInfo == null) {
// throw new BusinessException(ReturnCodeEnum.CODE_QUERY_ORDER_NULL_ERROR);
// }
// if (!StringUtils.equals(orderInfo.getPayStatus(), "0")) {
// // 订单已支付
// throw new BusinessException(ReturnCodeEnum.CODE_ORDER_IS_NOT_TO_BE_PAID_ERROR);
// }
// Map<String, Object> resultMap = Maps.newHashMap();
// if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue())) {
// // 余额支付
// balancePayOrder(dto);
// } else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())) {
// // 微信支付
// dto.setOrderBasicInfo(orderInfo);
//
// // 从字典中获取使用汇付支付的站点
// List<SysDictData> adapay_station = DictUtils.getDictCache("adapay_station");
// List<String> stationIdList = Lists.newArrayList();
// if (CollectionUtils.isNotEmpty(adapay_station)) {
// for (SysDictData sysDictData : adapay_station) {
// stationIdList.add(sysDictData.getDictValue());
// }
// }
// Map<String, Object> weixinMap;
// if (stationIdList.contains(orderInfo.getStationId())) {
// log.info("该站点:{}在字典中配置了使用汇付支付", orderInfo.getStationId());
// weixinMap = adapayPayOrder(dto);
// } else {
// log.info("该站点:{}使用微信支付", orderInfo.getStationId());
// weixinMap = wechatPayOrder(dto);
// }
//
// // 返回微信支付参数
// resultMap.put("weixinMap", weixinMap);
// } else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_ALIPAY.getValue())) { // 支付宝支付
// // TODO 返回支付宝支付参数
// } else if (StringUtils.equals(dto.getPayMode(), OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue())) { // 白名单支付
// // 白名单支付可以直接调支付回调方法
// dto.setPayAmount(new BigDecimal("500"));
// whiteListPayOrder(dto);
// }
return resultMap; return resultMap;
} }

View File

@@ -1114,6 +1114,17 @@ public class SpringBootTestController {
// } else { // } else {
// System.out.println("更新余额失败"); // System.out.println("更新余额失败");
// } // }
Map<String, Object> refundParams = new HashMap<>(2);
refundParams.put("payment_id", "002212023071011321210524320114191904768");
// refundParams.put("refund_id", refund_id);
// refundParams.put("refund_order_no", refund_order_no);
try {
Map<String, Object> refund = Refund.query(refundParams);
System.out.println(refund);
} catch (BaseAdaPayException e) {
throw new RuntimeException(e);
}
} }
@Test @Test

View File

@@ -16,6 +16,7 @@ import com.huifu.adapay.model.Refund;
import com.jsowell.adapay.common.CreateAdaPaymentParam; import com.jsowell.adapay.common.CreateAdaPaymentParam;
import com.jsowell.common.constant.CacheConstants; import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.constant.Constants; import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.domain.entity.SysDictData;
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData; import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
import com.jsowell.common.core.domain.ykc.TransactionRecordsData; import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
@@ -158,6 +159,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
@Autowired @Autowired
private PileRemoteService pileRemoteService; private PileRemoteService pileRemoteService;
/** /**
* 条件查询订单基本信息 * 条件查询订单基本信息
* *
@@ -194,7 +196,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
if (StringUtils.equals(PaymentInstitutionsEnum.ADAPAY.getValue(), orderListVO.getPaymentInstitutions())) { if (StringUtils.equals(PaymentInstitutionsEnum.ADAPAY.getValue(), orderListVO.getPaymentInstitutions())) {
AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderListVO.getOrderCode()); AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderListVO.getOrderCode());
orderListVO.setOutTradeNo(adapayCallbackRecord.getPaymentId()); orderListVO.setOutTradeNo(adapayCallbackRecord.getPaymentId());
} else if (StringUtils.equals(PaymentInstitutionsEnum.WECHAT_PAY.getValue(), orderListVO.getPaymentInstitutions())){ } else if (StringUtils.equals(PaymentInstitutionsEnum.WECHAT_PAY.getValue(), orderListVO.getPaymentInstitutions())) {
WxpayCallbackRecord wxpayCallbackRecord = wxpayCallbackRecordService.selectByOrderCode(orderListVO.getOrderCode()); WxpayCallbackRecord wxpayCallbackRecord = wxpayCallbackRecordService.selectByOrderCode(orderListVO.getOrderCode());
orderListVO.setOutTradeNo(wxpayCallbackRecord.getOutTradeNo()); orderListVO.setOutTradeNo(wxpayCallbackRecord.getOutTradeNo());
} }
@@ -321,7 +323,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
: new BigDecimal(orderListVO.getChargingDegree()); : new BigDecimal(orderListVO.getChargingDegree());
sumUsedElectricity = sumUsedElectricity.add(chargingDegree); sumUsedElectricity = sumUsedElectricity.add(chargingDegree);
BigDecimal settleAmount = StringUtils.isBlank(orderListVO.getSettleAmount()) BigDecimal settleAmount = StringUtils.isBlank(orderListVO.getSettleAmount())
? BigDecimal.ZERO ? BigDecimal.ZERO
: new BigDecimal(orderListVO.getSettleAmount()); : new BigDecimal(orderListVO.getSettleAmount());
sumSettleAmount = sumSettleAmount.add(settleAmount); sumSettleAmount = sumSettleAmount.add(settleAmount);
@@ -528,7 +530,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
redisCache.setCacheObject(redisKey, orderBasicInfo, 5, TimeUnit.MINUTES); redisCache.setCacheObject(redisKey, orderBasicInfo, 5, TimeUnit.MINUTES);
} }
} }
logger.info("通过订单号:{}, 查询订单信息:{}", orderCode, JSON.toJSONString(orderBasicInfo)); // logger.info("通过订单号:{}, 查询订单信息:{}", orderCode, JSON.toJSONString(orderBasicInfo));
return orderBasicInfo; return orderBasicInfo;
} }
@@ -547,7 +549,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
redisCache.setCacheObject(redisKey, orderBasicInfo, 5, TimeUnit.MINUTES); redisCache.setCacheObject(redisKey, orderBasicInfo, 5, TimeUnit.MINUTES);
} }
} }
logger.info("通过交易流水号:{}, 查询订单信息:{}", transactionCode, JSON.toJSONString(orderBasicInfo)); // logger.info("通过交易流水号:{}, 查询订单信息:{}", transactionCode, JSON.toJSONString(orderBasicInfo));
return orderBasicInfo; return orderBasicInfo;
} }
@@ -1643,7 +1645,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
return map; return map;
// String pileSn = dto.getPileSn(); // String pileSn = dto.getPileSn();
// String connectorCode = dto.getConnectorCode(); // String connectorCode = dto.getConnectorCode();
// String startMode = dto.getStartMode(); // String startMode = dto.getStartMode();
@@ -1945,23 +1946,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
refundParams.put("refund_order_no", SnowflakeIdWorker.getSnowflakeId()); refundParams.put("refund_order_no", SnowflakeIdWorker.getSnowflakeId());
refundParams.put("notify_url", ADAPAY_REFUND_CALLBACK_URL); refundParams.put("notify_url", ADAPAY_REFUND_CALLBACK_URL);
// 分账对象信息
// OrderBasicInfo orderBasicInfo = getOrderInfoByOrderCode(dto.getOrderCode());
// if (orderBasicInfo != null) {
// String adapayMemberId = adapayMemberAccountService.selectAdapayMemberIdByStationId(orderBasicInfo.getStationId());
// if (StringUtils.isNotBlank(adapayMemberId)) {
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("member_id", adapayMemberId);
// jsonObject.put("amount", amount);
// jsonObject.put("fee_flag", Constants.Y);
//
// // 分账对象信息列表最多仅支持7个分账方json 数组形式
// JSONArray jsonArray = new JSONArray();
// jsonArray.add(jsonObject);
// // 分账对象信息
// refundParams.put("div_members", jsonArray.toString());
// }
// }
try { try {
Map<String, Object> response = Refund.create(id, refundParams); Map<String, Object> response = Refund.create(id, refundParams);
logger.info("汇付支付创建退款对象:{}", JSON.toJSONString(response)); logger.info("汇付支付创建退款对象:{}", JSON.toJSONString(response));
@@ -2060,6 +2044,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/** /**
* 获取运营商订单列表 * 获取运营商订单列表
*
* @param dto * @param dto
* @return * @return
*/ */
@@ -2118,6 +2103,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/** /**
* 支付订单 * 支付订单
*
* @param dto * @param dto
* @return * @return
* @throws Exception * @throws Exception
@@ -2140,22 +2126,22 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
// 微信支付 // 微信支付
dto.setOrderBasicInfo(orderInfo); dto.setOrderBasicInfo(orderInfo);
Map<String, Object> weixinMap = adapayPayOrder(dto); Map<String, Object> weixinMap = null;
// 从字典中获取使用汇付支付的站点 // 从字典中获取使用汇付支付的站点
// List<SysDictData> adapay_station = DictUtils.getDictCache("adapay_station"); List<SysDictData> adapay_station = DictUtils.getDictCache("adapay_station");
// List<String> stationIdList = Lists.newArrayList(); List<String> stationIdList = Lists.newArrayList();
// if (CollectionUtils.isNotEmpty(adapay_station)) { if (CollectionUtils.isNotEmpty(adapay_station)) {
// for (SysDictData sysDictData : adapay_station) { for (SysDictData sysDictData : adapay_station) {
// stationIdList.add(sysDictData.getDictValue()); stationIdList.add(sysDictData.getDictValue());
// } }
// } }
// if (stationIdList.contains(orderInfo.getStationId())) { if (stationIdList.contains(orderInfo.getStationId())) {
// logger.info("该站点:{}在字典中配置了使用汇付支付", orderInfo.getStationId()); logger.info("该站点:{}在字典中配置了使用汇付支付", orderInfo.getStationId());
// weixinMap = adapayPayOrder(dto); weixinMap = adapayPayOrder(dto);
// } else { } else {
// logger.info("该站点:{}使用微信支付", orderInfo.getStationId()); logger.info("该站点:{}使用微信支付", orderInfo.getStationId());
// weixinMap = wechatPayOrder(dto); weixinMap = wechatPayOrder(dto);
// } }
// 返回微信支付参数 // 返回微信支付参数
resultMap.put("weixinMap", weixinMap); resultMap.put("weixinMap", weixinMap);
@@ -2171,6 +2157,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/** /**
* 白名单支付订单逻辑 * 白名单支付订单逻辑
*
* @param dto * @param dto
*/ */
private void whiteListPayOrder(PayOrderDTO dto) { private void whiteListPayOrder(PayOrderDTO dto) {
@@ -2222,6 +2209,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/** /**
* 微信支付订单逻辑 获取支付参数 * 微信支付订单逻辑 获取支付参数
*
* @param dto * @param dto
* @return * @return
* @throws Exception * @throws Exception
@@ -2263,6 +2251,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/** /**
* 使用汇付支付 * 使用汇付支付
*
* @param dto * @param dto
* @return * @return
*/ */
@@ -2299,9 +2288,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
map.put("type", ScenarioEnum.ORDER.getValue()); map.put("type", ScenarioEnum.ORDER.getValue());
map.put("orderCode", dto.getOrderCode()); map.put("orderCode", dto.getOrderCode());
createAdaPaymentParam.setDescription(JSON.toJSONString(map)); createAdaPaymentParam.setDescription(JSON.toJSONString(map));
//异步通知地址url为http/https路径服务器POST回调URL 上请勿附带参数 // 异步通知地址url为http/https路径服务器POST回调URL 上请勿附带参数
createAdaPaymentParam.setNotify_url(ADAPAY_CALLBACK_URL); createAdaPaymentParam.setNotify_url(ADAPAY_CALLBACK_URL);
createAdaPaymentParam.setExpend(JSONObject.toJSONString( ImmutableMap.of("open_id", openId))); createAdaPaymentParam.setExpend(JSONObject.toJSONString(ImmutableMap.of("open_id", openId)));
// 分账对象信息 // 分账对象信息
// String adapayMemberId = adapayMemberAccountService.selectAdapayMemberIdByStationId(orderInfo.getStationId()); // String adapayMemberId = adapayMemberAccountService.selectAdapayMemberIdByStationId(orderInfo.getStationId());
@@ -2341,6 +2330,7 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
/** /**
* 余额支付订单逻辑 * 余额支付订单逻辑
*
* @param dto * @param dto
*/ */
private void balancePayOrder(PayOrderDTO dto) { private void balancePayOrder(PayOrderDTO dto) {