Commit 35ffa189bec00638f9eecec3e550ffc2e7fd8a00

Authored by 颜惠青
Committed by 王彪总
1 parent c1c40f78

feat(swagger): 配置 garden 和 global 模块的 swagger API 分组

- 新增 GardenWebConfiguration 配置类
- 新增 GloablWebConfiguration 配置类
- 为两个模块创建独立的 swagger API 分组
- 添加相应的 package-info.java 文件完善包结构
- 使用统一的 buildGroupedOpenApi 方法构建分组配置
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApi.java
... ... @@ -2,6 +2,7 @@ package com.zteits.urbanops.module.garden.api.road;
2 2  
3 3 import com.zteits.urbanops.module.garden.api.road.dto.RoadReqDTO;
4 4 import com.zteits.urbanops.module.garden.api.road.dto.RoadRespDTO;
  5 +import com.zteits.urbanops.module.garden.api.road.dto.RoadStreetRespDTO;
5 6  
6 7 import java.util.List;
7 8  
... ... @@ -13,4 +14,6 @@ import java.util.List;
13 14 */
14 15 public interface RoadApi {
15 16 public List<RoadRespDTO> getRoadInfoBy(RoadReqDTO reqDTO);
  17 +
  18 + public RoadStreetRespDTO getRoadInfoById(Long id);
16 19 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/RoadApiImpl.java
... ... @@ -4,8 +4,13 @@ import cn.hutool.json.JSONObject;
4 4 import cn.hutool.json.JSONUtil;
5 5 import com.alibaba.fastjson.JSON;
6 6 import com.zteits.urbanops.framework.common.util.http.HttpUtils;
  7 +import com.zteits.urbanops.framework.common.util.object.BeanUtils;
7 8 import com.zteits.urbanops.module.garden.api.road.dto.RoadReqDTO;
8 9 import com.zteits.urbanops.module.garden.api.road.dto.RoadRespDTO;
  10 +import com.zteits.urbanops.module.garden.api.road.dto.RoadStreetRespDTO;
  11 +import com.zteits.urbanops.module.garden.controller.admin.road.vo.RoadRespVO;
  12 +import com.zteits.urbanops.module.garden.service.road.RoadService;
  13 +import jakarta.annotation.Resource;
9 14 import lombok.extern.slf4j.Slf4j;
10 15 import org.springframework.beans.factory.annotation.Value;
11 16 import org.springframework.stereotype.Service;
... ... @@ -28,7 +33,8 @@ public class RoadApiImpl implements RoadApi{
28 33  
29 34 @Value("${siot.roadUrl}")
30 35 private String roadInfoUrl;
31   -
  36 + @Resource
  37 + private RoadService roadService;
32 38 @Override
33 39 public List<RoadRespDTO> getRoadInfoBy(RoadReqDTO reqDTO) {
34 40 Map<String, Object> param = new HashMap<>();
... ... @@ -54,4 +60,10 @@ public class RoadApiImpl implements RoadApi{
54 60 return roadInfo;
55 61 }).collect(Collectors.toList());
56 62 }
  63 +
  64 + @Override
  65 + public RoadStreetRespDTO getRoadInfoById(Long id) {
  66 + RoadRespVO roadRespVO = roadService.getRoad(id);
  67 + return BeanUtils.toBean(roadRespVO, RoadStreetRespDTO.class);
  68 + }
57 69 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/api/road/dto/RoadStreetRespDTO.java 0 → 100644
  1 +package com.zteits.urbanops.module.garden.api.road.dto;
  2 +
  3 +import cn.idev.excel.annotation.ExcelProperty;
  4 +import io.swagger.v3.oas.annotations.media.Schema;
  5 +import lombok.Data;
  6 +
  7 +/**
  8 + * @author yanhuiqing
  9 + * @version 1.0
  10 + * @description: 获取道路对应的街道信息
  11 + * @date 2025/12/10 23:30
  12 + */
  13 +@Data
  14 +public class RoadStreetRespDTO {
  15 +
  16 + private Long id;
  17 +
  18 + private String roadName;
  19 +
  20 + private String streetId;
  21 +
  22 + private String streetName;
  23 +
  24 + private String busiLine;
  25 +}
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/framework/web/config/GardenWebConfiguration.java 0 → 100644
  1 +package com.zteits.urbanops.module.garden.framework.web.config;
  2 +
  3 +import com.zteits.urbanops.framework.swagger.config.UrbanopsSwaggerAutoConfiguration;
  4 +import org.springdoc.core.models.GroupedOpenApi;
  5 +import org.springframework.context.annotation.Bean;
  6 +import org.springframework.context.annotation.Configuration;
  7 +
  8 +/**
  9 + * erp 模块的 web 组件的 Configuration
  10 + *
  11 + * @author ZIEITS
  12 + */
  13 +@Configuration(proxyBeanMethods = false)
  14 +public class GardenWebConfiguration {
  15 +
  16 + /**
  17 + * erp 模块的 API 分组
  18 + */
  19 + @Bean
  20 + public GroupedOpenApi erpGroupedOpenApi() {
  21 + return UrbanopsSwaggerAutoConfiguration.buildGroupedOpenApi("garden");
  22 + }
  23 +
  24 +}
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/framework/web/config/package-info.java 0 → 100644
  1 +package com.zteits.urbanops.module.garden.framework.web.config;
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/framework/web/package-info.java 0 → 100644
  1 +package com.zteits.urbanops.module.garden.framework.web;
... ...
urbanops-module-gloabl/src/main/java/com/zteits/urbanops/module/gloabl/framework/package-info.java 0 → 100644
  1 +package com.zteits.urbanops.module.gloabl.framework;
... ...
urbanops-module-gloabl/src/main/java/com/zteits/urbanops/module/gloabl/framework/web/confing/GloablWebConfiguration.java 0 → 100644
  1 +package com.zteits.urbanops.module.gloabl.framework.web.confing;
  2 +
  3 +import com.zteits.urbanops.framework.swagger.config.UrbanopsSwaggerAutoConfiguration;
  4 +import org.springdoc.core.models.GroupedOpenApi;
  5 +import org.springframework.context.annotation.Bean;
  6 +import org.springframework.context.annotation.Configuration;
  7 +
  8 +/**
  9 + * erp 模块的 web 组件的 Configuration
  10 + *
  11 + * @author ZIEITS
  12 + */
  13 +@Configuration(proxyBeanMethods = false)
  14 +public class GloablWebConfiguration {
  15 +
  16 + /**
  17 + * erp 模块的 API 分组
  18 + */
  19 + @Bean
  20 + public GroupedOpenApi erpGroupedOpenApi() {
  21 + return UrbanopsSwaggerAutoConfiguration.buildGroupedOpenApi("gloabl");
  22 + }
  23 +
  24 +}
... ...
urbanops-module-gloabl/src/main/java/com/zteits/urbanops/module/gloabl/framework/web/package-info.java 0 → 100644
  1 +package com.zteits.urbanops.module.gloabl.framework.web;
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java
... ... @@ -8,6 +8,8 @@ import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils;
8 8 import com.zteits.urbanops.module.bpm.api.task.BpmProcessInstanceApi;
9 9 import com.zteits.urbanops.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
10 10 import com.zteits.urbanops.module.bpm.enums.task.BpmTaskStatusEnum;
  11 +import com.zteits.urbanops.module.garden.api.road.RoadApi;
  12 +import com.zteits.urbanops.module.garden.api.road.dto.RoadStreetRespDTO;
11 13 import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant;
12 14 import com.zteits.urbanops.module.workorder.api.workorder.WorkOrderApi;
13 15 import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderCreateReqVO;
... ... @@ -52,6 +54,9 @@ public class BpmGardenServiceImpl implements BpmGardenService{
52 54 @Resource
53 55 private WorkOrderApi workOrderApi;
54 56  
  57 + @Resource
  58 + private RoadApi roadApi;
  59 +
55 60 @Override
56 61 @Transactional(rollbackFor = Exception.class)
57 62 public Long createWorkOrderQuick(AppGardenWorkOrderReqVO createRequestVo) {
... ... @@ -62,17 +67,20 @@ public class BpmGardenServiceImpl implements BpmGardenService{
62 67 // 插入 工单
63 68 MainInfoDO workOrder = BeanUtils.toBean(createRequestVo, MainInfoDO.class)
64 69 .setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
65   - //TODO 设置其它值 需从道路表获取
66   - workOrder.setStreetId("test");
67   - workOrder.setBuzStatus("t1");//需给出映射关系
68   - workOrder.setCommitDate(LocalDateTime.now());
69   - String workOrderNum = workOrderApi.generateWONum(BpmCommonConstant.WORK_ORDER_PREFFIX_QUICK);
70   - workOrder.setOrderNo(workOrderNum);
71   - workOrder.setOrderName("园林工单");
  70 +
  71 + RoadStreetRespDTO roadStreetRespDTO = roadApi.getRoadInfoById(createRequestVo.getRoadId());
  72 + workOrder.setStreetId(roadStreetRespDTO.getStreetId());
  73 + workOrder.setStreetName(roadStreetRespDTO.getStreetName());
  74 +
  75 + //workOrder.setBuzStatus("t1");//需给出映射关系
72 76 workOrder.setCompanyId(SecurityFrameworkUtils.getCompanyId());
73 77 workOrder.setBusiLine(SecurityFrameworkUtils.getBusiLine());
74 78 workOrder.setUserId(SecurityFrameworkUtils.getLoginUserId());
75 79 workOrder.setUserName(SecurityFrameworkUtils.getLoginUserNickname());
  80 + workOrder.setCommitDate(LocalDateTime.now());
  81 + String workOrderNum = workOrderApi.generateWONum(BpmCommonConstant.WORK_ORDER_PREFFIX_QUICK);
  82 + workOrder.setOrderNo(workOrderNum);
  83 + //workOrder.setOrderName("园林工单");
76 84 workOrderMapper.insert(workOrder);
77 85  
78 86 //附件插入
... ... @@ -100,19 +108,19 @@ public class BpmGardenServiceImpl implements BpmGardenService{
100 108  
101 109 MainInfoDO workOrder = BeanUtils.toBean(createRequestVo, MainInfoDO.class)
102 110 .setStatus(BpmTaskStatusEnum.NOT_START.getStatus());
103   - //TODO 设置其它值 需从道路表获取
104   - workOrder.setStreetId("test");
  111 + RoadStreetRespDTO roadStreetRespDTO = roadApi.getRoadInfoById(createRequestVo.getRoadId());
  112 + workOrder.setStreetId(roadStreetRespDTO.getStreetId());
  113 + workOrder.setStreetName(roadStreetRespDTO.getStreetName());
105 114 //workOrder.setBuzStatus("t1");//需给出映射关系
106   - //workOrder.setCommitDate(LocalDateTime.now());
  115 + workOrder.setCommitDate(LocalDateTime.now());
107 116 workOrder.setCompanyId(SecurityFrameworkUtils.getCompanyId());
108 117 workOrder.setBusiLine(SecurityFrameworkUtils.getBusiLine());
  118 + workOrder.setUserId(SecurityFrameworkUtils.getLoginUserId());
  119 + workOrder.setUserName(SecurityFrameworkUtils.getLoginUserNickname());
  120 + workOrder.setCommitDate(LocalDateTime.now());
109 121 String workOrderNum = workOrderApi.generateWONum(BpmCommonConstant.WORK_ORDER_PREFFIX_GARDEN);
110 122 workOrder.setOrderNo(workOrderNum);
111 123 //workOrder.setOrderName("园林工单");
112   - Long userId = com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId();
113   - String nickname = com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserNickname();
114   - workOrder.setUserId(userId);
115   - workOrder.setUserName(nickname);
116 124 workOrderMapper.insert(workOrder);
117 125 //附件插入
118 126 attachmentApend(imgList,null,longRangeImgList,workOrder);
... ...