AdmMepSystemCalcServiceImpl.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.persagy.proxy.adm.service.impl;
  2. import cn.hutool.core.collection.CollUtil;
  3. import com.persagy.dmp.basic.dto.DefineRequestData;
  4. import com.persagy.dmp.common.constant.CommonConstant;
  5. import com.persagy.dmp.common.model.response.CommonResult;
  6. import com.persagy.dmp.define.client.DigitalEquipClassRelFacade;
  7. import com.persagy.dmp.define.entity.DigitalEquipClassRel;
  8. import com.persagy.proxy.adm.model.AdmMepSourceTypeEntity;
  9. import com.persagy.proxy.adm.request.AdmCreateRequest;
  10. import com.persagy.proxy.adm.request.AdmResponse;
  11. import com.persagy.proxy.adm.service.AdmMepSystemCalcService;
  12. import com.persagy.proxy.common.entity.InstanceUrlParam;
  13. import lombok.RequiredArgsConstructor;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.stereotype.Service;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. /***
  19. * Description: 源末端关系设置逻辑处理类
  20. * @author : lijie
  21. * @date :2021/9/14 23:21
  22. * Update By lijie 2021/9/14 23:21
  23. */
  24. @Service
  25. @Slf4j
  26. @RequiredArgsConstructor
  27. public class AdmMepSystemCalcServiceImpl implements AdmMepSystemCalcService {
  28. /***
  29. * Description: 添加源末端关系
  30. * @param context : 请求上下文
  31. * @param request : 请求参数
  32. * @return : com.persagy.proxy.adm.request.AdmResponse
  33. * @author : lijie
  34. * @date :2021/9/14 23:23
  35. * Update By lijie 2021/9/14 23:23
  36. */
  37. @Override
  38. public AdmResponse add(InstanceUrlParam context, AdmCreateRequest<AdmMepSourceTypeEntity> request) {
  39. List<AdmMepSourceTypeEntity> content = request.getContent();
  40. if (CollUtil.isEmpty(content)){
  41. return AdmResponse.success(new ArrayList<>());
  42. }
  43. List<DigitalEquipClassRel> relList = new ArrayList<>();
  44. content.forEach(entity->{
  45. DigitalEquipClassRel rel = new DigitalEquipClassRel();
  46. rel.setProjectId(context.getProjectId());
  47. rel.setCalcName(entity.getCalcName());
  48. rel.setSourceEquipCode(entity.getSourceType());
  49. relList.add(rel);
  50. });
  51. DigitalEquipClassRelFacade
  52. .createBatch(context.getGroupCode(), context.getProjectId(),
  53. context.getAppId(), CommonConstant.DEFAULT_ID, relList);
  54. return AdmResponse.success(content);
  55. }
  56. /***
  57. * Description: 查询源端设备类型
  58. * @param context : 参数
  59. * @param calcName : 关系名称
  60. * @return : com.persagy.proxy.adm.request.AdmResponse
  61. * @author : lijie
  62. * @date :2021/9/14 23:20
  63. * Update By lijie 2021/9/14 23:20
  64. */
  65. @Override
  66. public AdmResponse query(InstanceUrlParam context, String calcName) {
  67. // 先根据边类型名称查询图类型编码及边类型编码
  68. CommonResult<List<DigitalEquipClassRel>> result = DigitalEquipClassRelFacade
  69. .queryListByRelNames(context.getGroupCode(), context.getProjectId(), context.getAppId(),
  70. CommonConstant.DEFAULT_ID, DefineRequestData.builder().relNames(CollUtil.newHashSet(calcName)).build());
  71. List<DigitalEquipClassRel> data = result.getData();
  72. if (CollUtil.isEmpty(data)){
  73. return AdmResponse.success(new ArrayList<>());
  74. }
  75. // 组装ADM数据
  76. List<AdmMepSourceTypeEntity> resultData = new ArrayList<>();
  77. data.forEach(digitalEquipClassRel -> {
  78. resultData.add(AdmMepSourceTypeEntity.builder()
  79. .calcName(digitalEquipClassRel.getCalcName())
  80. .sourceType(digitalEquipClassRel.getSourceEquipCode())
  81. .projectId(digitalEquipClassRel.getProjectId())
  82. .createTime(digitalEquipClassRel.getCreationTime().getDate())
  83. .build());
  84. });
  85. return AdmResponse.success(resultData);
  86. }
  87. }