新增 批量推送第三方平台订单接口

This commit is contained in:
Lemon
2025-07-04 13:55:17 +08:00
parent bc4c59360e
commit 9b966b43ae
7 changed files with 184 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ import com.jsowell.pile.vo.uniapp.customer.MemberBalanceVO;
import com.jsowell.pile.vo.web.PileStationVO;
import com.jsowell.service.OrderService;
import com.jsowell.service.TempService;
import com.jsowell.thirdparty.platform.dto.PushOrderDTO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
@@ -890,4 +891,22 @@ public class TempController extends BaseController {
}
return response;
}
/**
* 根据时间区间批量推送订单
* @param dto
* @return
*/
@PostMapping("/pushOrderInfoBatch")
public RestApiResponse<?> pushOrderInfoBatch(@RequestBody PushOrderDTO dto) {
RestApiResponse<?> response = null;
try {
tempService.pushOrderInfoBatch(dto);
response = new RestApiResponse<>();
} catch (Exception e) {
logger.error("青海平台推送订单信息 error", e);
}
logger.info("青海平台推送订单信息 result:{}", response);
return response;
}
}

View File

@@ -22,6 +22,7 @@ import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.adapay.AdapayStatusEnum;
import com.jsowell.common.enums.adapay.MerchantDelayModeEnum;
import com.jsowell.common.enums.thirdparty.ThirdPlatformTypeEnum;
import com.jsowell.common.enums.ykc.*;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.util.DateUtils;
@@ -34,7 +35,13 @@ import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.ThirdPartySecretInfoVO;
import com.jsowell.pile.vo.base.StationInfoVO;
import com.jsowell.pile.vo.uniapp.business.BusinessOrderDetailInfoVO;
import com.jsowell.pile.vo.web.*;
import com.jsowell.thirdparty.common.CommonService;
import com.jsowell.thirdparty.platform.dto.PushOrderDTO;
import com.jsowell.thirdparty.service.ThirdpartySecretInfoService;
import org.apache.commons.collections4.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -117,6 +124,15 @@ public class TempService {
@Autowired
private OrderUnsplitRecordService orderUnsplitRecordService;
@Autowired
private ThirdpartySecretInfoService thirdpartySecretInfoService;
@Autowired
private ThirdPartyStationRelationService thirdPartyStationRelationService;
@Autowired
private CommonService commonService;
/**
* 计算订单耗电量
* 内蒙古站点
@@ -1212,5 +1228,30 @@ public class TempService {
rabbitTemplate.convertAndSend(RabbitConstants.YKC_EXCHANGE_NAME, RabbitConstants.QUEUE_CHARGE_ORDER_DATA, afterSettleOrderDTO);
}
/**
* 根据时间区间批量推送订单
* @param dto
* @return
*/
public void pushOrderInfoBatch(PushOrderDTO dto) {
// 根据type查出对接的stationIds
List<StationInfoVO> stationInfoVOS = thirdPartyStationRelationService.selectStationList(dto.getThirdPartyType());
List<String> stationIds = stationInfoVOS.stream()
.map(StationInfoVO::getStationId)
.collect(Collectors.toList());
// 批量查询需要推送的订单
List<OrderBasicInfo> orderInfos = orderBasicInfoService.getOrderBasicInfoByTimeInterval(stationIds, dto.getStartTime(), dto.getEndTime());
if (CollectionUtils.isEmpty(orderInfos)) {
return;
}
orderInfos.forEach(orderBasicInfo -> {
// 推送第三方平台
commonService.commonPushOrderInfoV2(orderBasicInfo);
});
}
}