tao.mo

BASF修改成fedex

mt
2022年4月21日17:12:32
Showing 29 changed files with 240 additions and 276 deletions
package com.erry.iclear.dateInterface.api;
import com.erry.iclear.dateInterface.api.request.Basfc;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.common.Constant;
import com.erry.iclear.dateInterface.entity.IClearApiLog;
import com.erry.iclear.dateInterface.repository.MawbAdd;
import com.erry.iclear.dateInterface.service.*;
import com.erry.iclear.dateInterface.util.DateUtils;
import com.erry.iclear.dateInterface.util.SHA256Util;
import com.google.gson.Gson;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StopWatch;
import org.springframework.validation.annotation.Validated;
......
......@@ -6,8 +6,8 @@ import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpHeader;
import com.arronlong.httpclientutil.exception.HttpProcessException;
import com.erry.iclear.dateInterface.api.request.*;
import com.erry.iclear.dateInterface.api.response.BasfResultChmRS;
import com.erry.iclear.dateInterface.api.response.BasfResultRS;
import com.erry.iclear.dateInterface.api.response.FedexResultChmRS;
import com.erry.iclear.dateInterface.api.response.FedexResultRS;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.entity.ChmConsignment;
import com.erry.iclear.dateInterface.entity.DeclaredInfo;
......@@ -32,13 +32,13 @@ import java.util.List;
import java.util.Objects;
@RestController
@RequestMapping("/basf")
@RequestMapping("/fedex")
@Slf4j
public class BasfDataInterface {
public class FedexDataInterface {
private Gson gson = new Gson();
@Autowired
private BasfService basfService;
private FedexService fedexService;
@Autowired
private ChmConsignmentService chmConsignmentService;
......@@ -50,7 +50,7 @@ public class BasfDataInterface {
private DeclaredInfoService declaredInfoService;
@Autowired
private BasfConsignmentService basfConsignmentService;
private FedexConsignmentService fedexConsignmentService;
@Autowired
private DeclearTaskService declearTaskService;
......@@ -62,52 +62,52 @@ public class BasfDataInterface {
String iclearCSubmitUrl;
@ApiOperation(value = "BASF推送运单数据", httpMethod = "POST", notes = "ex: http://192.168.1.75:8080/basf/sendMawbBasf")
@PostMapping("/sendMawbBasf")
@ApiOperation(value = "Fedex推送运单数据", httpMethod = "POST", notes = "ex: http://192.168.1.75:8080/fedex/sendMawbFedex")
@PostMapping("/sendMawbFedex")
@ResponseBody
public ResultRS sendMawbBasf(HttpServletRequest request
, @Validated @RequestBody Basfc basfc) throws HttpProcessException {
log.info("接收到请求数据consignmentCode:"+basfc.getConsignmentCode()+" data:" + gson.toJson(basfc));
public ResultRS sendMawbFedex(HttpServletRequest request
, @Validated @RequestBody Fedexc fedexc) throws HttpProcessException {
log.info("接收到请求数据consignmentCode:"+fedexc.getConsignmentCode()+" data:" + gson.toJson(fedexc));
ResultRS result = new ResultRS(Boolean.FALSE,"","");
if(Objects.equals(basfc,null)){
if(Objects.equals(fedexc,null)){
result.setCode("-7");
result.setMsg("请求信息不能为空");
return result;
}
//1、保存请求信息,保存到iClear的 SQLServer
StopWatch sw = new StopWatch("receice mawbBasf");
StopWatch sw = new StopWatch("receice mawbFedex");
sw.start("save log");
String appId=(String) request.getHeader("Appid");
String appKey=(String) request.getHeader("Appkey");
String timeStamp=(String) request.getHeader("TimeStamp");
IClearApiLog saveIClearApiLogResult = iClearApiLogService.saveIClearApiLog(iClearApiLogService.convertToIClearApiLogC(basfc,appId,appKey,new Date(Long.valueOf(timeStamp))));
IClearApiLog saveIClearApiLogResult = iClearApiLogService.saveIClearApiLog(iClearApiLogService.convertToIClearApiLogC(fedexc,appId,appKey,new Date(Long.valueOf(timeStamp))));
basfc.setAppId(appId);
BasfMawb saveMawbBasfResult = null;
fedexc.setAppId(appId);
FedexMawb saveMawbFedexResult = null;
if(!Objects.equals(saveIClearApiLogResult,null)){
log.info("请求保存成功,msgId:"+saveIClearApiLogResult.getMsgId());
basfc.setMsgId(saveIClearApiLogResult.getMsgId());
basfc.getConsignmentList().forEach(d->{
fedexc.setMsgId(saveIClearApiLogResult.getMsgId());
fedexc.getConsignmentList().forEach(d->{
d.setMsgId(saveIClearApiLogResult.getMsgId());
});
saveMawbBasfResult = basfService.saveMawbBasf(basfc);
if(!Objects.equals(saveMawbBasfResult,null)){
log.info("请求数据运单号"+basfc.getConsignmentCode()+"保存成功,msgId:"+saveMawbBasfResult.getMsgId());
saveMawbFedexResult = fedexService.saveMawbFedex(fedexc);
if(!Objects.equals(saveMawbFedexResult,null)){
log.info("请求数据运单号"+fedexc.getConsignmentCode()+"保存成功,msgId:"+saveMawbFedexResult.getMsgId());
}else{
log.info("请求数据运单号"+basfc.getConsignmentCode()+"保存失败,msgId:"+saveMawbBasfResult.getMsgId());
log.info("请求数据运单号"+fedexc.getConsignmentCode()+"保存失败,msgId:"+saveMawbFedexResult.getMsgId());
}
}else{
log.info("请求日志保存失败,consignmentCode:"+basfc.getConsignmentCode());
log.info("请求日志保存失败,consignmentCode:"+fedexc.getConsignmentCode());
}
sw.stop();
//2、TODO 校验主单
sw.start("checkBasfMawb");
result=basfService.checkBasfMawb(saveMawbBasfResult);
sw.start("checkFedexMawb");
result=fedexService.checkFedexMawb(saveMawbFedexResult);
if(!result.getSuccess()){
return result;
}
......@@ -124,7 +124,7 @@ public class BasfDataInterface {
//4、保存运单到iclear中
sw.start("processChmConsignment");
result = chmConsignmentService.processChmConsignmentBasf(saveMawbBasfResult, timeStamp,appId);
result = chmConsignmentService.processChmConsignmentFedex(saveMawbFedexResult, timeStamp,appId);
if(!result.getSuccess()){
return result;
}
......@@ -143,7 +143,7 @@ public class BasfDataInterface {
.encoding("utf-8")
.json(objJson);
String json = HttpClientUtil.post(config);
log.info("<<<<<<<< checkbasfMawb start >>>>>>>>>> result :" +result.getSuccess() +" iclear check response : " + json + " status : " + result.getSuccess());
log.info("<<<<<<<< checkfedexMawb start >>>>>>>>>> result :" +result.getSuccess() +" iclear check response : " + json + " status : " + result.getSuccess());
//5、更新日志
......@@ -156,7 +156,7 @@ public class BasfDataInterface {
iClearApiLogService.updateIClearApiLog(saveIClearApiLogResult);
}
log.info("请求数据consignmentCode:"+basfc.getConsignmentCode() +" 接收结束");
log.info("请求数据consignmentCode:"+fedexc.getConsignmentCode() +" 接收结束");
sw.stop();
log.info(sw.prettyPrint());
......@@ -166,13 +166,13 @@ public class BasfDataInterface {
return result;
}
@ApiOperation(value = "BASF获取申报信息", httpMethod = "POST", notes = "ex: http://192.168.1.75:8080/basf/selectDecListBasf")
@PostMapping("/selectDecListBasf")
@ApiOperation(value = "Fedex获取申报信息", httpMethod = "POST", notes = "ex: http://192.168.1.75:8080/fedex/selectDecListFedex")
@PostMapping("/selectDecListFedex")
@ResponseBody
public BasfResultChmRS selectDecListBasf(HttpServletRequest request
public FedexResultChmRS selectDecListFedex(HttpServletRequest request
, @Validated @RequestBody ConsignmentCode consignmentCode) throws Exception {
log.info("接收到请求数据consignmentCode:"+consignmentCode.getConsignmentCode()+" data:" + gson.toJson(consignmentCode));
BasfResultChmRS result = new BasfResultChmRS(Boolean.FALSE,"","",null);
FedexResultChmRS result = new FedexResultChmRS(Boolean.FALSE,"","",null);
//获取请求的运单号
String[] splitConsignment = StringUtil.split(consignmentCode.getConsignmentCode(),",");
if(splitConsignment.length > 20){
......@@ -185,7 +185,7 @@ public class BasfDataInterface {
result.setMsg("请求信息不能为空");
return result;
}
StopWatch sw = new StopWatch("receice mawbBasf");
StopWatch sw = new StopWatch("receice mawbFedex");
sw.start("save log");
String appId=(String) request.getHeader("Appid");
......@@ -196,11 +196,11 @@ public class BasfDataInterface {
//查询请求需要得运单申报信息
List<DeclaredInfo> declaredInfos = declaredInfoService.selectDeclaredInfo(splitConsignment,appId);
//构造返回数据
List<BasfConsignment> basfConsignments = basfConsignmentService.basfConsignmentList(declaredInfos);
List<FedexConsignment> fedexConsignments = fedexConsignmentService.fedexConsignmentList(declaredInfos);
//返回申报数据
if(basfConsignments.size() > 0){
if(fedexConsignments.size() > 0){
result.setSuccess(Boolean.TRUE);
result.setConsignmentList(basfConsignments);
result.setConsignmentList(fedexConsignments);
result.setMsg("操作成功!");
}else{
result.setSuccess(Boolean.TRUE);
......@@ -216,22 +216,22 @@ public class BasfDataInterface {
}
//记录返回的申报数据记录
if(result.getSuccess()){
declearTaskService.insertDeclareTask(basfConsignments, saveIClearApiLogResult.getMsgId());
declearTaskService.insertDeclareTask(fedexConsignments, saveIClearApiLogResult.getMsgId());
}
log.info("BASF申报数据请求成功!");
log.info("Fedex申报数据请求成功!");
//6、return result
result.setSuccess(Boolean.TRUE);
result.setCode("0");
return result;
}
@ApiOperation(value = "BASF获取回执信息", httpMethod = "POST", notes = "ex: http://192.168.1.75:8080/basf/selectChmListBasf")
@PostMapping("/selectChmListBasf")
@ApiOperation(value = "Fedex获取回执信息", httpMethod = "POST", notes = "ex: http://192.168.1.75:8080/fedex/selectChmListFedex")
@PostMapping("/selectChmListFedex")
@ResponseBody
public BasfResultRS selectChmListBasf(HttpServletRequest request
public FedexResultRS selectChmListFedex(HttpServletRequest request
, @Validated @RequestBody ConsignmentCode consignmentCode) throws Exception {
log.info("接收到请求数据consignmentCode:"+consignmentCode.getConsignmentCode()+" data:" + gson.toJson(consignmentCode));
BasfResultRS result = new BasfResultRS(Boolean.FALSE,"","",null);
FedexResultRS result = new FedexResultRS(Boolean.FALSE,"","",null);
//获取请求的运单号
String[] splitConsignment = StringUtil.split(consignmentCode.getConsignmentCode(),",");
if(splitConsignment.length > 20){
......@@ -244,7 +244,7 @@ public class BasfDataInterface {
result.setMsg("请求信息不能为空");
return result;
}
StopWatch sw = new StopWatch("receice mawbBasf");
StopWatch sw = new StopWatch("receice mawbFedex");
sw.start("save log");
String appId=(String) request.getHeader("Appid");
......@@ -254,9 +254,8 @@ public class BasfDataInterface {
IClearApiLog saveIClearApiLogResult = iClearApiLogService.saveIClearApiLog(iClearApiLogService.convertToIClearApiLogCselect(consignmentCode.getConsignmentCode(),appId,appKey,new Date(Long.valueOf(timeStamp))));
//查询请求需要得运单申报信息
//List<DeclaredInfo> declaredInfos = declaredInfoService.selectDeclaredInfo(splitConsignment);
List<BasfcReceipt> chmConsignments = chmConsignmentService.getConsignmentCode(splitConsignment,appId);
List<FedexReceipt> chmConsignments = chmConsignmentService.getConsignmentCode(splitConsignment,appId);
//构造返回数据
//List<BasfConsignment> basfConsignments = basfConsignmentService.basfConsignmentList(declaredInfos);
//返回申报数据
if(chmConsignments.size() > 0){
result.setSuccess(Boolean.TRUE);
......@@ -278,7 +277,7 @@ public class BasfDataInterface {
if(result.getSuccess()){
declearTaskService.insertChmTask(chmConsignments, saveIClearApiLogResult.getMsgId());
}
log.info("BASF回执数据请求成功!");
log.info("Fedex回执数据请求成功!");
//6、return result
result.setSuccess(Boolean.TRUE);
result.setCode("0");
......
......@@ -6,7 +6,7 @@ import java.util.List;
/**
* BASF申报数据构造 2021年11月9日 xjq
*/
public class BasfConsignment implements Serializable {
public class FedexConsignment implements Serializable {
/**
* 运单号
*/
......
......@@ -10,11 +10,11 @@ import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@ApiModel(value = "basfcDetail", description = "运单明细")
@ApiModel(value = "fedexcDetail", description = "运单明细")
@Entity
@Table(name = "T_ICLEAR_API_BASFCDETAIL")
@Data
public class BasfcDetail {
public class FedexDetail {
private static final long serialVersionUID = -6706944312498119267L;
......
package com.erry.iclear.dateInterface.api.request;
import com.erry.iclear.dateInterface.repository.MawbAdd;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -9,8 +8,6 @@ import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.*;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
......@@ -25,7 +22,7 @@ import java.util.List;
@DynamicInsert
@DynamicUpdate
@Data
public class BasfMawb implements Serializable {
public class FedexMawb implements Serializable {
private static final long serialVersionUID = -7092144710653831972L;
@Id
......@@ -242,5 +239,5 @@ public class BasfMawb implements Serializable {
@ApiModelProperty(value = "运单明细", name = "BasfMawbDetail", example = "")
@OneToMany(cascade = CascadeType.PERSIST)
@JoinColumn(name = "mawbId")
private List<BasfMawbDetail> mawbDetailList;
private List<FedexMawbDetail> mawbDetailList;
}
......
......@@ -14,7 +14,7 @@ import java.math.BigDecimal;
@Entity
@Table(name = "T_ICLEAR_API_MAWBDETAIL")
@Data
public class BasfMawbDetail implements Serializable {
public class FedexMawbDetail implements Serializable {
private static final long serialVersionUID = -6706944312498119267L;
@Id
......
......@@ -11,7 +11,7 @@ import java.util.Date;
/**
* BASF回执数据构造 xjq 2021年11月16日
*/
public class BasfcReceipt implements Serializable {
public class FedexReceipt implements Serializable {
@Autowired
private DictionaryEntriesRepository dictionaryEntriesRepository;
......
......@@ -2,7 +2,6 @@ package com.erry.iclear.dateInterface.api.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
......@@ -14,13 +13,13 @@ import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@ApiModel(value = "basfc", description = "主运单")
@ApiModel(value = "fedexc", description = "主运单")
@Entity
@Table(name = "T_ICLEAR_API_MAWB")
@DynamicInsert
@DynamicUpdate
@Data
public class Basfc implements Serializable {
public class Fedexc implements Serializable {
private static final long serialVersionUID = -7092144710653831972L;
......@@ -94,5 +93,5 @@ public class Basfc implements Serializable {
@ApiModelProperty(value = "运单明细", name = "consignmentList", example = "")
@OneToMany(cascade = CascadeType.PERSIST)
@JoinColumn(name = "BASFCID")
private List<BasfcDetail> consignmentList;
private List<FedexDetail> consignmentList;
}
......
package com.erry.iclear.dateInterface.api.response;
import com.erry.iclear.dateInterface.api.request.BasfConsignment;
import com.erry.iclear.dateInterface.api.request.FedexConsignment;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -13,7 +13,7 @@ import java.util.List;
*/
@Data
@AllArgsConstructor
public class BasfResultChmRS implements Serializable {
public class FedexResultChmRS implements Serializable {
//成功标识
private Boolean success = true;
......@@ -22,6 +22,6 @@ public class BasfResultChmRS implements Serializable {
//错误信息
private String msg;
//Object data;
private List<BasfConsignment> consignmentList;
private List<FedexConsignment> consignmentList;
}
......
package com.erry.iclear.dateInterface.api.response;
import com.erry.iclear.dateInterface.api.request.BasfConsignment;
import com.erry.iclear.dateInterface.api.request.BasfcReceipt;
import com.erry.iclear.dateInterface.api.request.FedexReceipt;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -13,7 +12,7 @@ import java.util.List;
*/
@Data
@AllArgsConstructor
public class BasfResultRS implements Serializable {
public class FedexResultRS implements Serializable {
//成功标识
private Boolean success = true;
......@@ -22,6 +21,6 @@ public class BasfResultRS implements Serializable {
//错误信息
private String msg;
//Object data;
private List<BasfcReceipt> consignmentList;
private List<FedexReceipt> consignmentList;
}
......
package com.erry.iclear.dateInterface.api.response;
import com.erry.iclear.dateInterface.api.request.BasfcReceipt;
import com.erry.iclear.dateInterface.entity.HsCode;
import lombok.AllArgsConstructor;
import lombok.Data;
......
......@@ -15,7 +15,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new SignInterceptor()).addPathPatterns("/customs/*");
registry.addInterceptor(new SignInterceptor()).addPathPatterns("/basf/*");
registry.addInterceptor(new SignInterceptor()).addPathPatterns("/fedex/*");
registry.addInterceptor(new HsCodeInterceptor()).addPathPatterns("/hscode/*");
}
}
......
package com.erry.iclear.dateInterface.repository;
import com.erry.iclear.dateInterface.api.request.BasfMawb;
import com.erry.iclear.dateInterface.api.request.FedexMawb;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;
......@@ -11,5 +11,5 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Repository
@Transactional(rollbackFor = Exception.class)
public interface BasfMawbRepository extends JpaRepository<BasfMawb, Integer>, JpaSpecificationExecutor<BasfMawb> {
public interface FedexMawbRepository extends JpaRepository<FedexMawb, Integer>, JpaSpecificationExecutor<FedexMawb> {
}
......
package com.erry.iclear.dateInterface.service;
import com.erry.iclear.dateInterface.api.request.BasfMawbDetail;
import com.erry.iclear.dateInterface.api.request.FedexMawbDetail;
import com.erry.iclear.dateInterface.api.request.MawbDetail;
import com.erry.iclear.dateInterface.common.Constant;
import com.erry.iclear.dateInterface.entity.*;
import com.erry.iclear.dateInterface.repository.ChmConsignmentDetailRepository;
import com.erry.iclear.dateInterface.repository.ChmConsignmentRepository;
import com.erry.iclear.dateInterface.util.NumberUtils;
import com.erry.iclear.dateInterface.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
......@@ -138,7 +137,7 @@ public class ChmConsignmentDetailService {
* @param mawbDetail
* @return
*/
public ChmConsignmentDetail convertToChmConsignmentDetailBasf(BasfMawbDetail mawbDetail, ChmConsignment chmConsignment){
public ChmConsignmentDetail convertToChmConsignmentDetailFedex(FedexMawbDetail mawbDetail, ChmConsignment chmConsignment){
ChmConsignmentDetail result = new ChmConsignmentDetail();
try{
result.setChmConsignment(chmConsignment);
......@@ -185,7 +184,7 @@ public class ChmConsignmentDetailService {
result.setDeclaredWeight(bigDecimalFormat(mawbDetail.getDeclaredWeight()));
result.setDetailId(mawbDetail.getDetailId());
}catch (Exception e){
log.error("convertToChmConsignmentDetailBasf() error:"+e.getMessage());
log.error("convertToChmConsignmentDetailFedex() error:"+e.getMessage());
}
return result;
}
......
package com.erry.iclear.dateInterface.service;
//import cn.hutool.core.date.DateUtil;
import com.erry.iclear.dateInterface.api.request.BasfMawb;
import com.erry.iclear.dateInterface.api.request.BasfcReceipt;
import com.erry.iclear.dateInterface.api.request.FedexMawb;
import com.erry.iclear.dateInterface.api.request.FedexReceipt;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.common.Constant;
......@@ -18,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
......@@ -241,7 +240,7 @@ public class ChmConsignmentService {
return result;
}
public ChmConsignment convertToChmConsignmentBasf(BasfMawb mawb,Date pushTime,String creator){
public ChmConsignment convertToChmConsignmentFedex(FedexMawb mawb, Date pushTime, String creator){
ChmConsignment result = new ChmConsignment();
try{
//运单号
......@@ -294,7 +293,7 @@ public class ChmConsignmentService {
}catch (Exception e){
result=null;
e.printStackTrace();
log.error("convertToChmConsignmentBasf() error:"+e.getMessage());
log.error("convertToChmConsignmentFedex() error:"+e.getMessage());
}
return result;
}
......@@ -560,14 +559,14 @@ public class ChmConsignmentService {
/**
* 保存或更新 iclear中的运单信息
* @param basfMawb
* @param fedexMawb
* @param timeStamp
*/
public ResultRS processChmConsignmentBasf(BasfMawb basfMawb, String timeStamp, String creator) {
public ResultRS processChmConsignmentFedex(FedexMawb fedexMawb, String timeStamp, String creator) {
ResultRS result = new ResultRS(Boolean.FALSE,null,null);
try {
Date pushTime = DateUtils.timeStampToDate(Long.valueOf(timeStamp));
ChmConsignment chmConsignment = this.convertToChmConsignmentBasf(basfMawb,pushTime,creator);
ChmConsignment chmConsignment = this.convertToChmConsignmentFedex(fedexMawb,pushTime,creator);
if(Objects.equals(chmConsignment,null)){
result.setCode("30001");
result.setMsg("数据格式不正确");
......@@ -575,8 +574,8 @@ public class ChmConsignmentService {
}
List<ChmConsignmentDetail> chmConsignmentDetailList = new ArrayList<>();
basfMawb.getMawbDetailList().forEach(detail ->{
chmConsignmentDetailList.add(chmConsignmentDetailService.convertToChmConsignmentDetailBasf(detail, chmConsignment));
fedexMawb.getMawbDetailList().forEach(detail ->{
chmConsignmentDetailList.add(chmConsignmentDetailService.convertToChmConsignmentDetailFedex(detail, chmConsignment));
});
chmConsignment.setChmConsignmentDetailList(chmConsignmentDetailList);
......@@ -586,14 +585,14 @@ public class ChmConsignmentService {
//3、新增或更新
//新增:如果没有就插入
if (Objects.equals(chmConsignmentDB,null)){
log.info("新增主单"+ basfMawb.getBillNo());
log.info("新增主单"+ fedexMawb.getBillNo());
ChmConsignment chmConsignmentSaveResult = this.saveChmConsignment(chmConsignment);
if(!Objects.equals(chmConsignmentSaveResult,null)){
log.info("主单"+ basfMawb.getBillNo()+" 保存成功,chmConsignmentId:"+chmConsignmentSaveResult.getId());
log.info("主单"+ fedexMawb.getBillNo()+" 保存成功,chmConsignmentId:"+chmConsignmentSaveResult.getId());
}else{
log.info("主单"+ basfMawb.getBillNo()+" 保存失败");
log.info("主单"+ fedexMawb.getBillNo()+" 保存失败");
result.setCode("30002");
result.setMsg("主单"+ basfMawb.getBillNo()+" 保存失败");
result.setMsg("主单"+ fedexMawb.getBillNo()+" 保存失败");
return result;
}
//更新:
......@@ -606,7 +605,7 @@ public class ChmConsignmentService {
&& pushTime.getTime()>chmConsignmentDB.getUpdateTime().getTime()
){
//更新数据
log.info("更新主单"+ basfMawb.getBillNo());
log.info("更新主单"+ fedexMawb.getBillNo());
for(ChmConsignmentDetail newDetail:chmConsignment.getChmConsignmentDetailList()){
for(ChmConsignmentDetail oldDetail: chmConsignmentDB.getChmConsignmentDetailList()){
......@@ -622,11 +621,11 @@ public class ChmConsignmentService {
chmConsignment.setUpdateTime(pushTime);
ChmConsignment updateResult = this.saveChmConsignment(chmConsignment);
if(!Objects.equals(updateResult,null)){
log.info("主单"+ basfMawb.getBillNo()+" 更新成功,chmConsignmentId:"+updateResult.getId());
log.info("主单"+ fedexMawb.getBillNo()+" 更新成功,chmConsignmentId:"+updateResult.getId());
}else{
log.info("主单"+ basfMawb.getBillNo()+" 更新失败");
log.info("主单"+ fedexMawb.getBillNo()+" 更新失败");
result.setCode("30003");
result.setMsg("主单"+ basfMawb.getBillNo()+" 更新失败");
result.setMsg("主单"+ fedexMawb.getBillNo()+" 更新失败");
return result;
}
}
......@@ -637,28 +636,28 @@ public class ChmConsignmentService {
return result;
}
public List<BasfcReceipt> getConsignmentCode(String[] consignmentCode,String creator) throws ParseException {
public List<FedexReceipt> getConsignmentCode(String[] consignmentCode, String creator) throws ParseException {
DictionaryEntries consTypeC = dictionaryEntriesRepository.findDictionaryEntriesByCode(Constant.consType_C);
SysUser sysUser = sysUserRepository.findUserByLoginName(creator);
List<String> stringList = declaredInfoService.stringList(consignmentCode);
List<Object[]> chmByConsignmentCode = chmConsignmentRepository.findChmByConsignmentCode(stringList, consTypeC.getId(),sysUser.getId());
List<BasfcReceipt> basfcReceiptList = new ArrayList<>();
List<FedexReceipt> fedexcReceiptList = new ArrayList<>();
if(chmByConsignmentCode.size()>0){
for (int i = 0; i < chmByConsignmentCode.size(); i++) {
Object[] objs = chmByConsignmentCode.get(i);
BasfcReceipt basfcReceipt = new BasfcReceipt();
basfcReceipt.setConsignmentId(Long.valueOf(objs[0].toString()));
basfcReceipt.setConsignmentCode(objs[1].toString());
basfcReceipt.setConsignmentType("C");
basfcReceipt.setCustomsReceiptStatus(objs[2].toString());
FedexReceipt fedexcReceipt = new FedexReceipt();
fedexcReceipt.setConsignmentId(Long.valueOf(objs[0].toString()));
fedexcReceipt.setConsignmentCode(objs[1].toString());
fedexcReceipt.setConsignmentType("C");
fedexcReceipt.setCustomsReceiptStatus(objs[2].toString());
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
String str = objs[4].toString();
System.out.println(str);
Date date = sdf.parse(objs[4].toString());
basfcReceipt.setCustomsReceiptTime(date);
basfcReceiptList.add(basfcReceipt);
fedexcReceipt.setCustomsReceiptTime(date);
fedexcReceiptList.add(fedexcReceipt);
}
}
return basfcReceiptList;
return fedexcReceiptList;
}
}
......
package com.erry.iclear.dateInterface.service;
import com.erry.iclear.dateInterface.api.request.BasfConsignment;
import com.erry.iclear.dateInterface.api.request.BasfcReceipt;
import com.erry.iclear.dateInterface.common.BaseModel;
import com.erry.iclear.dateInterface.entity.ChmConsignment;
import com.erry.iclear.dateInterface.api.request.FedexConsignment;
import com.erry.iclear.dateInterface.api.request.FedexReceipt;
import com.erry.iclear.dateInterface.entity.DeclearTask;
import com.erry.iclear.dateInterface.repository.DeclearTaskRepository;
import com.erry.iclear.dateInterface.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -28,14 +25,14 @@ public class DeclearTaskService{
@Autowired
private DeclearTaskRepository declareTaskRepository;
public void insertDeclareTask(List<BasfConsignment> basfConsignments, Long logId) throws Exception {
public void insertDeclareTask(List<FedexConsignment> fedexConsignments, Long logId) throws Exception {
List<DeclearTask> declareTaskList = new ArrayList<>();
try{
if (basfConsignments.size()>0){
for (BasfConsignment basfConsignment : basfConsignments) {
if (fedexConsignments.size()>0){
for (FedexConsignment fedexConsignment : fedexConsignments) {
DeclearTask declareTask = new DeclearTask();
declareTask.setChmsignmentId(BigDecimal.valueOf(basfConsignment.getConsignmentId()));
declareTask.setChmsignmentCode(basfConsignment.getConsignmentCode());
declareTask.setChmsignmentId(BigDecimal.valueOf(fedexConsignment.getConsignmentId()));
declareTask.setChmsignmentCode(fedexConsignment.getConsignmentCode());
declareTask.setOperationTime(new Date());
declareTask.setFileType("1");
declareTask.setOperationName("root");
......@@ -53,14 +50,14 @@ public class DeclearTaskService{
}
public void insertChmTask(List<BasfcReceipt> basfConsignments, Long logId) throws Exception {
public void insertChmTask(List<FedexReceipt> fedexConsignments, Long logId) throws Exception {
List<DeclearTask> declareTaskList = new ArrayList<>();
try{
if (basfConsignments.size()>0){
for (BasfcReceipt basfConsignment : basfConsignments) {
if (fedexConsignments.size()>0){
for (FedexReceipt fedexConsignment : fedexConsignments) {
DeclearTask declareTask = new DeclearTask();
declareTask.setChmsignmentId(BigDecimal.valueOf(basfConsignment.getConsignmentId()));
declareTask.setChmsignmentCode(basfConsignment.getConsignmentCode());
declareTask.setChmsignmentId(BigDecimal.valueOf(fedexConsignment.getConsignmentId()));
declareTask.setChmsignmentCode(fedexConsignment.getConsignmentCode());
declareTask.setOperationTime(new Date());
declareTask.setFileType("2");
declareTask.setOperationName("root");
......
package com.erry.iclear.dateInterface.service;
import com.erry.iclear.dateInterface.api.request.BasfConsignment;
import com.erry.iclear.dateInterface.api.request.FedexConsignment;
import com.erry.iclear.dateInterface.api.request.ConsignmentDetail;
import com.erry.iclear.dateInterface.entity.DeclaredInfo;
import org.springframework.stereotype.Service;
......@@ -9,34 +9,34 @@ import java.util.ArrayList;
import java.util.List;
@Service
public class BasfConsignmentService {
public class FedexConsignmentService {
public List<BasfConsignment> basfConsignmentList(List<DeclaredInfo> consignment){
List<BasfConsignment> basfConsignmentList = new ArrayList<>();
public List<FedexConsignment> fedexConsignmentList(List<DeclaredInfo> consignment){
List<FedexConsignment> fedexConsignmentList = new ArrayList<>();
try{
if(consignment.size()>0){
String consignmentCode = null;
List<ConsignmentDetail> consignmentDetails = new ArrayList<>();
BasfConsignment basfConsignment = new BasfConsignment();
FedexConsignment fedexConsignment = new FedexConsignment();
for (DeclaredInfo declaredInfo : consignment){
if(!declaredInfo.getConsignmentCode().equals(consignmentCode)) {
if(consignmentCode != null){
basfConsignment.setConsignmentList(consignmentDetails);
fedexConsignment.setConsignmentList(consignmentDetails);
consignmentDetails = new ArrayList<>();
basfConsignmentList.add(basfConsignment);
basfConsignment = new BasfConsignment();
fedexConsignmentList.add(fedexConsignment);
fedexConsignment = new FedexConsignment();
}
consignmentCode = declaredInfo.getConsignmentCode();
basfConsignment.setConsignmentCode(declaredInfo.getConsignmentCode());
basfConsignment.setConsignmentId(declaredInfo.getConsignmentId());
basfConsignment.setConsType(declaredInfo.getConsType());
basfConsignment.setOperateUnitName(declaredInfo.getOperateUnitName());
basfConsignment.setOperateUnitCode(declaredInfo.getOperateUnitCode());
basfConsignment.setOperateSCC(declaredInfo.getTradeCoSCC());
basfConsignment.setSender(declaredInfo.getSender());
basfConsignment.setShipperCustomsCode(declaredInfo.getOwnerCode());
basfConsignment.setShipperSCC(declaredInfo.getOwnerCodeScc());
fedexConsignment.setConsignmentCode(declaredInfo.getConsignmentCode());
fedexConsignment.setConsignmentId(declaredInfo.getConsignmentId());
fedexConsignment.setConsType(declaredInfo.getConsType());
fedexConsignment.setOperateUnitName(declaredInfo.getOperateUnitName());
fedexConsignment.setOperateUnitCode(declaredInfo.getOperateUnitCode());
fedexConsignment.setOperateSCC(declaredInfo.getTradeCoSCC());
fedexConsignment.setSender(declaredInfo.getSender());
fedexConsignment.setShipperCustomsCode(declaredInfo.getOwnerCode());
fedexConsignment.setShipperSCC(declaredInfo.getOwnerCodeScc());
}
ConsignmentDetail consignmentDetail = new ConsignmentDetail();
consignmentDetail.setSkuCode(declaredInfo.getSkuCode());
......@@ -58,12 +58,12 @@ public class BasfConsignmentService {
consignmentDetail.setDeclaredWeight(declaredInfo.getDeclaredWeight());
consignmentDetails.add(consignmentDetail);
}
basfConsignment.setConsignmentList(consignmentDetails);
basfConsignmentList.add(basfConsignment);
fedexConsignment.setConsignmentList(consignmentDetails);
fedexConsignmentList.add(fedexConsignment);
}
}catch (Exception e){
e.printStackTrace();
}
return basfConsignmentList;
return fedexConsignmentList;
}
}
......
......@@ -8,10 +8,8 @@ import com.erry.iclear.dateInterface.api.response.IClearCheckResponseResult;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.entity.ChmConsignment;
import com.erry.iclear.dateInterface.entity.ChmConsignmentDetail;
import com.erry.iclear.dateInterface.repository.BasfMawbRepository;
import com.erry.iclear.dateInterface.repository.MawbRepository;
import com.erry.iclear.dateInterface.repository.FedexMawbRepository;
import com.erry.iclear.dateInterface.util.JsonToJava;
import com.erry.iclear.dateInterface.util.NumberUtils;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.Header;
......@@ -28,7 +26,7 @@ import java.util.Objects;
*/
@Service
@Slf4j
public class BasfService {
public class FedexService {
private Gson gson = new Gson();
......@@ -42,62 +40,62 @@ public class BasfService {
private ChmConsignmentDetailService consignmentDetailService;
@Autowired
private BasfMawbRepository basfMawbRepository;
private FedexMawbRepository fedexMawbRepository;
/**
* 保存主单Request --basfc
* @param basfc
* 保存主单Request --fedexc
* @param fedexc
*/
public BasfMawb saveMawbBasf(Basfc basfc){
BasfMawb result=null;
public FedexMawb saveMawbFedex(Fedexc fedexc){
FedexMawb result=null;
try{
log.info("saveMawb start>>>>>>>>>>>");
//运单头部信息
BasfMawb basfMawb = new BasfMawb();
basfMawb.setAppId(basfc.getAppId());
basfMawb.setMsgId(basfc.getMsgId());
basfMawb.setConsignmentCodeId(basfc.getConsignmentId());
basfMawb.setType(basfc.getConsType());
FedexMawb fedexMawb = new FedexMawb();
fedexMawb.setAppId(fedexc.getAppId());
fedexMawb.setMsgId(fedexc.getMsgId());
fedexMawb.setConsignmentCodeId(fedexc.getConsignmentId());
fedexMawb.setType(fedexc.getConsType());
//TODO 记录时为同一张表,用 '-->' 记录具体存放字段(方便查看,以免误解)
//运单号-->提单号
basfMawb.setBillNo(basfc.getConsignmentCode());
fedexMawb.setBillNo(fedexc.getConsignmentCode());
//经营单位 --> 消费使用/生产销售单位名称
basfMawb.setOwnerName(basfc.getOperateUnitName());
fedexMawb.setOwnerName(fedexc.getOperateUnitName());
//经营单位海关编码 --> 消费使用/生产销售单位代码
basfMawb.setOwnerCode(basfc.getOperateUnitCode());
fedexMawb.setOwnerCode(fedexc.getOperateUnitCode());
//经营单位社会信用证代码 --> 消费使用/生产销售单位单位统一编码
basfMawb.setOwnerCodeScc(basfc.getOperateSCC());
fedexMawb.setOwnerCodeScc(fedexc.getOperateSCC());
//发件人 --> 境内收发货人名称
basfMawb.setTradeName(basfc.getSender());
fedexMawb.setTradeName(fedexc.getSender());
//发件人海关编码 --> 境内收发货人编号
basfMawb.setTradeCode(basfc.getShipperCustomsCode());
fedexMawb.setTradeCode(fedexc.getShipperCustomsCode());
//发件人社会信用证代码 --> 生产核销单位统一信用代码---报关形式类型
basfMawb.setTradeCodeScc(basfc.getShipperSCC());
fedexMawb.setTradeCodeScc(fedexc.getShipperSCC());
basfMawb.setEanNo(basfc.getEanNo());
fedexMawb.setEanNo(fedexc.getEanNo());
//明细
List<BasfMawbDetail> mawbDetailList = new ArrayList<>();
if (basfc.getConsignmentList().size()>0){
for (BasfcDetail basfcDetail : basfc.getConsignmentList()){
BasfMawbDetail mawbDetail = new BasfMawbDetail();
mawbDetail.setDetailId(String.valueOf(basfcDetail.getConsignmentDetailId()));
mawbDetail.setGmodel(basfcDetail.getModel());
mawbDetail.setCodeTS(basfcDetail.getSkuCode());
mawbDetail.setGname(basfcDetail.getSkuName());
mawbDetail.setGqty(basfcDetail.getKnockdownNumber());
mawbDetail.setGunit(basfcDetail.getKnockdownUnit());
mawbDetail.setFirstUnit(basfcDetail.getUnitLegalFirst());
mawbDetail.setFirstQty(basfcDetail.getQtyLegalFirst());
mawbDetail.setSecondQty(basfcDetail.getQtyLegalSecond());
mawbDetail.setSecondUnit(basfcDetail.getUnitLegalSecond());
mawbDetail.setDeclTotal(basfcDetail.getDeclaredAmount());
mawbDetail.setTradeCurr(basfcDetail.getCurrency());
mawbDetail.setDeclaredWeight(basfcDetail.getDeclaredWeight());
List<FedexMawbDetail> mawbDetailList = new ArrayList<>();
if (fedexc.getConsignmentList().size()>0){
for (FedexDetail fedexcDetail : fedexc.getConsignmentList()){
FedexMawbDetail mawbDetail = new FedexMawbDetail();
mawbDetail.setDetailId(String.valueOf(fedexcDetail.getConsignmentDetailId()));
mawbDetail.setGmodel(fedexcDetail.getModel());
mawbDetail.setCodeTS(fedexcDetail.getSkuCode());
mawbDetail.setGname(fedexcDetail.getSkuName());
mawbDetail.setGqty(fedexcDetail.getKnockdownNumber());
mawbDetail.setGunit(fedexcDetail.getKnockdownUnit());
mawbDetail.setFirstUnit(fedexcDetail.getUnitLegalFirst());
mawbDetail.setFirstQty(fedexcDetail.getQtyLegalFirst());
mawbDetail.setSecondQty(fedexcDetail.getQtyLegalSecond());
mawbDetail.setSecondUnit(fedexcDetail.getUnitLegalSecond());
mawbDetail.setDeclTotal(fedexcDetail.getDeclaredAmount());
mawbDetail.setTradeCurr(fedexcDetail.getCurrency());
mawbDetail.setDeclaredWeight(fedexcDetail.getDeclaredWeight());
mawbDetailList.add(mawbDetail);
}
}
basfMawb.setMawbDetailList(mawbDetailList);
result = basfMawbRepository.save(basfMawb);
fedexMawb.setMawbDetailList(mawbDetailList);
result = fedexMawbRepository.save(fedexMawb);
log.info("saveMawb end>>>>>>>>>>>");
}catch (Exception e){
log.error("saveMawb() error:"+e.getMessage());
......@@ -107,24 +105,24 @@ public class BasfService {
/**
* 校验主单
* @param basfMawb
* @param fedexMawb
* @return
*/
public ResultRS checkBasfMawb(BasfMawb basfMawb){
public ResultRS checkFedexMawb(FedexMawb fedexMawb){
ResultRS result = new ResultRS(Boolean.FALSE,null,null);
try{
log.info("checkMawb start>>>>>>>>>> mawb:"+gson.toJson(basfMawb));
log.info("checkMawb start>>>>>>>>>> mawb:"+gson.toJson(fedexMawb));
//1、将请求转换为运单
ChmConsignment chmConsignment=consignmentService.convertToChmConsignmentBasf(basfMawb,null,"IDE-ICLEAR-API");
ChmConsignment chmConsignment=consignmentService.convertToChmConsignmentFedex(fedexMawb,null,"IDE-ICLEAR-API");
if(Objects.equals(chmConsignment,null)){
result.setCode("30001");
result.setMsg("数据格式不正确");
return result;
}
List<ChmConsignmentDetail> chmConsignmentDetailList = new ArrayList<>();
basfMawb.getMawbDetailList().forEach(detail ->{
chmConsignmentDetailList.add(consignmentDetailService.convertToChmConsignmentDetailBasf(detail,chmConsignment));
fedexMawb.getMawbDetailList().forEach(detail ->{
chmConsignmentDetailList.add(consignmentDetailService.convertToChmConsignmentDetailFedex(detail,chmConsignment));
});
chmConsignment.setChmConsignmentDetailList(chmConsignmentDetailList);
......@@ -145,7 +143,7 @@ public class BasfService {
result.setSuccess(iclearCheckResponseResult.getSuccess());
result.setCode(iclearCheckResponseResult.getCode());
result.setMsg(iclearCheckResponseResult.getMessage());
log.info("<<<<<<<< checkMawb start >>>>>>>>>> mawb:"+gson.toJson(basfMawb) +" result :" +result.getSuccess() +" iclear check response : " + json + " status : " + result.getSuccess());
log.info("<<<<<<<< checkMawb start >>>>>>>>>> mawb:"+gson.toJson(fedexMawb) +" result :" +result.getSuccess() +" iclear check response : " + json + " status : " + result.getSuccess());
}catch (Exception e){
log.error("checkMawb() error:" + e.getMessage());
}
......
package com.erry.iclear.dateInterface.service;
import com.erry.iclear.dateInterface.api.request.Basfc;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.common.Constant;
import com.erry.iclear.dateInterface.entity.IClearApiHsCodeLog;
import com.erry.iclear.dateInterface.entity.IClearApiLog;
import com.erry.iclear.dateInterface.repository.IClearApiHsCodeLogRepository;
import com.erry.iclear.dateInterface.repository.IClearApiLogRepository;
import com.erry.iclear.dateInterface.util.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
*
* hscode请求日志
......
package com.erry.iclear.dateInterface.service;
import com.erry.iclear.dateInterface.api.request.Basfc;
import com.erry.iclear.dateInterface.api.request.Fedexc;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.common.Constant;
import com.erry.iclear.dateInterface.entity.IClearApiLog;
......@@ -63,7 +63,7 @@ public class IClearApiLogService {
* 创建日志
* @return
*/
public IClearApiLog convertToIClearApiLogC(Basfc basfc, String appId, String appKey, Date pushTime){
public IClearApiLog convertToIClearApiLogC(Fedexc fedexc, String appId, String appKey, Date pushTime){
IClearApiLog result = new IClearApiLog();
try{
result.setMsgType(Constant.MSG_TYPE_C);
......@@ -75,7 +75,7 @@ public class IClearApiLogService {
result.setResponseTime(null);
result.setSpendTime(null);
result.setSendTimes(1);
result.setBillNo(basfc.getConsignmentCode());
result.setBillNo(fedexc.getConsignmentCode());
//result.setContrNo(mawb.getContrNo());
}catch (Exception e){
log.error("convertToIClearApiLog() error:"+e.getMessage());
......@@ -87,7 +87,7 @@ public class IClearApiLogService {
* BASF请求申报/回执数据-添加日志 2021年11月3日 xjq
* @return
*/
public IClearApiLog convertToIClearApiLogCselect(String basfc, String appId, String appKey, Date pushTime){
public IClearApiLog convertToIClearApiLogCselect(String fedexc, String appId, String appKey, Date pushTime){
IClearApiLog result = new IClearApiLog();
try{
result.setMsgType(Constant.MSG_TYPE_C);
......@@ -99,7 +99,7 @@ public class IClearApiLogService {
result.setResponseTime(null);
result.setSpendTime(null);
result.setSendTimes(1);
result.setBillNo(basfc);
result.setBillNo(fedexc);
}catch (Exception e){
log.error("convertToIClearApiLog() error:"+e.getMessage());
}
......
......@@ -3,25 +3,19 @@ package com.erry.iclear.dateInterface.service;
import com.arronlong.httpclientutil.HttpClientUtil;
import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpHeader;
import com.erry.iclear.dateInterface.api.request.Basfc;
import com.erry.iclear.dateInterface.api.request.BasfcDetail;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.api.request.MawbDetail;
import com.erry.iclear.dateInterface.api.response.IClearCheckResponseResult;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.entity.ChmConsignment;
import com.erry.iclear.dateInterface.entity.ChmConsignmentDetail;
import com.erry.iclear.dateInterface.repository.MawbAdd;
import com.erry.iclear.dateInterface.repository.MawbRepository;
import com.erry.iclear.dateInterface.util.JsonToJava;
import com.erry.iclear.dateInterface.util.NumberUtils;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.Header;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.*;
......
......@@ -16,11 +16,11 @@ public class ApiTest {
//D类申报的数据落地接口
public static String sendMawb = "/customs/sendMawb";
//C类申报的数据落地接口
public static String sendMawbBasf = "/basf/sendMawbBasf";
public static String sendMawbBasf = "/fedex/sendMawbBasf";
//C类EDI数据接口
public static String selectDecListBasf = "/basf/selectDecListBasf";
public static String selectDecListBasf = "/fedex/selectDecListBasf";
//C类回执数据接口
public static String selectChmListBasf = "basf/selectChmListBasf";
public static String selectChmListBasf = "fedex/selectChmListBasf";
//获取HSCODE接口地址
public static String hscodeRequest = "hscode/hscodeRequest";
......
......@@ -3,7 +3,7 @@ package com.erry.iclear.dateInterface;
import com.erry.iclear.dateInterface.api.CustomsDataInterface;
import com.erry.iclear.dateInterface.api.request.*;
import com.erry.iclear.dateInterface.api.response.ResultRS;
import com.erry.iclear.dateInterface.service.BasfService;
import com.erry.iclear.dateInterface.service.FedexService;
import com.erry.iclear.dateInterface.service.ChmConsignmentService;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -23,7 +23,7 @@ public class ChmConsignmentServiceTest extends IClearApiApplicationTests {
private CustomsDataInterface customsDataInterface;
@Autowired
private BasfService basfService;
private FedexService fedexService;
/*@Test
......@@ -42,12 +42,12 @@ public class ChmConsignmentServiceTest extends IClearApiApplicationTests {
public void testProcessChmConsignment1(){
try{
ResultRS result = new ResultRS(Boolean.FALSE,"","");
Basfc basfc = this.createNewBasf();
BasfMawb mawb = basfService.saveMawbBasf(basfc);
//Basfc basfc = this.createNewBasf();
Fedexc fedexc = this.createNewFedex();
FedexMawb mawb = fedexService.saveMawbFedex(fedexc);
//Basfc fedexc = this.createNewBasf();
String timeStamp = String.valueOf(new Date().getTime());
ResultRS resultRS = chmConsignmentService.processChmConsignmentBasf(mawb, timeStamp, "BASF");
/*result=basfService.checkBasfMawb(mawb);
ResultRS resultRS = chmConsignmentService.processChmConsignmentFedex(mawb, timeStamp, "BASF");
/*result=fedexService.checkBasfMawb(mawb);
if(!result.getSuccess()){
System.out.println(result.getMsg());
}*/
......@@ -58,37 +58,37 @@ public class ChmConsignmentServiceTest extends IClearApiApplicationTests {
System.out.println("1");
}
private Basfc createNewBasf(){
List<BasfcDetail> basfcDetailList = new ArrayList<>();
BasfcDetail basfcDetail = new BasfcDetail();
basfcDetail.setConsignmentDetailId(222L);
basfcDetail.setSkuCode("29262000");
basfcDetail.setSkuName("210908001测试");
basfcDetail.setModel("0|0|1|1||||||||");
basfcDetail.setUnitLegalFirst("035");
basfcDetail.setQtyLegalFirst(BigDecimal.valueOf(1));
basfcDetail.setKnockdownUnit("035");
basfcDetail.setKnockdownNumber(BigDecimal.valueOf(1));
basfcDetail.setUnitLegalSecond("007");
basfcDetail.setQtyLegalSecond(BigDecimal.valueOf(1));
basfcDetail.setDeclaredAmount(BigDecimal.valueOf(1));
basfcDetail.setCurrency("USD");
basfcDetail.setDeclaredWeight(BigDecimal.valueOf(1));
basfcDetailList.add(basfcDetail);
Basfc basfc = new Basfc();
basfc.setConsignmentCode("210908002");
basfc.setConsignmentId(1L);
basfc.setConsType("C");
basfc.setSender("天津知行博创科技有限公司");
basfc.setShipperCustomsCode("11119608L9");
basfc.setShipperSCC("123456789012345678");
basfc.setOperateUnitName("天津丰铭佳业科贸有限公司");
basfc.setOperateUnitCode("");
basfc.setOperateSCC("");
// basfc.setEANNo("");
// basfc.setBasfcDetailList(basfcDetailList);
return basfc;
private Fedexc createNewFedex(){
List<FedexDetail> fedexcDetailList = new ArrayList<>();
FedexDetail fedexcDetail = new FedexDetail();
fedexcDetail.setConsignmentDetailId(222L);
fedexcDetail.setSkuCode("29262000");
fedexcDetail.setSkuName("210908001测试");
fedexcDetail.setModel("0|0|1|1||||||||");
fedexcDetail.setUnitLegalFirst("035");
fedexcDetail.setQtyLegalFirst(BigDecimal.valueOf(1));
fedexcDetail.setKnockdownUnit("035");
fedexcDetail.setKnockdownNumber(BigDecimal.valueOf(1));
fedexcDetail.setUnitLegalSecond("007");
fedexcDetail.setQtyLegalSecond(BigDecimal.valueOf(1));
fedexcDetail.setDeclaredAmount(BigDecimal.valueOf(1));
fedexcDetail.setCurrency("USD");
fedexcDetail.setDeclaredWeight(BigDecimal.valueOf(1));
fedexcDetailList.add(fedexcDetail);
Fedexc fedexc = new Fedexc();
fedexc.setConsignmentCode("210908002");
fedexc.setConsignmentId(1L);
fedexc.setConsType("C");
fedexc.setSender("天津知行博创科技有限公司");
fedexc.setShipperCustomsCode("11119608L9");
fedexc.setShipperSCC("123456789012345678");
fedexc.setOperateUnitName("天津丰铭佳业科贸有限公司");
fedexc.setOperateUnitCode("");
fedexc.setOperateSCC("");
// fedexc.setEANNo("");
// fedexc.setBasfcDetailList(fedexcDetailList);
return fedexc;
}
private Mawb createNewMawb(){
......
......@@ -8,17 +8,15 @@ import com.arronlong.httpclientutil.common.SSLs;
import com.erry.iclear.dateInterface.util.SHA256Util;
import org.apache.http.Header;
import java.util.Date;
/**
* C类EDI数据接口
* fedex
* 2022年4月14日17:55:55
*/
public class SelectDecListBasf {
public static String url = "https://40.73.78.157:8780";
public class SelectChmListFedex {
public static String url = "https://localhost:8780";
//C类EDI数据接口
public static String path = "/basf/selectDecListBasf";
public static String path = "/fedex/selectChmListFedex";
//时间戳
public static String timeStamp = "1649839249891";
//APPID
......@@ -39,14 +37,14 @@ public class SelectDecListBasf {
//consignmentCode 运单号需要修改
String json ="{\"consignmentCode\":\"289050515424\"}";
String token = SHA256Util.getSHA256String(SelectDecListBasf.appId + SelectDecListBasf.appKey + SelectDecListBasf.security + SelectDecListBasf.timeStamp);
String token = SHA256Util.getSHA256String(SelectChmListFedex.appId + SelectChmListFedex.appKey + SelectChmListFedex.security + SelectChmListFedex.timeStamp);
System.out.println(token);
//消息头
Header[] headers = HttpHeader.custom()
.other("Content-Type", "application/json")
.other("Appid", SelectDecListBasf.appId)
.other("appKey", SelectDecListBasf.appKey)
.other("TimeStamp", SelectDecListBasf.timeStamp)
.other("Appid", SelectChmListFedex.appId)
.other("appKey", SelectChmListFedex.appKey)
.other("TimeStamp", SelectChmListFedex.timeStamp)
.other("token", token)
.build();
//客户端配置
......@@ -57,7 +55,7 @@ public class SelectDecListBasf {
.ssl()
.retry(3);
//URL
String url = SelectDecListBasf.url + SelectDecListBasf.path;
String url = SelectChmListFedex.url + SelectChmListFedex.path;
//HTTP请求
HttpConfig config = HttpConfig.custom()
.headers(headers)
......
......@@ -13,10 +13,10 @@ import org.apache.http.Header;
* fedex
* 2022年4月14日17:55:55
*/
public class SelectChmListBasf {
public class SelectDecListFedex {
public static String url = "https://40.73.78.157:8780";
//C类EDI数据接口
public static String path = "/basf/selectChmListBasf";
public static String path = "/fedex/selectDecListFedex";
//时间戳
public static String timeStamp = "1649839249891";
//APPID
......@@ -37,14 +37,14 @@ public class SelectChmListBasf {
//consignmentCode 运单号需要修改
String json ="{\"consignmentCode\":\"289050515424\"}";
String token = SHA256Util.getSHA256String(SelectChmListBasf.appId + SelectChmListBasf.appKey + SelectChmListBasf.security + SelectChmListBasf.timeStamp);
String token = SHA256Util.getSHA256String(SelectDecListFedex.appId + SelectDecListFedex.appKey + SelectDecListFedex.security + SelectDecListFedex.timeStamp);
System.out.println(token);
//消息头
Header[] headers = HttpHeader.custom()
.other("Content-Type", "application/json")
.other("Appid", SelectChmListBasf.appId)
.other("appKey", SelectChmListBasf.appKey)
.other("TimeStamp", SelectChmListBasf.timeStamp)
.other("Appid", SelectDecListFedex.appId)
.other("appKey", SelectDecListFedex.appKey)
.other("TimeStamp", SelectDecListFedex.timeStamp)
.other("token", token)
.build();
//客户端配置
......@@ -55,7 +55,7 @@ public class SelectChmListBasf {
.ssl()
.retry(3);
//URL
String url = SelectChmListBasf.url + SelectChmListBasf.path;
String url = SelectDecListFedex.url + SelectDecListFedex.path;
//HTTP请求
HttpConfig config = HttpConfig.custom()
.headers(headers)
......
......@@ -8,17 +8,15 @@ import com.arronlong.httpclientutil.common.SSLs;
import com.erry.iclear.dateInterface.util.SHA256Util;
import org.apache.http.Header;
import java.util.Date;
/**
* C类申报数据落地接口
* fedex
* 2022年4月14日17:55:55
*/
public class SendMawbBasf {
public class SendMawbFedex {
public static String url = "https://40.73.78.157:8780";
//C类申报数据落地接口
public static String path = "/basf/sendMawbBasf";
public static String path = "/fedex/sendMawbFedex";
//时间戳
public static String timeStamp = "1649839249891";
//APPID
......@@ -39,14 +37,14 @@ public class SendMawbBasf {
//申报数据:consignmentCode 运单号需要修改
String json ="{\"consignmentCode\":\"271002102051\",\"consignmentId\":164535620,\"consType\":\"C\",\"sender\":\"巴斯夫护理化学品(上海)有限公司\",\"shipperCustomsCode\":\"3119920047\",\"shipperSCC\":\"91310000607239894U\",\"operateUnitName\":\"巴斯夫护理化学品(上海)有限公司\",\"operateUnitCode\":\"3119920047\",\"operateSCC\":\"91310000607239894U\",\"consignmentList\":[{\"consignmentDetailId\":83010676,\"skuCode\":\"2917341090\",\"skuName\":\"邻苯二甲酸二丁酯\",\"model\":\"品名:邻苯二甲酸二丁酯 |品牌类型:0|出口享惠情况:0|成分含量:100% 邻苯二甲酸二丁酯|用途:化学分析用试剂,实验用途|GTIN:|CAS:|其他[非必报要素,请根据实际情况填报]:|\",\"knockdownNumber\":1,\"knockdownUnit\":\"035\",\"qtyLegalFirst\":1,\"unitLegalFirst\":\"035\",\"qtyLegalSecond\":\"1.0000\",\"unitLegalSecond\":\"\",\"declaredAmount\":10,\"currency\":\"USD\",\"declaredWeight\":1}]}";
String token = SHA256Util.getSHA256String(SendMawbBasf.appId + SendMawbBasf.appKey + SendMawbBasf.security + SendMawbBasf.timeStamp);
String token = SHA256Util.getSHA256String(SendMawbFedex.appId + SendMawbFedex.appKey + SendMawbFedex.security + SendMawbFedex.timeStamp);
System.out.println(token);
//消息头
Header[] headers = HttpHeader.custom()
.other("Content-Type", "application/json")
.other("Appid", SendMawbBasf.appId)
.other("appKey", SendMawbBasf.appKey)
.other("TimeStamp", SendMawbBasf.timeStamp)
.other("Appid", SendMawbFedex.appId)
.other("appKey", SendMawbFedex.appKey)
.other("TimeStamp", SendMawbFedex.timeStamp)
.other("token", token)
.build();
//客户端配置
......@@ -57,7 +55,7 @@ public class SendMawbBasf {
.ssl()
.retry(3);
//URL
String url = SendMawbBasf.url + SendMawbBasf.path;
String url = SendMawbFedex.url + SendMawbFedex.path;
//HTTP请求
HttpConfig config = HttpConfig.custom()
.headers(headers)
......