提交 3e66a4ff authored 作者: 李瑞鑫's avatar 李瑞鑫

实时获取电子磅单图片

上级 50e301fc
...@@ -14,11 +14,14 @@ import org.springframework.stereotype.Component; ...@@ -14,11 +14,14 @@ import org.springframework.stereotype.Component;
@Component @Component
public class LoadAppConfig { public class LoadAppConfig {
private App purchaseManageApp;
@Autowired @Autowired
private AppDao appDao; private AppDao appDao;
private App purchaseManageApp;
private App smartWeightApp;
public App getPurchaseManageApp() { public App getPurchaseManageApp() {
if (purchaseManageApp == null) { if (purchaseManageApp == null) {
...@@ -28,4 +31,12 @@ public class LoadAppConfig { ...@@ -28,4 +31,12 @@ public class LoadAppConfig {
return purchaseManageApp; return purchaseManageApp;
} }
public App getSmartWeightApp() {
if (smartWeightApp == null) {
smartWeightApp = appDao.getOneByField(App::getUniqueIdentifier, AppEnum.UniqueIdentifier.SMART_WEIGHT.getCode()).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
}
return smartWeightApp;
}
} }
package com.clx.performance.job; package com.clx.performance.job;
import com.clx.performance.config.LoadAppConfig;
import com.clx.performance.config.PerformanceSmartCompanyNoConfig; import com.clx.performance.config.PerformanceSmartCompanyNoConfig;
import com.clx.performance.dao.AppDao;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderChildWeighPictureDao; import com.clx.performance.dao.OrderChildWeighPictureDao;
import com.clx.performance.enums.AppEnum;
import com.clx.performance.enums.OrderChildEnum; import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.App; import com.clx.performance.model.App;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderChildWeighPicture; import com.clx.performance.model.OrderChildWeighPicture;
...@@ -21,7 +19,6 @@ import com.xxl.job.core.handler.annotation.XxlJob; ...@@ -21,7 +19,6 @@ import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.exception.ExceptionUtils; import org.apache.commons.lang.exception.ExceptionUtils;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -33,7 +30,7 @@ import java.util.stream.Collectors; ...@@ -33,7 +30,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
@Component @Component
public class WeighingOderPictureJob implements InitializingBean { public class WeighingOderPictureJob{
@Autowired @Autowired
...@@ -49,8 +46,7 @@ public class WeighingOderPictureJob implements InitializingBean { ...@@ -49,8 +46,7 @@ public class WeighingOderPictureJob implements InitializingBean {
private PerformanceSmartCompanyNoConfig companyNoConfig; private PerformanceSmartCompanyNoConfig companyNoConfig;
@Autowired @Autowired
private AppDao appDao; private LoadAppConfig loadAppConfig;
private App app;
/** /**
...@@ -81,12 +77,7 @@ public class WeighingOderPictureJob implements InitializingBean { ...@@ -81,12 +77,7 @@ public class WeighingOderPictureJob implements InitializingBean {
//查询运单下的电子磅单数据 //查询运单下的电子磅单数据
if(CollectionUtils.isNotEmpty(orderChilds)){ if(CollectionUtils.isNotEmpty(orderChilds)){
//空判断 App app = loadAppConfig.getSmartWeightApp();//对接场站配置信息
if(Objects.isNull(app)){
//重新赋值
app= appDao.getOneByField(App::getUniqueIdentifier, AppEnum.UniqueIdentifier.SMART_WEIGHT.getCode()).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
}
//组装配置信息 //组装配置信息
RequestConfig config = new RequestConfig() RequestConfig config = new RequestConfig()
.setAppId(app.getAppNo()) .setAppId(app.getAppNo())
...@@ -100,9 +91,9 @@ public class WeighingOderPictureJob implements InitializingBean { ...@@ -100,9 +91,9 @@ public class WeighingOderPictureJob implements InitializingBean {
WeighingSignatureAction weightAction = new WeighingSignatureAction(); WeighingSignatureAction weightAction = new WeighingSignatureAction();
weightAction.setChildNo(orderChild.getChildNo()); weightAction.setChildNo(orderChild.getChildNo());
weightAction.setCustomerRelationNo(String.valueOf(companyNoConfig.getCompanyNo())); weightAction.setCustomerRelationNo(String.valueOf(companyNoConfig.getCompanyNo()));
log.info("请求电子磅单参数,{}",weightAction); log.info("job请求电子磅单参数,{}",weightAction);
Result<List<WeighingSignatureDto>> weighSignature = OpenClient.doAction(config, weightAction); Result<List<WeighingSignatureDto>> weighSignature = OpenClient.doAction(config, weightAction);
log.info("请求电子磅单返回结果,{}",weighSignature); log.info("job请求电子磅单返回结果,{}",weighSignature);
//数据处理 //数据处理
if(!Objects.equals(weighSignature.getCode(),0)){ if(!Objects.equals(weighSignature.getCode(),0)){
continue; continue;
...@@ -130,11 +121,4 @@ public class WeighingOderPictureJob implements InitializingBean { ...@@ -130,11 +121,4 @@ public class WeighingOderPictureJob implements InitializingBean {
} }
@Override
public void afterPropertiesSet() throws Exception {
app= appDao.getOneByField(App::getUniqueIdentifier, AppEnum.UniqueIdentifier.SMART_WEIGHT.getCode()).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
}
} }
...@@ -19,6 +19,7 @@ import com.clx.performance.component.GoodsOrderTruckRecordComponent; ...@@ -19,6 +19,7 @@ import com.clx.performance.component.GoodsOrderTruckRecordComponent;
import com.clx.performance.component.OrderChildLoanComponent; import com.clx.performance.component.OrderChildLoanComponent;
import com.clx.performance.config.ClxMessageConfig; import com.clx.performance.config.ClxMessageConfig;
import com.clx.performance.config.LoadAppConfig; import com.clx.performance.config.LoadAppConfig;
import com.clx.performance.config.PerformanceSmartCompanyNoConfig;
import com.clx.performance.config.TencentCloudApiOcrConfig; import com.clx.performance.config.TencentCloudApiOcrConfig;
import com.clx.performance.constant.RedisConstants; import com.clx.performance.constant.RedisConstants;
import com.clx.performance.constant.RedissonConstants; import com.clx.performance.constant.RedissonConstants;
...@@ -91,6 +92,8 @@ import com.purchase.manage.action.SupplyChainSupervisionLoadAction; ...@@ -91,6 +92,8 @@ import com.purchase.manage.action.SupplyChainSupervisionLoadAction;
import com.purchase.manage.action.SupplyChainSupervisionLoadTruckAction; import com.purchase.manage.action.SupplyChainSupervisionLoadTruckAction;
import com.purchase.manage.dto.SupervisionLoadInfoDto; import com.purchase.manage.dto.SupervisionLoadInfoDto;
import com.purchase.manage.dto.SupervisionLoadTruckInfoDto; import com.purchase.manage.dto.SupervisionLoadTruckInfoDto;
import com.smart.weight.action.WeighingSignatureAction;
import com.smart.weight.dto.WeighingSignatureDto;
import com.tencentcloudapi.common.Credential; import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException; import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.ocr.v20181119.OcrClient; import com.tencentcloudapi.ocr.v20181119.OcrClient;
...@@ -277,6 +280,12 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -277,6 +280,12 @@ public class OrderChildServiceImpl implements OrderChildService {
@Autowired @Autowired
private ClxMessageConfig messageConfig; private ClxMessageConfig messageConfig;
@Autowired
private LoadAppConfig loadAppConfig;
@Autowired
private PerformanceSmartCompanyNoConfig companyNoConfig;
@PostConstruct @PostConstruct
public void init(){ public void init(){
String[] activeProfiles = environment.getActiveProfiles(); String[] activeProfiles = environment.getActiveProfiles();
...@@ -2182,10 +2191,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2182,10 +2191,7 @@ public class OrderChildServiceImpl implements OrderChildService {
item -> item.getImage()).collect(Collectors.toList())); item -> item.getImage()).collect(Collectors.toList()));
if(CollectionUtils.isEmpty(result.getUnloadImageList())){ if(CollectionUtils.isEmpty(result.getUnloadImageList())){
List<OrderChildWeighPicture> images = pictureDao.getImages(childNo); result.setUnloadImageList(getWeighingSignature(childNo));//获取电子磅单图片
result.setUnloadImageList(images.stream().filter(
item -> Objects.equals(item.getType(), 2)).map(
item -> item.getOriginalImg()).collect(Collectors.toList()));
} }
result.setArriveSendTime(orderChild.getArriveSendTime()==null?null:convertLocalDateTimeToDefaultString(orderChild.getArriveSendTime())); result.setArriveSendTime(orderChild.getArriveSendTime()==null?null:convertLocalDateTimeToDefaultString(orderChild.getArriveSendTime()));
...@@ -3483,11 +3489,8 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -3483,11 +3489,8 @@ public class OrderChildServiceImpl implements OrderChildService {
return null; return null;
} }
List<OrderChildWeighPicture> pictures = pictureDao.getImages(param.getChildNo()); List<String> images = getWeighingSignature(param.getChildNo());//获取电子磅单图片
List<String> image = pictures.stream().filter( if(CollectionUtils.isNotEmpty(images)){
item -> Objects.equals(item.getType(), 2)).map(
item -> item.getOriginalImg()).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(image)){
return null; return null;
} }
...@@ -3755,4 +3758,34 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -3755,4 +3758,34 @@ public class OrderChildServiceImpl implements OrderChildService {
orderGoodsTruckBindDao.batchCancelTruckList(updateList); orderGoodsTruckBindDao.batchCancelTruckList(updateList);
} }
} }
/**
* 通过运单号获取电子磅单相关信息
* @param childNo
* @return
*/
private List<String> getWeighingSignature(String childNo){
App app = loadAppConfig.getSmartWeightApp();//对接场站配置信息
//组装配置信息
RequestConfig config = new RequestConfig()
.setAppId(app.getAppNo())
.setAppKey(app.getAppKey())
.setGatewayUrl(app.getCallback());
//通过运单号码查询电子磅单图片
WeighingSignatureAction weightAction = new WeighingSignatureAction();
weightAction.setChildNo(childNo);
weightAction.setCustomerRelationNo(String.valueOf(companyNoConfig.getCompanyNo()));
log.info("接口请求电子磅单参数,{}",weightAction);
Result<List<WeighingSignatureDto>> weighSignature = OpenClient.doAction(config, weightAction);
log.info("接口请求电子磅单返回结果,{}",weighSignature);
//数据处理
if(Objects.equals(weighSignature.getCode(),0)){
List<WeighingSignatureDto> weighSignatures = weighSignature.getData();
return weighSignatures.stream().filter(
item -> Objects.equals(item.getType(), 2)).map(
item -> item.getOriginalImg()).collect(Collectors.toList());
}
return new ArrayList<>();
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论