diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java index c57a0b5f4..92ea660d3 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/TempController.java @@ -14,6 +14,7 @@ import com.jsowell.common.util.DateUtils; import com.jsowell.pile.domain.AdapayMemberAccount; import com.jsowell.pile.domain.MemberPlateNumberRelation; import com.jsowell.pile.domain.OrderBasicInfo; +import com.jsowell.pile.domain.PileMerchantInfo; import com.jsowell.pile.domain.ykcCommond.EBikeStartChargingCommand; import com.jsowell.pile.domain.ykcCommond.ReservationChargingCommand; import com.jsowell.pile.domain.ykcCommond.StopChargingCommand; @@ -34,6 +35,7 @@ import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 用于临时接口 @@ -371,6 +373,48 @@ public class TempController extends BaseController { return response; } + /** + * 生成运营商日报 + * http://localhost:8080/temp/generateMerchantBill + * @param dto + * @return + */ + @PostMapping("/generateMerchantBill") + public RestApiResponse generateMerchantBill(@RequestBody QueryOrderDTO dto) { + logger.info("手动接口执行订单分账逻辑-param:{}", JSON.toJSONString(dto)); + RestApiResponse response = null; + try { + // 查询运营商列表 + List merchantIdList = dto.getMerchantIdList(); + if (CollectionUtils.isEmpty(merchantIdList)) { + List pileMerchantInfos = pileMerchantInfoService.selectPileMerchantInfoList(null); + merchantIdList = pileMerchantInfos.stream().map(x -> x.getId() + "").collect(Collectors.toList()); + } + String startTime = dto.getStartTime(); + String endTime = dto.getEndTime(); + // 获取日期区间内所有日期 + List dateList = DateUtils.getAllDatesInTheDateRange(startTime, endTime); + for (String tradeDate : dateList) { + merchantIdList.parallelStream().forEach(merchantId -> { + try { + orderBasicInfoService.generateMerchantBill(merchantId, tradeDate); + } catch (Exception e) { + logger.error("生成运营商日报异常, merchantId:{}", merchantId, e); + } + }); + } + response = new RestApiResponse<>(); + } catch (BusinessException e) { + logger.error("手动生成运营商日报-warn", e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + } catch (Exception e) { + logger.error("手动生成运营商日报-error", e); + response = new RestApiResponse<>("00200005", "生成运营商日报失败"); + } + logger.info("手动生成运营商日报-result:{}", JSON.toJSONString(response)); + return response; + } + /** * 测试余额支付接口 * http://localhost:8080/temp/testCreateBalancePayment diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java index 3b5097fc1..a1a467a59 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/QueryOrderDTO.java @@ -53,6 +53,11 @@ public class QueryOrderDTO extends BaseEntity { */ private String stationId; + /** + * 运营商id列表 + */ + private List merchantIdList; + /** * 站点Id列表 */ diff --git a/jsowell-quartz/src/main/java/com/jsowell/quartz/task/JsowellTask.java b/jsowell-quartz/src/main/java/com/jsowell/quartz/task/JsowellTask.java index ca95f61a7..14d3ba4ef 100644 --- a/jsowell-quartz/src/main/java/com/jsowell/quartz/task/JsowellTask.java +++ b/jsowell-quartz/src/main/java/com/jsowell/quartz/task/JsowellTask.java @@ -192,7 +192,7 @@ public class JsowellTask { } /** - * 定时任务,处理订单分账 + * 定时任务, 生成运营商日报方法 * jsowellTask.processOrderSplitting() */ public void processOrderSplitting() { @@ -213,7 +213,7 @@ public class JsowellTask { return; } - // 调分账方法 + // 调生成运营商日报方法 pileMerchantInfos.parallelStream().forEach(merchant -> { try { // orderBasicInfoService.orderSplittingOperations(merchant.getId() + "", yesterday.toString());