作者 王勇

新舱单服务连接上了代理人服务

package com.sunyo.wlpt.cgonms.provide.controller;
import com.sunyo.wlpt.cgonms.provide.domain.*;
import com.sunyo.wlpt.cgonms.provide.feign.GetCgoAsmFeign;
import com.sunyo.wlpt.cgonms.provide.service.*;
import org.springframework.web.bind.annotation.*;
... ... @@ -33,6 +34,9 @@ public class CgoNmsController {
@Resource
private BasAreaService basAreaService;
@Resource
private GetCgoAsmFeign getCgoAsmFeign;
/**
* 根据航班日期获取出新舱单服务中的响应数据
*
... ... @@ -43,7 +47,6 @@ public class CgoNmsController {
public List<ResultExitData> getData(
@RequestParam(value = "flightDate", required = false) Date flightDate,
@RequestParam(value = "flightNo", required = false) String flightNo) {
//设置查询条件
ResultExitData resultExitData = new ResultExitData();
resultExitData.setFlightDate(flightDate);
... ... @@ -57,9 +60,6 @@ public class CgoNmsController {
*/
List<ResultExitData> resultList = resultExitDataService.getResultExitDataInfo(resultExitData);
//取出resultList的长度,不必每次都判断
Date startT=new Date();
//遍历获取出所有需要的信息
for (int i = 0, resultSize = resultList.size(); i < resultSize; i++) {
ResultExitData result = resultList.get(i);
//设置航班
... ... @@ -104,19 +104,18 @@ public class CgoNmsController {
* 航班目的站
*/
List<PrepareMaster> pm = prepareMasterService.getPrepareMasterInfo(result.getWaybillNoMaster());
if (pm == null) {
continue;
if (pm != null && pm.size() > 0) {
//发货人名称
result.setShipperName(pm.get(0).getShipperName());
//收货人名称
result.setConsigneeName(pm.get(0).getConsigneeName());
//获取目的货物目的站
result.setAimStation(pm.get(0).getDestinationStation());
}
//发货人名称
result.setShipperName(pm.get(0).getShipperName());
//收货人名称
result.setConsigneeName(pm.get(0).getConsigneeName());
//获取目的货物目的站
result.setAimStation(pm.get(0).getDestinationStation());
}
Date endT=new Date();
System.out.println(startT);
System.out.println(endT);
return resultList;
System.out.println("新舱单服务,获取完毕");
List<ResultExitData> info = getCgoAsmFeign.getInfo(resultList);
System.out.println("代理人服务,获取完毕");
return info;
}
}
... ...
package com.sunyo.wlpt.cgonms.provide.domain;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @author 子诚
* Description:实体类:新舱单——理货信息.最终返回结果类
... ... @@ -21,120 +21,105 @@ public class ResultExitData implements Serializable {
private static final long serialVersionUID = -260680809813827352L;
/**
* id
* 1.id
*/
private String autoId;
/**
* 运单号
* 2.运单号
*/
private String waybillNoMaster;
/**
* 航班号
* 3.航班号
*/
private String flightNo;
/**
* 航班日期
* 4.航班日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date flightDate;
/**
* 航段
* 5.航段
*/
private String segment;
/**
* 航班起始站
* 6.航班起始站
*/
private String originatingStation;
/**
* 航班目的站
* 7.航班目的站
*/
private String destinationStation;
/**
* 理货件数
* 8.理货件数
*/
private String tallyTotalPiece;
/**
* 理货重量
* 9.理货重量
*/
private String tallyTotalWeight;
/**
* 承运人二字码
* 10.承运人二字码
*/
private String carrier;
/**
* 发货人名称
* 11.发货人名称
*/
private String shipperName;
/**
* 收货人名称
* 12.收货人名称
*/
private String consigneeName;
/**
* 货物目的站
* 13.货物目的站
*/
private String aimStation;
/**
* 国家代码
* 14.国家代码
*/
private String country;
/**
* 航班目的区域,中文描述,所属洲
* 15.航班目的区域,中文描述,所属洲
*/
private String areaDescChn;
// private String tcdName;
//
// private String tcdTypeCode;
//
// private String tallType;
//
// private String oName;
//
// private String fdName;
//
// private String totalWeight;
//
// private String totalGrossWeightMeasureuc;
//
// private String totalPiece;
//
// private String grossWeightMeasureuc;
//
// private Date loadStartTime;
//
// private Date loadEndTime;
//
// private String status;
//
// private String customsCode;
//
// private String productName;
//
// private String receiptInformation;
//
// private Date createDate;
//
// private String dealFlag;
//
// private String billTallyFlag;
//
// private Date dealTime;
//
// private Date dischargeDate;
//
// private String transportSplitDescription;
/**
* 16.代理人全称
*/
private String fullName;
/**
* 17.货主类型
* 111 = 发货代理
* 222 = 订舱代理
* 333 = 操作代理/结算代理
*/
private String theShipperType;
/**
* 18.品名
*/
private String sdCargoName;
/**
* 19.二级类名称
*/
private String twoTypeName;
/**
* 20.一级类名称
*/
private String typeName;
}
... ...
package com.sunyo.wlpt.cgonms.provide.feign;
import com.sunyo.wlpt.cgonms.provide.domain.ResultExitData;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author 子诚
* Description:
* 时间:2020/5/22 9:14
*/
@Service
public class GetCgoAsmFeginHystrix implements GetCgoAsmFeign{
@Override
public List<ResultExitData> getInfo(List<ResultExitData> resultList) {
System.out.println("与代理人服务断开连接,获取代理人服务信息失败");
return null;
}
}
... ...
package com.sunyo.wlpt.cgonms.provide.feign;
import com.sunyo.wlpt.cgonms.provide.domain.ResultExitData;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author 子诚
* Description:
* 时间:2020/5/21 17:43
*/
@Component
@FeignClient(value = "cgoasm-provide", fallback = GetCgoAsmFeginHystrix.class)
public interface GetCgoAsmFeign {
@PutMapping("/cgoasm/getInfo")
List<ResultExitData> getInfo(@RequestBody List<ResultExitData> resultList);
}
... ...
... ... @@ -62,7 +62,12 @@ eureka:
feign:
hystrix:
enabled: true
enabled: false
client:
config:
default:
connectTimeout: 300000 # feign 的超时设置
readTimeout: 180000
# boot admin
management:
endpoints:
... ...