This commit is contained in:
Lemon
2023-10-19 11:21:10 +08:00
21 changed files with 188 additions and 120 deletions

View File

@@ -438,6 +438,7 @@ public class TempController extends BaseController {
/**
* 校验未分账的支付单
* https://localhost:8080/temp/verifyUndividedPayment
*/
@PostMapping("/verifyUndividedPayment")
public RestApiResponse<?> verifyUndividedPayment(@RequestBody QueryOrderDTO dto) {

View File

@@ -445,12 +445,11 @@ public class OrderService {
try {
if (StringUtils.equals(orderBasicInfo.getOrderStatus(), OrderStatusEnum.IN_THE_CHARGING.getValue())) {
RealTimeMonitorData lastMonitorData = vo.getLastMonitorData();
if (lastMonitorData != null) {
String dateTime = lastMonitorData.getDateTime();
if (DateUtils.intervalTime(dateTime, DateUtils.getDateTime()) > 2L) {
// 间隔时间超过2分钟, 订单状态修改为异常
}
if (lastMonitorData == null || DateUtils.intervalTime(lastMonitorData.getDateTime(), DateUtils.getDateTime()) > 2L) {
// 没有实时数据 或者 间隔时间超过2分钟, 订单状态修改为异常
orderBasicInfo.setOrderStatus(OrderStatusEnum.ABNORMAL.getValue());
orderBasicInfo.setReason("充电桩长时间没有上传实时数据");
orderBasicInfoService.updateOrderBasicInfo(orderBasicInfo);
}
}
} catch (Exception e) {

View File

@@ -7,11 +7,11 @@ import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.huifu.adapay.core.exception.BaseAdaPayException;
import com.jsowell.adapay.dto.QueryPaymentConfirmDTO;
import com.jsowell.adapay.response.PaymentConfirmResponse;
import com.jsowell.adapay.response.QueryPaymentConfirmDetailResponse;
import com.jsowell.adapay.service.AdapayService;
import com.jsowell.adapay.vo.OrderSettleResult;
import com.jsowell.adapay.vo.PaymentInfo;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.StringUtils;
@@ -23,10 +23,9 @@ import com.jsowell.pile.mapper.OrderBasicInfoMapper;
import com.jsowell.pile.service.*;
import com.jsowell.pile.service.orderlogic.AbstractOrderLogic;
import com.jsowell.pile.service.orderlogic.DelayMerchantOrderLogic;
import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.web.ClearingBillVO;
import com.jsowell.pile.vo.web.OrderListVO;
import com.jsowell.wxpay.service.WxAppletRemoteService;
import com.jsowell.pile.vo.web.OrderPayDetailVO;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -54,78 +53,24 @@ public class TempService {
@Autowired
private ClearingWithdrawInfoService clearingWithdrawInfoService;
@Autowired
private TransactionService transactionService;
@Autowired
private RedisCache redisCache;
@Autowired
private WxAppletRemoteService wxAppletRemoteService;
@Autowired
private OrderPayRecordService orderPayRecordService;
@Autowired
private IMemberBasicInfoService memberBasicInfoService;
@Autowired
private WxpayCallbackRecordService wxpayCallbackRecordService;
@Autowired
private AdapayCallbackRecordService adapayCallbackRecordService;
@Autowired
private WechatPayService wechatPayService;
@Autowired
private IOrderAbnormalRecordService orderAbnormalRecordService;
@Autowired
private TransactionService pileTransactionService;
@Autowired
private IPileBasicInfoService pileBasicInfoService;
@Autowired
private IPileConnectorInfoService pileConnectorInfoService;
@Autowired
private WxpayRefundCallbackService wxpayRefundCallbackService;
@Autowired
private IPileBillingTemplateService pileBillingTemplateService;
@Autowired
private IPileAuthCardService pileAuthCardService;
@Autowired
private OrderMonitorDataService orderMonitorDataService;
@Autowired
private IPileStationInfoService pileStationInfoService;
@Autowired
private IPileMerchantInfoService pileMerchantInfoService;
@Autowired
private IMemberPlateNumberRelationService memberPlateNumberRelationService;
@Autowired
private IMemberTransactionRecordService memberTransactionRecordService;
@Autowired
private ISettleOrderReportService settleOrderReportService;
@Autowired
private IAdapayMemberAccountService adapayMemberAccountService;
@Autowired
private PileRemoteService pileRemoteService;
@Autowired
private IPileStationWhitelistService pileStationWhitelistService;
@Autowired
private AdapayService adapayService;
@@ -522,10 +467,33 @@ public class TempService {
}
public void verifyUndividedPayment(QueryOrderDTO dto) {
String wechatAppId = "wxbb3e0d474569481d";
String startTime = dto.getStartTime();
String endTime = dto.getEndTime();
// 查询时间段的订单
// List<AdapayCallbackRecord> list = adapayCallbackRecordService.selectByDateTime(startTime, endTime);
List<OrderPayDetailVO> orderPayDetailVOS = orderBasicInfoService.queryOrderPayDetail(startTime, endTime);
logger.info("校验未分账的支付单-在 {} - {} 期间,共查询到{}条支付记录", startTime, endTime, orderPayDetailVOS.size());
// 查询支付单 分账情况
for (OrderPayDetailVO record : orderPayDetailVOS) {
String paymentId = record.getPaymentId();
BigDecimal confirmAmt = record.getSettleAmount();
String orderCode = record.getOrderCode();
QueryPaymentConfirmDTO queryPaymentConfirmDTO = new QueryPaymentConfirmDTO();
queryPaymentConfirmDTO.setWechatAppId(wechatAppId);
queryPaymentConfirmDTO.setPaymentId(paymentId);
QueryPaymentConfirmDetailResponse response = adapayService.queryPaymentConfirmList(queryPaymentConfirmDTO);
logger.info("校验未分账的支付单-支付id:{}, 查询到的分账信息:{}", paymentId, JSON.toJSONString(response));
List<QueryPaymentConfirmDetailResponse.PaymentConfirmInfo> confirms = response.getPaymentConfirms();
if (CollectionUtils.isEmpty(confirms)) {
logger.info("校验未分账的支付单-支付id:{}没有进行过分账", paymentId);
// 没有配置结算账户的,默认分到本商户
AdapayMemberAccount defaultAccount = adapayMemberAccountService.getDefault();
PaymentConfirmResponse paymentConfirmRequest = adapayService.createPaymentConfirmRequest(paymentId, defaultAccount, confirmAmt, orderCode, wechatAppId);
logger.info("校验未分账的支付单-支付id:{}, 执行分账结果:{}", paymentId, JSON.toJSONString(paymentConfirmRequest));
}
}
// 没有配置结算账户的,默认分到本商户
}
}