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}")
R<JSONObject> 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);
}
}

View File

@ -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
*/

View File

@ -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<ZoneSpecialProjectRelevancy> selectZoneSpecialProjectRelevancyList(ZoneSpecialProjectRelevancy zoneSpecialProjectRelevancy) {
return zoneSpecialProjectRelevancyMapper.selectZoneSpecialProjectRelevancyList(zoneSpecialProjectRelevancy);
List<ZoneSpecialProjectRelevancy> zoneSpecialProjectRelevancyList =
zoneSpecialProjectRelevancyMapper.selectZoneSpecialProjectRelevancyList(zoneSpecialProjectRelevancy);
zoneSpecialProjectRelevancyList.forEach(this::setZoneSpecialProjectRelevancyDetail);
return zoneSpecialProjectRelevancyList;
}
/**