第三方产品信息上传

zyy_db
anthonywj 2 years ago
parent 81a57129f8
commit e7cdbf7140

@ -1,6 +1,7 @@
package com.glxp.api.controller.thrsys; package com.glxp.api.controller.thrsys;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import cn.hutool.core.bean.copier.CopyOptions; import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
@ -296,8 +297,6 @@ public class ThrProductsController {
if (null == filterThrProductsRequest) { if (null == filterThrProductsRequest) {
return ResultVOUtils.error(500, "参数不能为空"); return ResultVOUtils.error(500, "参数不能为空");
} }
ThreadUtil.execAsync(() -> { ThreadUtil.execAsync(() -> {
try { try {
thrProductsService.downloadByRequest(filterThrProductsRequest); thrProductsService.downloadByRequest(filterThrProductsRequest);
@ -310,4 +309,24 @@ public class ThrProductsController {
return ResultVOUtils.success("后台正在下载,请稍后刷新查看!"); 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) { public BaseResponse<String> postRelProduct(PostRelProductRequest postRelProductRequest) {
ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId("thirdId"); ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId("thirdId");
String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/post/udiRel/product"; String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/post/udiRel/product";
String response = "";
try { try {
String response = httpOkClient.uCloudPost(url, postRelProductRequest); response = httpOkClient.uCloudPost(url, postRelProductRequest);
BaseResponse<String> listBaseResponse = BaseResponse<String> listBaseResponse =
JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() { JSONObject.parseObject(response, new TypeReference<BaseResponse<String>>() {
}); });
return listBaseResponse; return listBaseResponse;
} catch (Exception e) { } catch (Exception e) {
log.error("提交第三产品信息异常" + postRelProductRequest.getDatas().size(), e); log.error("提交第三产品信息异常" + response, e);
return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); return ResultVOUtils.error(500, "连接第三方系统接口服务出错");
} }
} }

@ -83,5 +83,7 @@ public interface ThrProductsService extends IService<ThrProductsEntity> {
* *
* @return * @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; UdiRelevanceService udiRelevanceService;
@Override @Override
public BaseResponse uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) { public void uploadThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
//上次修改时间 //上次修改时间
String lastUploadTime = (String) redisUtil.get("THR_PI_UPLOAD_TIME"); String lastUploadTime = (String) redisUtil.get("THR_PI_UPLOAD_TIME");
String currentTime = MsDateUtil.formatDateTime(new Date()); String currentTime = MsDateUtil.formatDateTime(new Date());
@ -334,20 +334,32 @@ public class ThrProductsServiceImpl extends ServiceImpl<ThrProductsDao, ThrProdu
List<UdiRelevanceResponse> filteredList = udiRelevanceResponses.stream() List<UdiRelevanceResponse> filteredList = udiRelevanceResponses.stream()
.filter(item -> .filter(item ->
{ {
if ((StrUtil.isNotEmpty(item.getNameCode()) && StrUtil.isEmpty(item.getMainId()) if ((StrUtil.isNotEmpty(item.getOriginUuid()) && StrUtil.isEmpty(item.getMainId())
|| (StrUtil.isNotEmpty(item.getNameCode()) && StrUtil.isNotEmpty(item.getMainId()) && StrUtil.isNotEmpty(item.getBasicPrductRemak8())) || (StrUtil.isNotEmpty(item.getOriginUuid()) && StrUtil.isNotEmpty(item.getMainId()) && StrUtil.isNotEmpty(item.getBasicPrductRemak8()))
)) { )) {
return true; return true;
} else return false; } else return false;
} }
) )
.collect(Collectors.toList()); .collect(Collectors.toList());
// List<List<UdiRelevanceResponse>> splitList = CustomUtil.splitList(filteredList, 10); // List<List<UdiRelevanceResponse>> splitList = CustomUtil.splitList(filteredList, 10);
for (UdiRelevanceResponse udiRelevanceResponse : filteredList) { for (UdiRelevanceResponse udiRelevanceResponse : filteredList) {
BaseResponse baseResponse = postThrProduct(udiRelevanceResponse, thrSystemDetailEntity.getThirdSysFk());
if (baseResponse.getCode() != 20000) {
log.error(udiRelevanceResponse.getNameCode() + "," + udiRelevanceResponse.getId() + "第三方产品信息上传失败:" + baseResponse.getMessage());
}
}
redisUtil.set("THR_PI_UPLOAD_TIME", currentTime);
}
}
}
@Override
public BaseResponse postThrProduct(UdiRelevanceResponse udiRelevanceResponse, String thirdSyS) {
PostRelProductRequest postRelProductRequest = new PostRelProductRequest(); PostRelProductRequest postRelProductRequest = new PostRelProductRequest();
postRelProductRequest.setUploadType("1"); postRelProductRequest.setUploadType("1");
postRelProductRequest.setThirdSys(thrSystemDetailEntity.getThirdSysFk()); postRelProductRequest.setThirdSys(thirdSyS);
postRelProductRequest.setUdiRelevanceResponse(udiRelevanceResponse); postRelProductRequest.setUdiRelevanceResponse(udiRelevanceResponse);
//上传第三方产品信息 //上传第三方产品信息
BaseResponse baseResponse = erpBasicClient.postRelProduct(postRelProductRequest); BaseResponse baseResponse = erpBasicClient.postRelProduct(postRelProductRequest);
@ -360,14 +372,10 @@ public class ThrProductsServiceImpl extends ServiceImpl<ThrProductsDao, ThrProdu
udiRelevanceEntity.setMainId(thirdCode); udiRelevanceEntity.setMainId(thirdCode);
udiRelevanceDao.updateById(udiRelevanceEntity); udiRelevanceDao.updateById(udiRelevanceEntity);
} }
}
redisUtil.set("THR_PI_UPLOAD_TIME", currentTime);
return ResultVOUtils.success("上传成功"); return ResultVOUtils.success("上传成功");
}
} }
return ResultVOUtils.error(500, "上传失败!");
}
/** /**
* *

Loading…
Cancel
Save