mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 19:15:35 +08:00
查询订单分账配置
This commit is contained in:
@@ -76,4 +76,11 @@ public interface OrderSplitRecordMapper {
|
||||
* @return
|
||||
*/
|
||||
int deleteOrderSplitRecord(String orderCode);
|
||||
|
||||
/**
|
||||
* 查询所有订单分账记录
|
||||
* @param orderCode
|
||||
* @return
|
||||
*/
|
||||
List<OrderSplitRecord> queryAllOrderSplitRecord(String orderCode);
|
||||
}
|
||||
|
||||
@@ -620,4 +620,6 @@ public interface OrderBasicInfoService{
|
||||
List<OrderPaymentDetailVO> getSplitOrders(QueryOrderSplitRecordDTO dto);
|
||||
|
||||
void checkOrUpdateOrderSplitRecord(AfterSettleOrderDTO afterSettleOrderDTO);
|
||||
|
||||
List<StationSplitConfig> queryOrderSplitConfigList(String orderCode);
|
||||
}
|
||||
|
||||
@@ -151,5 +151,12 @@ public interface OrderSplitRecordService {
|
||||
* @return 订单分账记录是否一致 true一致 false不一致
|
||||
*/
|
||||
boolean compareOrderSplitRecord(List<OrderSplitRecord> generatedOrderSplitRecordList, List<OrderSplitRecord> queryOrderSplitRecordList);
|
||||
|
||||
/**
|
||||
* 查询所有订单分账记录, 包含逻辑删除的订单分账记录
|
||||
* @param orderCode
|
||||
* @return
|
||||
*/
|
||||
List<OrderSplitRecord> queryAllOrderSplitRecord(String orderCode);
|
||||
}
|
||||
|
||||
|
||||
@@ -5807,6 +5807,9 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
updateSplitConfigList(stationId, stationSplitConfigList, orderCode);
|
||||
}
|
||||
|
||||
// 查询是订单的历史分账记录
|
||||
stationSplitConfigList = queryOrderSplitConfigList(orderCode);
|
||||
|
||||
// 计算每个参与分账的用户, 应分多少钱
|
||||
List<SplitData> splitDataList = calculationSplitDataList(stationSplitConfigList, afterSettleOrderDTO);
|
||||
List<DivMember> divMemberList = transformDivMemberList(splitDataList);
|
||||
@@ -5867,5 +5870,34 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -817,6 +817,11 @@ public class OrderSplitRecordServiceImpl implements OrderSplitRecordService {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderSplitRecord> queryAllOrderSplitRecord(String orderCode) {
|
||||
return orderSplitRecordMapper.queryAllOrderSplitRecord(orderCode);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -717,12 +717,6 @@ public class SettleOrderReportServiceImpl implements SettleOrderReportService {
|
||||
? BigDecimal.ZERO
|
||||
: new BigDecimal(vo.getChargingDegree());
|
||||
|
||||
// 统计用电度数大于0的订单, 2025年1月14日16点00分修改
|
||||
// if (chargingDegree.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
// // 只统计用电量大于0的
|
||||
// continue;
|
||||
// }
|
||||
|
||||
// 统计结算和用电度数都为0, 不统计
|
||||
if (chargingDegree.compareTo(BigDecimal.ZERO) <= 0 && settleAmount.compareTo(BigDecimal.ZERO) <= 0) {
|
||||
// 只统计用电量大于0的
|
||||
|
||||
Reference in New Issue
Block a user