第三方产品信息上传

zyy_db
anthonywj 2 years ago
parent 81a57129f8
commit e7cdbf7140

@ -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");
}
}

@ -163,15 +163,16 @@ public class ErpBasicClient {
public BaseResponse<String> 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<String> listBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {
});
return listBaseResponse;
} catch (Exception e) {
log.error("提交第三产品信息异常" + postRelProductRequest.getDatas().size(), e);
log.error("提交第三产品信息异常" + response, e);
return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
}
}

@ -74,7 +74,7 @@ public interface ThrProductsService extends IService<ThrProductsEntity> {
* @param filterThrProductsRequest
* @return
*/
BaseResponse downloadByRequest(FilterThrProductsRequest filterThrProductsRequest);
BaseResponse downloadByRequest(FilterThrProductsRequest filterThrProductsRequest);
ThrProductsEntity filterThrProductsByMainId(String relId);
@ -83,5 +83,7 @@ public interface ThrProductsService extends IService<ThrProductsEntity> {
*
* @return
*/
BaseResponse uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity);
void uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity);
BaseResponse postThrProduct(UdiRelevanceResponse udiRelevanceResponse, String thirdSyS);
}

@ -321,7 +321,7 @@ public class ThrProductsServiceImpl extends ServiceImpl<ThrProductsDao, ThrProdu
UdiRelevanceService udiRelevanceService;
@Override
public BaseResponse uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
public void uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
//上次修改时间
String lastUploadTime = (String) redisUtil.get("THR_PI_UPLOAD_TIME");
String currentTime = MsDateUtil.formatDateTime(new Date());
@ -334,41 +334,49 @@ public class ThrProductsServiceImpl extends ServiceImpl<ThrProductsDao, ThrProdu
List<UdiRelevanceResponse> 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<List<UdiRelevanceResponse>> 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("上传成功");
}
/**
*
*

Loading…
Cancel
Save