| | |
| | | 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.*; |
| | |
| | | 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; |
| | |
| | | @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,"【TMS】电子锁上锁时间接口",JSONObject.toJSONString(param) |
| | | TmsBaseResponse<List<TmsLockStatusQueryResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getElecByContractNumberList[1],JSONObject.toJSONString(param) |
| | | ,new TypeReference< TmsBaseResponse<List<TmsLockStatusQueryResponse>>>(){}); |
| | | return response; |
| | | } |
| | | |
| | | /** |
| | | * 运输单gis轨迹 |
| | | * 根据区域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.ddsc; |
| | | } if(i == 1){ |
| | | tem=TMSContants.TopStatusLevel.ydpzz; |
| | | } if(i == 2){ |
| | | tem=TMSContants.TopStatusLevel.ckckz; |
| | | } if(i == 3){ |
| | | tem=TMSContants.TopStatusLevel.clysz; |
| | | } if(i == 4){ |
| | | tem=TMSContants.TopStatusLevel.ydh; |
| | | } if(i == 5){ |
| | | tem=TMSContants.TopStatusLevel.yrk; |
| | | } |
| | | t.setName(tem.getName()); |
| | | t.setKey(tem.getKey()); |
| | | t.setSecondList(getSecondCircleStatusList(tem,response.getData())); |
| | | 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(StringUtils.equals(status.getOrderStatus(),t.toString())){ |
| | | list.add(status); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return TmsBaseResponse |
| | | */ |
| | | @Override |
| | | public TmsBaseResponse<List<TmsOrderListResponse>> orderList(TmsOrderListRequest param){ |
| | | if(StringUtils.isNotBlank(param.getPhoneNumber()) && StringUtils.isNotBlank(param.getCode())){ |
| | | SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,param.getPhoneNumber(),param.getCode()); |
| | | } |
| | | 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(); |
| | | } |
| | | } |
| | | /** |
| | | * 合同详情接口 |
| | |
| | | * @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; |
| | | } |
| | | |
| | | /** |
| | |
| | | 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("【TMS接口:"+name+"】================成功====\n"+res); |
| | | log.info("【TMS接口:"+name+"】================成功====\n"+ JSONObject.toJSONString(res)); |
| | | }else{ |
| | | log.error("【TMS接口:"+name+"】================失败====:\n"+ res); |
| | | log.error("【TMS接口:"+name+"】================失败====:\n"+ JSONObject.toJSONString(res)); |
| | | } |
| | | } |
| | | |