|
|
|
@ -19,6 +19,7 @@ import com.glxp.api.req.thrsys.FilterThrOrderRequest;
|
|
|
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
|
|
|
import com.glxp.api.res.thrsys.ThrOrderResponse;
|
|
|
|
|
import com.glxp.api.service.collect.IoCollectOrderService;
|
|
|
|
|
import com.glxp.api.util.IntUtil;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
@ -50,42 +51,59 @@ public class ThrOrderDownload implements IDownload {
|
|
|
|
|
if (CollUtil.isNotEmpty(thrOrderEntities)) {
|
|
|
|
|
return this.importThrOrder(thrOrderEntities, collectOrderRequest);
|
|
|
|
|
} else {
|
|
|
|
|
//三方拉取
|
|
|
|
|
int page = 1;
|
|
|
|
|
int limit = 100;
|
|
|
|
|
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
|
|
|
|
|
filterThrOrderRequest.setPage(1);
|
|
|
|
|
filterThrOrderRequest.setLimit(100);
|
|
|
|
|
filterThrOrderRequest.setLimit(limit);
|
|
|
|
|
filterThrOrderRequest.setBillNo(collectOrderRequest.getBillNo());
|
|
|
|
|
filterThrOrderRequest.setThirdSys("thirdId");
|
|
|
|
|
filterThrOrderRequest.setBusType(collectOrderRequest.getBusType());
|
|
|
|
|
filterThrOrderRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
|
|
|
|
|
filterThrOrderRequest.setFromType(collectOrderRequest.getFromType());
|
|
|
|
|
BaseResponse<PageSimpleResponse<ThrOrderResponse>> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest);
|
|
|
|
|
if (baseResponse.getCode() == 20000) {
|
|
|
|
|
List<ThrOrderResponse> list = baseResponse.getData().getList();
|
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
|
list.forEach(item -> {
|
|
|
|
|
ThrOrderEntity thrOrderEntity = new ThrOrderEntity();
|
|
|
|
|
BeanUtil.copyProperties(item, thrOrderEntity);
|
|
|
|
|
thrOrderEntity.setCreateTime(new Date());
|
|
|
|
|
thrOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
List<ThrOrderDetailEntity> detailList = item.getDetailList();
|
|
|
|
|
if (CollUtil.isNotEmpty(detailList)) {
|
|
|
|
|
thrOrderDetailDao.delete(new LambdaQueryWrapper<ThrOrderDetailEntity>().eq(ThrOrderDetailEntity::getOrderIdFk, item.getBillNo()));
|
|
|
|
|
for (ThrOrderDetailEntity detail : detailList) {
|
|
|
|
|
detail.setCreateTime(thrOrderEntity.getCreateTime());
|
|
|
|
|
detail.setUpdateTime(thrOrderEntity.getUpdateTime());
|
|
|
|
|
thrOrderDetailDao.insert(detail);
|
|
|
|
|
while (true){
|
|
|
|
|
filterThrOrderRequest.setPage(page);
|
|
|
|
|
BaseResponse<PageSimpleResponse<ThrOrderResponse>> baseResponse = erpBasicClient.getThrOrders(filterThrOrderRequest);
|
|
|
|
|
if (baseResponse.getCode() == 20000) {
|
|
|
|
|
List<ThrOrderResponse> list = baseResponse.getData().getList();
|
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
|
list.forEach(item -> {
|
|
|
|
|
ThrOrderEntity thrOrderEntity = new ThrOrderEntity();
|
|
|
|
|
ThrOrderEntity old = thrOrderDao.selectOne(new LambdaQueryWrapper<ThrOrderEntity>().eq(ThrOrderEntity::getBillNo, item.getBillNo()).last("limit 1"));
|
|
|
|
|
BeanUtil.copyProperties(item, thrOrderEntity);
|
|
|
|
|
if(old == null){
|
|
|
|
|
//新增
|
|
|
|
|
thrOrderEntity.setCreateTime(new Date());
|
|
|
|
|
thrOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
}else{
|
|
|
|
|
//更新
|
|
|
|
|
thrOrderEntity.setId(old.getId());
|
|
|
|
|
thrOrderEntity.setUpdateTime(new Date());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
thrOrderDao.insertOrUpdate(thrOrderEntity);
|
|
|
|
|
});
|
|
|
|
|
//再次获取
|
|
|
|
|
thrOrderEntities = thrOrderDao.selectList(w);
|
|
|
|
|
return this.importThrOrder(thrOrderEntities, collectOrderRequest);
|
|
|
|
|
List<ThrOrderDetailEntity> detailList = item.getDetailList();
|
|
|
|
|
if (CollUtil.isNotEmpty(detailList)) {
|
|
|
|
|
thrOrderDetailDao.delete(new LambdaQueryWrapper<ThrOrderDetailEntity>().eq(ThrOrderDetailEntity::getOrderIdFk, item.getBillNo()));
|
|
|
|
|
for (ThrOrderDetailEntity detail : detailList) {
|
|
|
|
|
detail.setCreateTime(thrOrderEntity.getCreateTime());
|
|
|
|
|
detail.setUpdateTime(thrOrderEntity.getUpdateTime());
|
|
|
|
|
thrOrderDetailDao.insert(detail);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
thrOrderDao.insertOrUpdate(thrOrderEntity);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
if ((list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) || IntUtil.value(baseResponse.getData().getTotal()) == -555) {
|
|
|
|
|
page++;
|
|
|
|
|
} else {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
return ResultVOUtils.error(500, "下载第三方系统产品信息异常");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//再次获取
|
|
|
|
|
thrOrderEntities = thrOrderDao.selectList(w);
|
|
|
|
|
return this.importThrOrder(thrOrderEntities, collectOrderRequest);
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.error("下载失败");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|