From 4ea0b415041ffff5f0502db09e2c1dc032c2cae9 Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Sat, 26 Oct 2024 17:19:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=89=B9=E8=89=B2=E4=B8=93=E5=8C=BA?= =?UTF-8?q?=E4=B8=93=E9=A1=B9=E9=A1=B9=E7=9B=AE):=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=B8=93=E9=A1=B9=E9=A1=B9=E7=9B=AE=E5=85=B3=E8=81=94=E6=97=B6?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=85=B3=E8=81=94=E5=AF=B9=E8=B1=A1=E8=AF=A6?= =?UTF-8?q?=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: OTTO <731554297@qq.com> --- .../cms/doc/controller/CmsDocController.java | 5 ++++- .../domain/ZoneSpecialProjectRelevancy.java | 11 +++++++++++ ...oneSpecialProjectRelevancyServiceImpl.java | 19 +++++++++++++++---- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/microservices-modules/microservices-modules-cms/src/main/java/com/microservices/cms/doc/controller/CmsDocController.java b/microservices-modules/microservices-modules-cms/src/main/java/com/microservices/cms/doc/controller/CmsDocController.java index 670721f5a..97ad02f3f 100644 --- a/microservices-modules/microservices-modules-cms/src/main/java/com/microservices/cms/doc/controller/CmsDocController.java +++ b/microservices-modules/microservices-modules-cms/src/main/java/com/microservices/cms/doc/controller/CmsDocController.java @@ -309,6 +309,9 @@ public class CmsDocController extends BaseController { @GetMapping("/getJSONObject/{cmsDocId}") R selectCmsDocJSONObjectById(@PathVariable(value = "cmsDocId") Long cmsDocId) { CmsDoc cmsDoc = cmsDocService.selectBaseCmsDocById(cmsDocId); - return R.ok(JSONObject.from(cmsDoc)); + JSONObject cmsDocJSONObject = JSONObject.from(cmsDoc); + String docDetailUrl = cmsDocService.getDocDetailUrl(cmsDoc.getDeptId(), cmsDoc.getId()); + cmsDocJSONObject.put("docDetailUrl", docDetailUrl); + return R.ok(cmsDocJSONObject); } } diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/specialProject/domain/ZoneSpecialProjectRelevancy.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/specialProject/domain/ZoneSpecialProjectRelevancy.java index fee4d5987..40811ed7b 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/specialProject/domain/ZoneSpecialProjectRelevancy.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/specialProject/domain/ZoneSpecialProjectRelevancy.java @@ -1,7 +1,9 @@ package com.microservices.zone.specialProject.domain; +import com.alibaba.fastjson2.JSONObject; import com.fasterxml.jackson.annotation.JsonIgnore; import com.microservices.zone.detail.domain.ZoneSort; +import com.microservices.zone.project.domain.vo.ZoneProjectDataVo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -41,6 +43,15 @@ public class ZoneSpecialProjectRelevancy extends ZoneSort { @ApiModelProperty(value = "专项项目关联对象id") private Long relevancyId; + + @ApiModelProperty(value = "专项项目关联文章对象") + private JSONObject cmsDoc; + + @ApiModelProperty(value = "专项项目关联项目对象") + private ZoneProjectDataVo zoneProject; + + + /** * 专项项目id */ diff --git a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/specialProject/service/impl/ZoneSpecialProjectRelevancyServiceImpl.java b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/specialProject/service/impl/ZoneSpecialProjectRelevancyServiceImpl.java index 057997ab5..212cebd08 100644 --- a/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/specialProject/service/impl/ZoneSpecialProjectRelevancyServiceImpl.java +++ b/microservices-modules/microservices-modules-zone/src/main/java/com/microservices/zone/specialProject/service/impl/ZoneSpecialProjectRelevancyServiceImpl.java @@ -9,7 +9,6 @@ import com.microservices.common.security.utils.SecurityUtils; import com.microservices.system.api.RemoteCmsService; import com.microservices.system.api.utils.FeignUtils; import com.microservices.zone.common.service.IZoneSortService; -import com.microservices.zone.detail.service.IZoneDetailService; import com.microservices.zone.project.domain.vo.ZoneProjectDataVo; import com.microservices.zone.project.service.IZoneProjectService; import com.microservices.zone.specialProject.domain.ZoneSpecialProject; @@ -41,8 +40,6 @@ public class ZoneSpecialProjectRelevancyServiceImpl implements IZoneSpecialProje @Autowired private IZoneSortService zoneSortService; @Autowired - private IZoneDetailService zoneDetailService; - @Autowired private IZoneProjectService zoneProjectService; @Autowired private RemoteCmsService remoteCmsService; @@ -62,6 +59,17 @@ public class ZoneSpecialProjectRelevancyServiceImpl implements IZoneSpecialProje if (zoneSpecialProjectRelevancy == null) { throw new ServiceException("该专项项目关联关系不存在或无权限访问(专项项目关联关系id[" + id + "])"); } + return setZoneSpecialProjectRelevancyDetail(zoneSpecialProjectRelevancy); + } + + private ZoneSpecialProjectRelevancy setZoneSpecialProjectRelevancyDetail(ZoneSpecialProjectRelevancy zoneSpecialProjectRelevancy) { + if (ZoneSpecialProjectRelevancyTypeEnum.isProject(zoneSpecialProjectRelevancy.getType())) { + ZoneProjectDataVo zoneProjectDataVo = zoneProjectService.selectZoneProjectDataById(zoneSpecialProjectRelevancy.getRelevancyId()); + zoneSpecialProjectRelevancy.setZoneProject(zoneProjectDataVo); + } else { + JSONObject jsonObject = FeignUtils.getReturnData(remoteCmsService.selectCmsDocJSONObjectById(zoneSpecialProjectRelevancy.getRelevancyId(), SecurityConstants.INNER)); + zoneSpecialProjectRelevancy.setCmsDoc(jsonObject); + } return zoneSpecialProjectRelevancy; } @@ -73,7 +81,10 @@ public class ZoneSpecialProjectRelevancyServiceImpl implements IZoneSpecialProje */ @Override public List selectZoneSpecialProjectRelevancyList(ZoneSpecialProjectRelevancy zoneSpecialProjectRelevancy) { - return zoneSpecialProjectRelevancyMapper.selectZoneSpecialProjectRelevancyList(zoneSpecialProjectRelevancy); + List zoneSpecialProjectRelevancyList = + zoneSpecialProjectRelevancyMapper.selectZoneSpecialProjectRelevancyList(zoneSpecialProjectRelevancy); + zoneSpecialProjectRelevancyList.forEach(this::setZoneSpecialProjectRelevancyDetail); + return zoneSpecialProjectRelevancyList; } /**