mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
新增 根据分账id撤销已分帐订单
This commit is contained in:
@@ -59,4 +59,6 @@ public interface OrderSplitRecordMapper {
|
||||
* @return
|
||||
*/
|
||||
List<SplitConfigStationVO> queryStationAggregateData(@Param("dto") SplitConfigStationDTO dto);
|
||||
|
||||
List<OrderSplitRecord> selectInfoByPaymentConfirmId(String paymentConfirmId);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jsowell.pile.service;
|
||||
|
||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||
import com.jsowell.adapay.dto.PaymentConfirmParam;
|
||||
import com.jsowell.adapay.dto.SplitData;
|
||||
import com.jsowell.adapay.response.PaymentConfirmResponse;
|
||||
@@ -92,5 +93,11 @@ public interface OrderSplitRecordService {
|
||||
* @return
|
||||
*/
|
||||
List<SplitRecordInfoVO> queryOrderSplitDetail(String orderCode);
|
||||
|
||||
/**
|
||||
* 根据分账id撤销已分帐
|
||||
* @param paymentConfirmId
|
||||
*/
|
||||
String confirmReverseByPaymentConfirmId(String paymentConfirmId) throws BaseAdaPayException;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,21 +1,27 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||
import com.huifu.adapay.model.AdapayCommon;
|
||||
import com.jsowell.adapay.dto.PaymentConfirmParam;
|
||||
import com.jsowell.adapay.dto.SplitData;
|
||||
import com.jsowell.adapay.response.PaymentConfirmResponse;
|
||||
import com.jsowell.adapay.service.AdapayService;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.core.domain.model.LoginUser;
|
||||
import com.jsowell.common.core.page.PageResponse;
|
||||
import com.jsowell.common.enums.DelFlagEnum;
|
||||
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
|
||||
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
|
||||
import com.jsowell.common.exception.BusinessException;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.SecurityUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.common.util.id.IdUtils;
|
||||
import com.jsowell.pile.domain.AdapayMemberAccount;
|
||||
import com.jsowell.pile.domain.OrderSplitRecord;
|
||||
import com.jsowell.pile.domain.PileMerchantInfo;
|
||||
@@ -498,6 +504,48 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据分账id撤销已分帐
|
||||
* @param paymentConfirmId
|
||||
*/
|
||||
@Override
|
||||
public String confirmReverseByPaymentConfirmId(String paymentConfirmId) throws BaseAdaPayException {
|
||||
// 根据确认id查出订单信息
|
||||
List<OrderSplitRecord> recordList = orderSplitRecordMapper.selectInfoByPaymentConfirmId(paymentConfirmId);
|
||||
if (CollectionUtils.isEmpty(recordList)) {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_SELECT_INFO_IS_NULL);
|
||||
}
|
||||
OrderSplitRecord orderSplitRecord = recordList.get(0);
|
||||
String merchantId = orderSplitRecord.getMerchantId();
|
||||
String orderCode = orderSplitRecord.getOrderCode();
|
||||
|
||||
String wxappId = Constants.DEFAULT_APP_ID;
|
||||
// 通过确认id查询会查出多条分账记录,需要先判断订单所属的运营商是举视还是希晓
|
||||
if (StringUtils.equals(merchantId, Constants.XIXIAO_MERCHANT_ID_PRD)) {
|
||||
wxappId = Constants.XIXIAO_APP_ID;
|
||||
}
|
||||
// 确认请求参数
|
||||
String newOrderCode = orderCode + "_" + DateUtils.dateTimeNow();
|
||||
Map<String, Object> confirmReverseParams = Maps.newHashMap();
|
||||
confirmReverseParams.put("adapay_func_code", "payments.confirm.reverse");
|
||||
confirmReverseParams.put("payment_confirm_id", paymentConfirmId);
|
||||
confirmReverseParams.put("reason", "后管支付管理页面撤销已分帐");
|
||||
confirmReverseParams.put("order_no", newOrderCode);
|
||||
// 调用汇付接口
|
||||
Map<String, Object> confirmReverseResult = AdapayCommon.requestAdapay(confirmReverseParams, wxappId);
|
||||
// 获取返回参数中的status
|
||||
String status = String.valueOf(confirmReverseResult.get("status"));
|
||||
if (StringUtils.equals("succeeded", status)) {
|
||||
// 成功撤销,将之前该订单下的所有分账信息状态改为已撤销
|
||||
recordList.forEach(
|
||||
x -> x.setStatus("revoked")
|
||||
);
|
||||
// 批量修改
|
||||
orderSplitRecordMapper.updateBatchSelective(recordList);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据汇付会员id查询分账汇总数据
|
||||
* @param dto
|
||||
|
||||
Reference in New Issue
Block a user