From e7cdbf714045a0d48e9724a552b530b56b963748 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Thu, 7 Dec 2023 15:23:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../thrsys/ThrProductsController.java | 23 +++++++++- .../com/glxp/api/http/ErpBasicClient.java | 5 +- .../service/thrsys/ThrProductsService.java | 6 ++- .../thrsys/impl/ThrProductsServiceImpl.java | 46 +++++++++++-------- 4 files changed, 55 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java index 5c728e0c0..ff36e68a8 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java @@ -1,6 +1,7 @@ package com.glxp.api.controller.thrsys; +import com.glxp.api.res.basic.UdiRelevanceResponse; import org.springframework.beans.BeanUtils; import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.collection.CollUtil; @@ -296,8 +297,6 @@ public class ThrProductsController { if (null == filterThrProductsRequest) { return ResultVOUtils.error(500, "参数不能为空"); } - - ThreadUtil.execAsync(() -> { try { thrProductsService.downloadByRequest(filterThrProductsRequest); @@ -310,4 +309,24 @@ public class ThrProductsController { return ResultVOUtils.success("后台正在下载,请稍后刷新查看!"); } + + /** + * 上传第三方产品信息 + * + * @param udiRelevanceResponse + * @return + */ + @PostMapping("/udiwms/thrsys/products/post") + public BaseResponse postThirdData(@RequestBody UdiRelevanceResponse udiRelevanceResponse) { + if (null == udiRelevanceResponse) { + return ResultVOUtils.error(500, "参数不能为空"); + } + if (StrUtil.isEmpty(udiRelevanceResponse.getOriginUuid())) { + return ResultVOUtils.error(500, "产品未关联DI"); + } + + return thrProductsService.postThrProduct(udiRelevanceResponse, "thirdId"); + } + + } diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java index 41feb863b..083744ca7 100644 --- a/src/main/java/com/glxp/api/http/ErpBasicClient.java +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -163,15 +163,16 @@ public class ErpBasicClient { public BaseResponse postRelProduct(PostRelProductRequest postRelProductRequest) { ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId("thirdId"); String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/post/udiRel/product"; + String response = ""; try { - String response = httpOkClient.uCloudPost(url, postRelProductRequest); + response = httpOkClient.uCloudPost(url, postRelProductRequest); BaseResponse listBaseResponse = JSONObject.parseObject(response, new TypeReference>() { }); return listBaseResponse; } catch (Exception e) { - log.error("提交第三产品信息异常" + postRelProductRequest.getDatas().size(), e); + log.error("提交第三产品信息异常" + response, e); return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); } } diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java b/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java index 943091b3b..ae930ebef 100644 --- a/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java +++ b/src/main/java/com/glxp/api/service/thrsys/ThrProductsService.java @@ -74,7 +74,7 @@ public interface ThrProductsService extends IService { * @param filterThrProductsRequest * @return */ - BaseResponse downloadByRequest(FilterThrProductsRequest filterThrProductsRequest); + BaseResponse downloadByRequest(FilterThrProductsRequest filterThrProductsRequest); ThrProductsEntity filterThrProductsByMainId(String relId); @@ -83,5 +83,7 @@ public interface ThrProductsService extends IService { * * @return */ - BaseResponse uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity); + void uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity); + + BaseResponse postThrProduct(UdiRelevanceResponse udiRelevanceResponse, String thirdSyS); } diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java index 439f57692..d456f5011 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java @@ -321,7 +321,7 @@ public class ThrProductsServiceImpl extends ServiceImpl filteredList = udiRelevanceResponses.stream() .filter(item -> { - if ((StrUtil.isNotEmpty(item.getNameCode()) && StrUtil.isEmpty(item.getMainId()) - || (StrUtil.isNotEmpty(item.getNameCode()) && StrUtil.isNotEmpty(item.getMainId()) && StrUtil.isNotEmpty(item.getBasicPrductRemak8())) + if ((StrUtil.isNotEmpty(item.getOriginUuid()) && StrUtil.isEmpty(item.getMainId()) + || (StrUtil.isNotEmpty(item.getOriginUuid()) && StrUtil.isNotEmpty(item.getMainId()) && StrUtil.isNotEmpty(item.getBasicPrductRemak8())) )) { return true; } else return false; } ) .collect(Collectors.toList()); - // List> splitList = CustomUtil.splitList(filteredList, 10); for (UdiRelevanceResponse udiRelevanceResponse : filteredList) { - PostRelProductRequest postRelProductRequest = new PostRelProductRequest(); - postRelProductRequest.setUploadType("1"); - postRelProductRequest.setThirdSys(thrSystemDetailEntity.getThirdSysFk()); - postRelProductRequest.setUdiRelevanceResponse(udiRelevanceResponse); - //上传第三方产品信息 - BaseResponse baseResponse = erpBasicClient.postRelProduct(postRelProductRequest); + BaseResponse baseResponse = postThrProduct(udiRelevanceResponse, thrSystemDetailEntity.getThirdSysFk()); if (baseResponse.getCode() != 20000) { - return ResultVOUtils.error(500, "上传失败!" + baseResponse.getMessage()); - } else { - String thirdCode = (String) baseResponse.getData(); - UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(udiRelevanceResponse.getId()); - udiRelevanceEntity.setThirdId(thirdCode); - udiRelevanceEntity.setMainId(thirdCode); - udiRelevanceDao.updateById(udiRelevanceEntity); + log.error(udiRelevanceResponse.getNameCode() + "," + udiRelevanceResponse.getId() + "第三方产品信息上传失败:" + baseResponse.getMessage()); } } redisUtil.set("THR_PI_UPLOAD_TIME", currentTime); - return ResultVOUtils.success("上传成功"); } + } + } + @Override + public BaseResponse postThrProduct(UdiRelevanceResponse udiRelevanceResponse, String thirdSyS) { + + PostRelProductRequest postRelProductRequest = new PostRelProductRequest(); + postRelProductRequest.setUploadType("1"); + postRelProductRequest.setThirdSys(thirdSyS); + postRelProductRequest.setUdiRelevanceResponse(udiRelevanceResponse); + //上传第三方产品信息 + BaseResponse baseResponse = erpBasicClient.postRelProduct(postRelProductRequest); + if (baseResponse.getCode() != 20000) { + return ResultVOUtils.error(500, "上传失败!" + baseResponse.getMessage()); + } else { + String thirdCode = (String) baseResponse.getData(); + UdiRelevanceEntity udiRelevanceEntity = udiRelevanceDao.selectById(udiRelevanceResponse.getId()); + udiRelevanceEntity.setThirdId(thirdCode); + udiRelevanceEntity.setMainId(thirdCode); + udiRelevanceDao.updateById(udiRelevanceEntity); } - return ResultVOUtils.error(500, "上传失败!"); + return ResultVOUtils.success("上传成功"); + } + /** * 校验拉取的第三方数据是否有更新 *