feat(特色专区专项项目): 获取专项项目关联时展示关联对象详情

Signed-off-by: OTTO <731554297@qq.com>
This commit is contained in:
OTTO 2024-10-26 17:19:36 +08:00
parent 31bec6db59
commit 4ea0b41504
3 changed files with 30 additions and 5 deletions

View File

@ -309,6 +309,9 @@ public class CmsDocController extends BaseController {
@GetMapping("/getJSONObject/{cmsDocId}") @GetMapping("/getJSONObject/{cmsDocId}")
R<JSONObject> selectCmsDocJSONObjectById(@PathVariable(value = "cmsDocId") Long cmsDocId) { R<JSONObject> selectCmsDocJSONObjectById(@PathVariable(value = "cmsDocId") Long cmsDocId) {
CmsDoc cmsDoc = cmsDocService.selectBaseCmsDocById(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);
} }
} }

View File

@ -1,7 +1,9 @@
package com.microservices.zone.specialProject.domain; package com.microservices.zone.specialProject.domain;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.microservices.zone.detail.domain.ZoneSort; import com.microservices.zone.detail.domain.ZoneSort;
import com.microservices.zone.project.domain.vo.ZoneProjectDataVo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -41,6 +43,15 @@ public class ZoneSpecialProjectRelevancy extends ZoneSort {
@ApiModelProperty(value = "专项项目关联对象id") @ApiModelProperty(value = "专项项目关联对象id")
private Long relevancyId; private Long relevancyId;
@ApiModelProperty(value = "专项项目关联文章对象")
private JSONObject cmsDoc;
@ApiModelProperty(value = "专项项目关联项目对象")
private ZoneProjectDataVo zoneProject;
/** /**
* 专项项目id * 专项项目id
*/ */

View File

@ -9,7 +9,6 @@ import com.microservices.common.security.utils.SecurityUtils;
import com.microservices.system.api.RemoteCmsService; import com.microservices.system.api.RemoteCmsService;
import com.microservices.system.api.utils.FeignUtils; import com.microservices.system.api.utils.FeignUtils;
import com.microservices.zone.common.service.IZoneSortService; 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.domain.vo.ZoneProjectDataVo;
import com.microservices.zone.project.service.IZoneProjectService; import com.microservices.zone.project.service.IZoneProjectService;
import com.microservices.zone.specialProject.domain.ZoneSpecialProject; import com.microservices.zone.specialProject.domain.ZoneSpecialProject;
@ -41,8 +40,6 @@ public class ZoneSpecialProjectRelevancyServiceImpl implements IZoneSpecialProje
@Autowired @Autowired
private IZoneSortService zoneSortService; private IZoneSortService zoneSortService;
@Autowired @Autowired
private IZoneDetailService zoneDetailService;
@Autowired
private IZoneProjectService zoneProjectService; private IZoneProjectService zoneProjectService;
@Autowired @Autowired
private RemoteCmsService remoteCmsService; private RemoteCmsService remoteCmsService;
@ -62,6 +59,17 @@ public class ZoneSpecialProjectRelevancyServiceImpl implements IZoneSpecialProje
if (zoneSpecialProjectRelevancy == null) { if (zoneSpecialProjectRelevancy == null) {
throw new ServiceException("该专项项目关联关系不存在或无权限访问(专项项目关联关系id[" + id + "])"); 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; return zoneSpecialProjectRelevancy;
} }
@ -73,7 +81,10 @@ public class ZoneSpecialProjectRelevancyServiceImpl implements IZoneSpecialProje
*/ */
@Override @Override
public List<ZoneSpecialProjectRelevancy> selectZoneSpecialProjectRelevancyList(ZoneSpecialProjectRelevancy zoneSpecialProjectRelevancy) { public List<ZoneSpecialProjectRelevancy> selectZoneSpecialProjectRelevancyList(ZoneSpecialProjectRelevancy zoneSpecialProjectRelevancy) {
return zoneSpecialProjectRelevancyMapper.selectZoneSpecialProjectRelevancyList(zoneSpecialProjectRelevancy); List<ZoneSpecialProjectRelevancy> zoneSpecialProjectRelevancyList =
zoneSpecialProjectRelevancyMapper.selectZoneSpecialProjectRelevancyList(zoneSpecialProjectRelevancy);
zoneSpecialProjectRelevancyList.forEach(this::setZoneSpecialProjectRelevancyDetail);
return zoneSpecialProjectRelevancyList;
} }
/** /**