查询订单分账配置

This commit is contained in:
Guoqs
2025-10-14 11:50:21 +08:00
parent 9e08d916f7
commit 65a26e1faf
11 changed files with 84 additions and 7 deletions

View File

@@ -998,4 +998,22 @@ public class TempController extends BaseController {
} }
return response; return response;
} }
/**
* 查询订单分账配置
* @param dto
* @return
*/
@PostMapping("/queryOrderSplitConfigList")
public RestApiResponse<?> queryOrderSplitConfigList(@RequestBody DebugOrderDTO dto) {
RestApiResponse<?> response;
try {
tempService.queryOrderSplitConfigList(dto.getOrderCode());
response = new RestApiResponse<>();
} catch (Exception e) {
logger.error("查询订单分账配置 error,", e);
response = new RestApiResponse<>(e);
}
return response;
}
} }

View File

@@ -1425,5 +1425,9 @@ public class TempService {
logger.info("checkOrderSplitRecord订单号:{}, afterSettleOrderDTO:{}", orderCode, JSON.toJSONString(afterSettleOrderDTO)); logger.info("checkOrderSplitRecord订单号:{}, afterSettleOrderDTO:{}", orderCode, JSON.toJSONString(afterSettleOrderDTO));
orderBasicInfoService.checkOrUpdateOrderSplitRecord(afterSettleOrderDTO); orderBasicInfoService.checkOrUpdateOrderSplitRecord(afterSettleOrderDTO);
} }
public List<StationSplitConfig> queryOrderSplitConfigList(String orderCode) {
return orderBasicInfoService.queryOrderSplitConfigList(orderCode);
}
} }

View File

@@ -592,7 +592,7 @@ public class PaymentTestController {
// 查询支付确认id // 查询支付确认id
QueryPaymentConfirmDTO dto = new QueryPaymentConfirmDTO(); QueryPaymentConfirmDTO dto = new QueryPaymentConfirmDTO();
dto.setPaymentConfirmId("0022120251010134711990822599294813462528"); dto.setPaymentConfirmId("0022120250914002345990812975021684928512");
dto.setWechatAppId(wechatAppId1); dto.setWechatAppId(wechatAppId1);
// 查询分账信息 // 查询分账信息
PaymentConfirmInfo paymentConfirmInfo = adapayService.queryPaymentConfirmDetail(dto); PaymentConfirmInfo paymentConfirmInfo = adapayService.queryPaymentConfirmDetail(dto);

View File

@@ -43,6 +43,7 @@
002212025091410343310813128734659739648 002212025091410343310813128734659739648
002212025091411305910813142936145289216 002212025091411305910813142936145289216
002212025091411585210813149954511876096 002212025091411585210813149954511876096
002212025091412172910813154639293620224
002212025091412445910813161557793845248 002212025091412445910813161557793845248
002212025091408225810813095620038254592 002212025091408225810813095620038254592
002212025091412331610813158610146066432 002212025091412331610813158610146066432

View File

@@ -76,4 +76,11 @@ public interface OrderSplitRecordMapper {
* @return * @return
*/ */
int deleteOrderSplitRecord(String orderCode); int deleteOrderSplitRecord(String orderCode);
/**
* 查询所有订单分账记录
* @param orderCode
* @return
*/
List<OrderSplitRecord> queryAllOrderSplitRecord(String orderCode);
} }

View File

@@ -620,4 +620,6 @@ public interface OrderBasicInfoService{
List<OrderPaymentDetailVO> getSplitOrders(QueryOrderSplitRecordDTO dto); List<OrderPaymentDetailVO> getSplitOrders(QueryOrderSplitRecordDTO dto);
void checkOrUpdateOrderSplitRecord(AfterSettleOrderDTO afterSettleOrderDTO); void checkOrUpdateOrderSplitRecord(AfterSettleOrderDTO afterSettleOrderDTO);
List<StationSplitConfig> queryOrderSplitConfigList(String orderCode);
} }

View File

@@ -151,5 +151,12 @@ public interface OrderSplitRecordService {
* @return 订单分账记录是否一致 true一致 false不一致 * @return 订单分账记录是否一致 true一致 false不一致
*/ */
boolean compareOrderSplitRecord(List<OrderSplitRecord> generatedOrderSplitRecordList, List<OrderSplitRecord> queryOrderSplitRecordList); boolean compareOrderSplitRecord(List<OrderSplitRecord> generatedOrderSplitRecordList, List<OrderSplitRecord> queryOrderSplitRecordList);
/**
* 查询所有订单分账记录, 包含逻辑删除的订单分账记录
* @param orderCode
* @return
*/
List<OrderSplitRecord> queryAllOrderSplitRecord(String orderCode);
} }

View File

@@ -5807,6 +5807,9 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
updateSplitConfigList(stationId, stationSplitConfigList, orderCode); updateSplitConfigList(stationId, stationSplitConfigList, orderCode);
} }
// 查询是订单的历史分账记录
stationSplitConfigList = queryOrderSplitConfigList(orderCode);
// 计算每个参与分账的用户, 应分多少钱 // 计算每个参与分账的用户, 应分多少钱
List<SplitData> splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO); List<SplitData> splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO);
List<DivMember> divMemberList = transformDivMemberList(splitDataList); List<DivMember> divMemberList = transformDivMemberList(splitDataList);
@@ -5867,5 +5870,34 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
logger.info("校验或更新订单分账信息-订单:{}, 分账记录一致, 不保存分账记录", orderCode); logger.info("校验或更新订单分账信息-订单:{}, 分账记录一致, 不保存分账记录", orderCode);
} }
} }
@Override
public List<StationSplitConfig> queryOrderSplitConfigList(String orderCode) {
List<StationSplitConfig> resultList = Lists.newArrayList();
List<OrderSplitRecord> orderSplitRecordList = orderSplitRecordService.queryAllOrderSplitRecord(orderCode);
// 根据createTime分组
Map<Date, List<OrderSplitRecord>> map = orderSplitRecordList.stream().collect(Collectors.groupingBy(OrderSplitRecord::getCreateTime));
// 取出createTime最小的分组
List<OrderSplitRecord> minCreateTimeList = map.entrySet().stream().min(Map.Entry.comparingByKey()).get().getValue();
// 构建ist<StationSplitConfig>
for (OrderSplitRecord orderSplitRecord : minCreateTimeList) {
StationSplitConfig stationSplitConfig = StationSplitConfig.builder()
.id(orderSplitRecord.getId())
.merchantId(orderSplitRecord.getMerchantId())
.stationId(orderSplitRecord.getStationId())
.adapayMemberId(orderSplitRecord.getAdapayMemberId())
.electricitySplitRatio(orderSplitRecord.getElectricitySplitRatio())
.serviceSplitRatio(orderSplitRecord.getServiceSplitRatio())
.feeFlag(orderSplitRecord.getFeeAmount().compareTo(BigDecimal.ZERO) > 0 ? Constants.ONE : Constants.ZERO)
.build();
resultList.add(stationSplitConfig);
}
logger.info("校验或更新订单分账信息-订单:{}, 获取的订单分账配置:{}", orderCode, JSON.toJSONString(resultList));
return resultList;
}
} }

View File

@@ -817,6 +817,11 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
return true; return true;
} }
@Override
public List<OrderSplitRecord> queryAllOrderSplitRecord(String orderCode) {
return orderSplitRecordMapper.queryAllOrderSplitRecord(orderCode);
}
} }

View File

@@ -717,12 +717,6 @@ public class SettleOrderReportServiceImpl implements SettleOrderReportService {
? BigDecimal.ZERO ? BigDecimal.ZERO
: new BigDecimal(vo.getChargingDegree()); : new BigDecimal(vo.getChargingDegree());
// 统计用电度数大于0的订单, 2025年1月14日16点00分修改
// if (chargingDegree.compareTo(BigDecimal.ZERO) <= 0) {
// // 只统计用电量大于0的
// continue;
// }
// 统计结算和用电度数都为0, 不统计 // 统计结算和用电度数都为0, 不统计
if (chargingDegree.compareTo(BigDecimal.ZERO) <= 0 && settleAmount.compareTo(BigDecimal.ZERO) <= 0) { if (chargingDegree.compareTo(BigDecimal.ZERO) <= 0 && settleAmount.compareTo(BigDecimal.ZERO) <= 0) {
// 只统计用电量大于0的 // 只统计用电量大于0的

View File

@@ -929,4 +929,11 @@
set del_flag = '1' set del_flag = '1'
where order_code = #{orderCode,jdbcType=VARCHAR} where order_code = #{orderCode,jdbcType=VARCHAR}
</delete> </delete>
<select id="queryAllOrderSplitRecord" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from order_split_record
where order_code = #{orderCode,jdbcType=VARCHAR}
</select>
</mapper> </mapper>