mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 19:15:35 +08:00
update 重试运营商分账接口
This commit is contained in:
@@ -5,10 +5,15 @@ import com.google.common.collect.Maps;
|
||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||
import com.jsowell.adapay.service.AdapayService;
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.pile.domain.PileStationInfo;
|
||||
import com.jsowell.pile.dto.DebugOrderDTO;
|
||||
import com.jsowell.pile.dto.QueryOrderSplitRecordDTO;
|
||||
import com.jsowell.pile.service.OrderBasicInfoService;
|
||||
import com.jsowell.pile.service.PileStationInfoService;
|
||||
import com.jsowell.pile.service.SettleOrderReportService;
|
||||
import com.jsowell.pile.vo.web.OrderPaymentDetailVO;
|
||||
import com.jsowell.pile.vo.web.PileStationVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -17,6 +22,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class SplitBillService {
|
||||
@@ -32,11 +38,19 @@ public class SplitBillService {
|
||||
@Autowired
|
||||
private AdapayService adapayService;
|
||||
|
||||
@Autowired
|
||||
private PileStationInfoService pileStationInfoService;
|
||||
|
||||
@Autowired
|
||||
private SettleOrderReportService settleOrderReportService;
|
||||
|
||||
/**
|
||||
* 重试运营商分账
|
||||
* @param dto
|
||||
*/
|
||||
public void retryMerchantSplit(QueryOrderSplitRecordDTO dto) throws BaseAdaPayException {
|
||||
String startTime = dto.getStartTime();
|
||||
String endTime = dto.getEndTime();
|
||||
// 首先根据 merchantId、startTime、endTime 查出日期区间内所有订单信息(包括 paymentId)
|
||||
// 格式化 startTime 和 endTime
|
||||
dto.setStartTime(dto.getStartTime() + " 00:00:00");
|
||||
@@ -95,5 +109,38 @@ public class SplitBillService {
|
||||
}
|
||||
}
|
||||
|
||||
// 重新计算站点日报和运营商日报
|
||||
// 获取日期区间内所有日期
|
||||
List<String> dateList = DateUtils.getAllDatesInTheDateRange(startTime, endTime);
|
||||
// 根据 merchantId 获取所有 stationId
|
||||
List<PileStationInfo> pileStationInfos = pileStationInfoService.selectStationListByMerchantId(Long.parseLong(dto.getMerchantId()));
|
||||
List<String> stationIdList = pileStationInfos.stream()
|
||||
.map(PileStationInfo::getId)
|
||||
.map(String::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
stationIdList.parallelStream().forEach(stationId -> {
|
||||
PileStationVO stationInfo = pileStationInfoService.getStationInfo(stationId);
|
||||
for (String tradeDate : dateList) {
|
||||
try {
|
||||
settleOrderReportService.generateDailyOrderReports(stationInfo, tradeDate);
|
||||
log.info("重试运营商分账-生成站点日报成功, param:{}", tradeDate);
|
||||
}catch (Exception e) {
|
||||
log.error("重试运营商分账-生成站点日报异常, param:{}", tradeDate, e);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 重新计算运营商日报
|
||||
for (String tradeDate : dateList) {
|
||||
try {
|
||||
orderBasicInfoService.generateMerchantBill(dto.getMerchantId(), tradeDate);
|
||||
log.info("重试运营商分账-生成运营商日报成功, param:{}", tradeDate);
|
||||
}catch (Exception e) {
|
||||
log.error("重试运营商分账-生成运营商日报异常, param:{}", tradeDate, e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user