AdmCalcSpecialController.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.persagy.proxy.adm.controller;
  2. import cn.hutool.core.util.StrUtil;
  3. import com.persagy.dmp.common.exception.BusinessException;
  4. import com.persagy.proxy.adm.constant.AdmCommonConstant;
  5. import com.persagy.proxy.adm.constant.AdmRelationTypeEnum;
  6. import com.persagy.proxy.adm.constant.BusinessErrorRwdCode;
  7. import com.persagy.proxy.adm.request.AdmResponse;
  8. import com.persagy.proxy.adm.service.AdmCalcSpecialService;
  9. import com.persagy.proxy.common.entity.InstanceUrlParam;
  10. import lombok.RequiredArgsConstructor;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.util.Map;
  14. /***
  15. * Description: 机电管网系统关系计算
  16. * @author : lijie
  17. * @date :2021/9/14 23:15
  18. * Update By lijie 2021/9/14 23:15
  19. */
  20. @RestController
  21. @RequestMapping("/calc_special/")
  22. @RequiredArgsConstructor
  23. public class AdmCalcSpecialController {
  24. private final AdmCalcSpecialService admCalcSpecialService;
  25. @Value("${middleware.group.code}")
  26. private String groupCode;
  27. /***
  28. * Description: 管网系统设备分块 + 计算流向
  29. * @param projectId : 项目id
  30. * @param relationType : 关系类型
  31. * @return : com.persagy.proxy.adm.request.AdmResponse
  32. * @author : lijie
  33. * @date :2021/9/29 11:12
  34. * Update By lijie 2021/9/29 11:12
  35. */
  36. @PostMapping("sys-block")
  37. public AdmResponse sysBolck(@RequestParam("projectId") String projectId,
  38. @RequestParam("groupCode") String groupCode,
  39. @RequestParam("appId") String appId,
  40. @RequestParam("userId") String userId,
  41. @RequestParam("relationType ") String relationType) throws Exception {
  42. // 组装上下文条件
  43. InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
  44. null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
  45. StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
  46. Map<String, AdmRelationTypeEnum> relationTypeMap = AdmRelationTypeEnum.getRelationTypeMap();
  47. if (!relationTypeMap.containsKey(relationType)){
  48. throw new BusinessException(BusinessErrorRwdCode.A7201.getCode(),BusinessErrorRwdCode.A7201.getDesc());
  49. }
  50. return admCalcSpecialService.sysBlock(context, relationTypeMap.get(relationType));
  51. }
  52. /***
  53. * Description: 管网计算
  54. * @param projectId : 项目id
  55. * @param groupCode : 集团编码
  56. * @param appId : APP的id
  57. * @param userId : 用户id
  58. * @return : com.persagy.proxy.adm.request.AdmResponse
  59. * @author : lijie
  60. * @date :2021/9/29 11:58
  61. * Update By lijie 2021/9/29 11:58
  62. */
  63. @GetMapping("calcNetworks")
  64. public AdmResponse calcNetworks(@RequestParam("projectId") String projectId,
  65. @RequestParam("groupCode") String groupCode,
  66. @RequestParam("appId") String appId,
  67. @RequestParam("userId") String userId) throws Exception {
  68. // 组装上下文条件
  69. InstanceUrlParam context = new InstanceUrlParam(StrUtil.isNotBlank(groupCode)?groupCode:this.groupCode,
  70. null, projectId, StrUtil.isNotBlank(appId)?appId:AdmCommonConstant.APP_ID,
  71. StrUtil.isNotBlank(userId)?userId:AdmCommonConstant.USER_ID);
  72. return admCalcSpecialService.calcNetworks(context);
  73. }
  74. }