From 77cb365302cc814df041e31e4a880d804a93383f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 13 十二月 2024 17:19:28 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java | 198 ++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 178 insertions(+), 20 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
index a4defe8..7772152 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -5,13 +5,9 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
-import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
-import com.doumee.core.tms.model.request.TmsOrderInfoRequest;
-import com.doumee.core.tms.model.request.TmsOrderListRequest;
-import com.doumee.core.tms.model.response.TmsBaseResponse;
-import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
-import com.doumee.core.tms.model.response.TmsOrderInfoResponse;
-import com.doumee.core.tms.model.response.TmsOrderListResponse;
+import com.doumee.core.tms.model.TMSContants;
+import com.doumee.core.tms.model.request.*;
+import com.doumee.core.tms.model.response.*;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.core.wms.model.request.*;
@@ -19,13 +15,17 @@
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.SmsEmailMapper;
import com.doumee.dao.business.model.*;
+import com.doumee.service.business.impl.SmsEmailServiceImpl;
import com.doumee.service.business.third.TmsService;
import com.doumee.service.business.third.WmsService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -39,6 +39,9 @@
@Service
@Slf4j
public class TmsServiceImpl implements TmsService {
+
+ @Autowired
+ private SmsEmailMapper smsEmailMapper;
@Autowired
private PlatformWmsJobMapper platformWmsJobMapper;
@Autowired
@@ -55,7 +58,8 @@
private SystemDictDataBiz systemDictDataBiz;
@Autowired
private WmsInterfaceLogMapper wmsInterfaceLogMapper;
-
+ @Value("${debug_model}")
+ private Boolean isDebug;
/**
* 鐢靛瓙閿佷笂閿佹椂闂存帴鍙�
* 鏍规嵁鍚堝悓鍙凤紝鏌ヨ鐢靛瓙閿佷笂閿佹儏鍐碉紱瀛樺湪鎵归噺鏌ヨ鐨勬儏鍐碉紱
@@ -65,11 +69,120 @@
@Override
public TmsBaseResponse<List<TmsLockStatusQueryResponse>> lockStatusQuery(TmsLockStatusQueryRequest param){
String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
- +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_LOCK_STATUS_URL).getCode();
+ + TMSContants.InterfacePath.getElecByContractNumberList[0];
- TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,"鐢靛瓙閿佷笂閿佹椂闂存帴鍙�",JSONObject.toJSONString(param)
+ TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getElecByContractNumberList[1],JSONObject.toJSONString(param)
,new TypeReference< TmsBaseResponse<List<TmsLockStatusQueryResponse>>>(){});
return response;
+ }
+
+ /**
+ * 杩愯緭鍗昰is杞ㄨ抗
+ * 鏍规嵁鍖哄煙ID闆嗗悎+绛涢�夋潯浠讹紙鍚堝悓鍙枫�佸埗鍗曞紑濮嬫棩鏈熴�佸埗鍗曠粨鏉熸棩鏈熴�佸彂璐у湴銆佸埌璐у湴銆佺渷浠斤紝闈為渶瑕侊級锛岃繑鍥炲悎鍚屽垪琛ㄤ俊鎭紝鎸夌収鏃堕棿鍊掑簭灞曠ず锛�
+ * @param param 鍙傛暟
+ * @return TmsBaseResponse
+ */
+ @Override
+ public List<TmsGisListResponse> gisList(TmsGisListRequest param){
+
+ if(param.getTransportCode()==null ){
+ return new ArrayList<>();
+ }
+ String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+ +TMSContants.InterfacePath.getGis[0];
+ TmsBaseResponse<List<TmsGisListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getGis[1],JSONObject.toJSONString(param)
+ ,new TypeReference< TmsBaseResponse<List<TmsGisListResponse>>>(){});
+ if(response ==null){
+ return new ArrayList<>();
+ }else{
+ return response.getData()==null?new ArrayList<>():response.getData();
+ }
+ }
+ /**
+ * 璁㈠崟鐢熷懡鍛ㄦ湡
+ * @param param 鍙傛暟
+ * @return TmsBaseResponse
+ */
+ @Override
+ public List<TmsCircleStatusResultListResponse> getCicleStatusList(TmsCircleStatusListRequest param){
+ List<TmsCircleStatusResultListResponse> list =new ArrayList<>();
+ if(param.getContractNumber()==null ){
+ return new ArrayList<>();
+ }
+ String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
+ +TMSContants.InterfacePath.getOrderStatusByContractNumber[0];
+ TmsBaseResponse<List<TmsCircleStatusListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderStatusByContractNumber[1],JSONObject.toJSONString(param)
+ ,new TypeReference< TmsBaseResponse<List<TmsCircleStatusListResponse>>>(){});
+
+ if(response ==null){
+ return new ArrayList<>();
+ }else{
+ /**
+ * ddsc(0,"璁㈠崟鐢熸垚",new Integer[]{ChildStatusLevel.create.getKey()}),
+ * ydpzz (1,"杩愬崟閰嶈浇涓�",new Integer[]{ChildStatusLevel.ysdxc.getKey()
+ * ,ChildStatusLevel.ysdcx.getKey()
+ * ,ChildStatusLevel.shtg.getKey()
+ * ,ChildStatusLevel.shwtg.getKey()
+ * ,ChildStatusLevel.ysdcx.getKey()}),
+ * ckckz (2,"浠撳簱鍑哄簱涓�",new Integer[]{ChildStatusLevel.ddzhddzs.getKey()
+ * ,ChildStatusLevel.clqddzs.getKey()}),
+ * clysz(3, "杞﹁締杩愯緭涓�",new Integer[]{ChildStatusLevel.clqdapp.getKey()}),
+ * ydh(4,"宸插埌璐�",new Integer[]{ChildStatusLevel.ddzhd.getKey()}),
+ * yrk
+ */
+ for (int i = 0; i < 6; i++) {
+ TmsCircleStatusResultListResponse t = new TmsCircleStatusResultListResponse();
+ TMSContants.TopStatusLevel tem = TMSContants.TopStatusLevel.ddsc;
+ if(i == 0){
+ tem=TMSContants.TopStatusLevel.yrk;
+ } if(i == 1){
+ tem=TMSContants.TopStatusLevel.ydh;
+ } if(i == 2){
+ tem=TMSContants.TopStatusLevel.clysz;
+ } if(i == 4){
+ tem=TMSContants.TopStatusLevel.ckckz;
+ } if(i == 3){
+ tem=TMSContants.TopStatusLevel.ydpzz;
+ } if(i == 5){
+ tem=TMSContants.TopStatusLevel.ddsc;
+ }
+ t.setName(tem.getName());
+ t.setKey(tem.getKey());
+ t.setSecondList(getSecondCircleStatusList(tem,response.getData()));
+ if(t.getSecondList()!=null & t.getSecondList().size()>0){
+ list.add(t);
+ }
+ }
+ }
+
+ return list;
+ }
+
+ private List<TmsCircleStatusListResponse> getSecondCircleStatusList(TMSContants.TopStatusLevel tem, List<TmsCircleStatusListResponse> data) {
+ if(data ==null ||data.size()==0){
+ return new ArrayList<>();
+ }
+ List<TmsCircleStatusListResponse> list = new ArrayList<>();
+ Integer[] statusList = tem.getChileIndexList();
+ if(statusList!=null){
+ for(Integer t :statusList){
+ for(TmsCircleStatusListResponse status :data){
+ if(Constants.equalsInteger(status.getOrderStatus(),Constants.FOUR)
+ && Constants.equalsInteger(status.getType(),TMSContants.StatusCode.app)) {
+ status.setOrderStatus(TMSContants.ChildStatusLevel.clqdapp.getKey());
+ }
+ if(Constants.equalsInteger(status.getOrderStatus(),Constants.FIVE)
+ && Constants.equalsInteger(status.getType(),TMSContants.StatusCode.app)) {
+ status.setOrderStatus(TMSContants.ChildStatusLevel.ddzhd.getKey());
+ }
+ if(Constants.equalsInteger(status.getOrderStatus(),t )){
+ status.setOrderStatusDes(TMSContants.ChildStatusLevel.getInfo(status.getOrderStatus(),null));
+ list.add(status);
+ }
+ }
+ }
+ }
+ return list;
}
/**
@@ -79,12 +192,22 @@
* @return TmsBaseResponse
*/
@Override
- public TmsBaseResponse<List<TmsOrderListResponse>> orderList(TmsOrderListRequest param){
+ public List<TmsOrderListResponse> orderList(TmsOrderListRequest param){
+ if(StringUtils.isBlank(param.getPhoneNumber())){
+ param.setPhoneNumber("00000000000");//鎵嬫満鍙峰繀濉�
+ }
+ if(param.getContractNumbers()==null || param.getContractNumbers().size()==0){
+ param.setContractNumbers(null);
+ }
String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
- +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_ORDER_LIST_URL).getCode();
- TmsBaseResponse<List<TmsOrderListResponse>> response = sendHttpRequest(url,"鍚堝悓鍒楄〃鎺ュ彛",JSONObject.toJSONString(param)
+ +TMSContants.InterfacePath.getOrderList[0];
+ TmsBaseResponse<List<TmsOrderListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderList[1],JSONObject.toJSONString(param)
,new TypeReference< TmsBaseResponse<List<TmsOrderListResponse>>>(){});
- return response;
+ if(response ==null){
+ return new ArrayList<>();
+ }else{
+ return response.getData()==null?new ArrayList<>():response.getData();
+ }
}
/**
* 鍚堝悓璇︽儏鎺ュ彛
@@ -92,12 +215,27 @@
* @return TmsBaseResponse
*/
@Override
- public TmsBaseResponse<TmsOrderInfoResponse> orderInfo(TmsOrderInfoRequest param){
+ public TmsOrderInfoResponse orderInfo(TmsOrderInfoRequest param){
+ TmsOrderInfoResponse result = new TmsOrderInfoResponse();
+ if(StringUtils.isBlank(param.getContractNumber())){
+ return result;
+ }
String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
- +systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_ORDER_DETAIL_URL).getCode();
- TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,"鍚堝悓璇︽儏鎺ュ彛",JSONObject.toJSONString(param)
+ +TMSContants.InterfacePath.getOrderDetailByContractNumber[0];
+ TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderDetailByContractNumber[1],JSONObject.toJSONString(param)
,new TypeReference< TmsBaseResponse<TmsOrderInfoResponse>>(){});
- return response;
+ if(response!=null && response.getData()!=null){
+ result =response.getData();
+ }
+ if(result.getTransportCode()!=null){
+ TmsGisListRequest p = new TmsGisListRequest();
+ p.setTransportCode(result.getTransportCode());
+ result.setGisList(gisList(p));
+ }
+ TmsCircleStatusListRequest p1 = new TmsCircleStatusListRequest();
+ p1.setContractNumber(param.getContractNumber());
+ result.setCicleStatusList(getCicleStatusList(p1));
+ return result;
}
/**
@@ -129,15 +267,35 @@
success = 1;
log.error("銆�"+name+"銆�================澶辫触===="+ JSONObject.toJSONString(param));
}finally {
+ saveInterfaceLog(url,name,param,success,res,Constants.ZERO);
}
}
return null;
}
+ @Override
+ public void saveInterfaceLog(String url,String name,String param,Integer success,String respone,int type){
+ if(wmsInterfaceLogMapper ==null){
+ return;
+ }
+ WmsInterfaceLog log = new WmsInterfaceLog();
+ log.setCreateDate(new Date());
+ log.setUrl(url);
+ log.setEditDate(log.getCreateDate());
+ log.setPlat(Constants.ONE);
+ log.setName(name);
+ log.setIsdeleted(Constants.ZERO);
+ log.setRequest(param);
+ log.setType(type);
+ log.setSuccess(success);
+ log.setRepose(respone);
+ wmsInterfaceLogMapper.insert(log);
+ }
+
private static void logResult(TmsBaseResponse res,String name) {
if(StringUtils.equals(res.getCode(), TmsBaseResponse.CODE_SUCCESS)){
- log.info("銆怲MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+res);
+ log.info("銆怲MS鎺ュ彛锛�"+name+"銆�================鎴愬姛====\n"+ JSONObject.toJSONString(res));
}else{
- log.error("銆怲MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ res);
+ log.error("銆怲MS鎺ュ彛锛�"+name+"銆�================澶辫触====锛歕n"+ JSONObject.toJSONString(res));
}
}
--
Gitblit v1.9.3