diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java index ab7844c1c..fdca410e9 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/TempController.java @@ -2,6 +2,7 @@ package com.jsowell.api.uniapp; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; +import com.google.common.collect.ImmutableMap; import com.jsowell.adapay.dto.BalancePaymentRequestDTO; import com.jsowell.adapay.service.AdapayService; import com.jsowell.common.annotation.Anonymous; @@ -16,11 +17,10 @@ import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.dto.ApplyRefundDTO; import com.jsowell.pile.dto.CarVinDTO; import com.jsowell.pile.dto.QueryOrderDTO; -import com.jsowell.pile.service.IAdapayMemberAccountService; -import com.jsowell.pile.service.IMemberBasicInfoService; -import com.jsowell.pile.service.IMemberPlateNumberRelationService; -import com.jsowell.pile.service.IOrderBasicInfoService; +import com.jsowell.pile.dto.SettleOrderReportDTO; +import com.jsowell.pile.service.*; import com.jsowell.pile.vo.uniapp.MemberBalanceVO; +import com.jsowell.pile.vo.web.ClearingBillVO; import com.jsowell.service.OrderService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -56,6 +56,9 @@ public class TempController extends BaseController { @Autowired private OrderService orderService; + @Autowired + private ISettleOrderReportService settleOrderReportService; + /** * 临时刷数据接口 * http://localhost:8080/temp/tempUpdateVirtualAmount @@ -310,4 +313,26 @@ public class TempController extends BaseController { } return response; } + + /** + * 查询未分账订单 + * http://localhost:8080/temp/queryUndividedOrder + */ + @PostMapping("/queryUndividedOrder") + public RestApiResponse queryUndividedOrder(SettleOrderReportDTO dto) { + logger.info("查询未分账订单param:{}", JSON.toJSONString(dto)); + RestApiResponse response; + try { + List clearingBillVOS = settleOrderReportService.queryUndividedOrder(dto); + response = new RestApiResponse<>(ImmutableMap.of("list", clearingBillVOS)); + } catch (BusinessException e) { + logger.error("查询未分账订单接口 error,", e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + } catch (Exception e) { + logger.error("查询未分账订单接口 error,", e); + response = new RestApiResponse<>("00300003", "查询未分账订单异常"); + } + logger.info("查询未分账订单result:{}", JSON.toJSONString(response)); + return response; + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/ISettleOrderReportService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/ISettleOrderReportService.java index c0436ace3..cfc79c277 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/ISettleOrderReportService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/ISettleOrderReportService.java @@ -4,6 +4,7 @@ import com.jsowell.common.core.page.PageResponse; import com.jsowell.pile.domain.SettleOrderReport; import com.jsowell.pile.dto.MerchantOrderReportDTO; import com.jsowell.pile.dto.SettleOrderReportDTO; +import com.jsowell.pile.vo.web.ClearingBillVO; import com.jsowell.pile.vo.web.MerchantOrderReportVO; import java.util.List; @@ -99,4 +100,6 @@ public interface ISettleOrderReportService { int batchInsert(List list); List queryOrderReport(List stationIdList, String startTime, String endTime); + + List queryUndividedOrder(SettleOrderReportDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index f572b59bd..a01f9c481 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -2811,6 +2811,11 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService { } } + @Override + public void queryUndividedOrder(SettleOrderReportDTO dto) { + + } + /** * 使用汇付支付 * diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/SettleOrderReportServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/SettleOrderReportServiceImpl.java index d4abf034f..8de330d1b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/SettleOrderReportServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/SettleOrderReportServiceImpl.java @@ -7,6 +7,7 @@ import com.jsowell.adapay.dto.QueryPaymentConfirmDTO; import com.jsowell.adapay.response.QueryPaymentConfirmDetailResponse; import com.jsowell.adapay.service.AdapayService; import com.jsowell.common.core.page.PageResponse; +import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.PageUtils; import com.jsowell.common.util.StringUtils; @@ -69,6 +70,37 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService { return settleOrderReportMapper.selectByStationIdAndDate(stationId, date); } + + @Override + public List queryUndividedOrder(SettleOrderReportDTO dto) { + List resultList = Lists.newArrayList(); + + SettleOrderReport orderReport = selectByStationIdAndDate(dto.getStationId(), dto.getTradeDate()); + if (orderReport == null) { + throw new BusinessException("00300002", "查询站点订单日报为空"); + } + String orderCodes = orderReport.getOrderCodes(); + List orderCodeList = Lists.newArrayList(StringUtils.split(orderCodes, ",")); + List clearingBillVOList = clearingWithdrawInfoService.selectWithdrawInfoByOrderCodeList(orderCodeList); + if (CollectionUtils.isEmpty(clearingBillVOList)) { + throw new BusinessException("00300005", "查询清分信息为空"); + } + String wechatAppId = pileMerchantInfoService.queryAppIdByMerchantId(orderReport.getMerchantId()); + for (ClearingBillVO clearingBillVO : clearingBillVOList) { + String paymentId = clearingBillVO.getPaymentId(); + QueryPaymentConfirmDTO build = QueryPaymentConfirmDTO.builder() + .wechatAppId(wechatAppId) + .paymentId(paymentId) + .build(); + QueryPaymentConfirmDetailResponse response = adapayService.queryPaymentConfirmList(build); + List paymentConfirms = response.getPaymentConfirms(); + if (paymentConfirms == null) { + resultList.add(clearingBillVO); + } + } + return resultList; + } + /** * 查询站点订单日报明细 * 分页查询 @@ -320,5 +352,6 @@ public class SettleOrderReportServiceImpl implements ISettleOrderReportService { public List queryOrderReport(List stationIdList, String startTime, String endTime) { return settleOrderReportMapper.queryOrderReport(stationIdList, startTime, endTime); } + }