10 changed files with 202 additions and 62 deletions
@ -0,0 +1,18 @@
|
||||
package com.logpm.trunkline.feign; |
||||
|
||||
import com.logpm.trunkline.entity.TrunklineCarsLoadEntity; |
||||
import org.springblade.common.constant.ModuleNameConstant; |
||||
import org.springframework.cloud.openfeign.FeignClient; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
import org.springframework.web.bind.annotation.RequestParam; |
||||
|
||||
@FeignClient( |
||||
value = ModuleNameConstant.APPLICATION_TRUNKLINE_NAME |
||||
) |
||||
public interface IExtractedDataClient { |
||||
|
||||
String API_PREFIX = "extractedData/client"; |
||||
@GetMapping(API_PREFIX+"/findEntityByCarsNo") |
||||
void execute(@RequestParam String tenantId,@RequestParam String wallbillNum); |
||||
|
||||
} |
@ -0,0 +1,89 @@
|
||||
package com.logpm.trunkline.feign; |
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
import com.logpm.trunkline.entity.TrunklineAdvanceEntity; |
||||
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity; |
||||
import com.logpm.trunkline.entity.TrunklineWaybillPackageEntity; |
||||
import com.logpm.trunkline.entity.TrunklineWaybillTrackEntity; |
||||
import com.logpm.trunkline.service.IAsyncService; |
||||
import com.logpm.trunkline.service.ITrunklineWaybillTrackService; |
||||
import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO; |
||||
import com.logpm.warehouse.entity.WarehouseWayBillDetail; |
||||
import com.logpm.warehouse.entity.WarehouseWaybillEntity; |
||||
import com.logpm.warehouse.feign.IWarehouseWaybillClient; |
||||
import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.system.entity.Tenant; |
||||
import org.springblade.system.feign.ISysClient; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
import springfox.documentation.annotations.ApiIgnore; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
import java.util.concurrent.CompletableFuture; |
||||
import java.util.stream.Collectors; |
||||
|
||||
@Slf4j |
||||
@ApiIgnore() |
||||
@RestController |
||||
@AllArgsConstructor |
||||
public class ExtractedDataClient implements IExtractedDataClient { |
||||
|
||||
private final IWarehouseWaybillClient warehouseWaybillClient; |
||||
|
||||
private final IWarehouseWaybillDetailClient warehouseWaybillDetailClient; |
||||
|
||||
private final ITrunklineWaybillOrderClient trunklineWaybillOrderClient; |
||||
|
||||
private final ITrunklineWaybillPackageClient trunklineWaybillPackageClient; |
||||
|
||||
private final ITrunklineAdvanceClient trunklineAdvanceClient; |
||||
|
||||
private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient; |
||||
|
||||
private final IAsyncService asyncService; |
||||
|
||||
private final ITrunklineWaybillTrackService trunklineWaybillTrackService; |
||||
|
||||
@Override |
||||
public void execute(String tenantId, String wallbillNum) { |
||||
|
||||
|
||||
WarehouseWaybillEntity byWaybillNo = warehouseWaybillClient.findByWaybillNo(wallbillNum); |
||||
if (byWaybillNo == null) { |
||||
log.warn(">>>>>>>>>>>>>>byWaybillNo {} ", byWaybillNo); |
||||
return; |
||||
} |
||||
|
||||
List<Long> waybillIds = new ArrayList<>(); |
||||
waybillIds.add(byWaybillNo.getId()); |
||||
|
||||
List<WarehouseWayBillDetail> warehouseWayBillDetails = warehouseWaybillDetailClient.findByWaybillId(byWaybillNo.getId()); |
||||
|
||||
List<TrunklineWaybillOrderEntity> trunklineWaybillOrderEntities = trunklineWaybillOrderClient.findListByWaybillNo(byWaybillNo.getWaybillNo()); |
||||
|
||||
List<TrunklineWaybillPackageEntity> trunklineWaybillPackageEntities = trunklineWaybillPackageClient.findListByWaybillIds(waybillIds); |
||||
|
||||
// 暂存单ID集合
|
||||
List<Long> collect = trunklineWaybillOrderEntities.stream().map(TrunklineWaybillOrderEntity::getAdvanceId).distinct().collect(Collectors.toList()); |
||||
if(!collect.isEmpty()){ |
||||
List<TrunklineAdvanceEntity> trunklineAdvanceEntities = trunklineAdvanceClient.findListByIds(collect); |
||||
List<TrunklineAdvanceDetailVO> trunklineAdvanceDetailEntities = trunklineAdvanceDetailClient.findListByAdvanceIds(collect); |
||||
// 获取暂存单明细
|
||||
|
||||
LambdaQueryWrapper<TrunklineWaybillTrackEntity> queryWrapper = new LambdaQueryWrapper<>(); |
||||
queryWrapper.eq(TrunklineWaybillTrackEntity::getWaybillId, byWaybillNo.getId()); |
||||
queryWrapper.eq(TrunklineWaybillTrackEntity::getTrackType, "10"); |
||||
List<TrunklineWaybillTrackEntity> list = trunklineWaybillTrackService.list(queryWrapper); |
||||
TrunklineWaybillTrackEntity trunklineWaybillTrackEntity = list.get(0); |
||||
CompletableFuture.supplyAsync(() -> { |
||||
asyncService.saveOtherData(tenantId, byWaybillNo, trunklineAdvanceDetailEntities, trunklineAdvanceEntities, trunklineWaybillPackageEntities, trunklineWaybillOrderEntities, warehouseWayBillDetails, trunklineWaybillTrackEntity); |
||||
return null; |
||||
}); |
||||
} |
||||
|
||||
|
||||
|
||||
} |
||||
} |
Loading…
Reference in new issue