| | |
| | | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| | | import cn.iocoder.yudao.module.system.controller.admin.storage.vo.SystemStorageBlobRespVO; |
| | | import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticeArticleRespVO; |
| | | import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticePageReqVO; |
| | | import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticeRespVO; |
| | | import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticeSaveReqVO; |
| | |
| | | import cn.iocoder.yudao.module.wxcp.dal.dataobject.notice.WxCpNoticeDO; |
| | | import cn.iocoder.yudao.module.wxcp.enums.activity.WxCpPushScopeEnum; |
| | | import cn.iocoder.yudao.module.wxcp.enums.notice.WxCpNoticeStatusEnum; |
| | | import cn.iocoder.yudao.module.wxcp.enums.notice.WxCpNoticeTypeEnum; |
| | | import cn.iocoder.yudao.module.wxcp.service.notice.WxCpNoticeService; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.Parameter; |
| | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| | | |
| | |
| | | } |
| | | WxCpNoticeRespVO vo = BeanUtils.toBean(notice, WxCpNoticeRespVO.class); |
| | | fillNames(vo); |
| | | // 素材详情需要回显,列表页不回显以免多查附件表 |
| | | vo.setImageAttachmentList(noticeService.getNoticeImageAttachments(notice.getId())); |
| | | vo.setFileAttachmentList(noticeService.getNoticeFileAttachments(notice.getId())); |
| | | vo.setVideoAttachmentList(noticeService.getNoticeVideoAttachments(notice.getId())); |
| | | vo.setImageBlobIds(vo.getImageAttachmentList().stream() |
| | | .map(SystemStorageBlobRespVO::getId).toList()); |
| | | vo.setFileBlobIds(vo.getFileAttachmentList().stream() |
| | | .map(SystemStorageBlobRespVO::getId).toList()); |
| | | vo.setVideoBlobIds(vo.getVideoAttachmentList().stream() |
| | | .map(SystemStorageBlobRespVO::getId).toList()); |
| | | vo.setArticleList(noticeService.getNoticeArticles(notice.getId()).stream().map(article -> { |
| | | WxCpNoticeArticleRespVO item = BeanUtils.toBean(article, WxCpNoticeArticleRespVO.class); |
| | | List<SystemStorageBlobRespVO> covers = |
| | | noticeService.getNoticeArticleCoverAttachments(article.getId()); |
| | | item.setCoverAttachment(covers.isEmpty() ? null : covers.get(0)); |
| | | return item; |
| | | }).toList()); |
| | | return vo; |
| | | } |
| | | |
| | | private void fillNames(WxCpNoticeRespVO vo) { |
| | | WxCpNoticeStatusEnum status = WxCpNoticeStatusEnum.valueOf(vo.getStatus()); |
| | | vo.setStatusName(status != null ? status.getName() : null); |
| | | WxCpNoticeTypeEnum type = WxCpNoticeTypeEnum.valueOf(vo.getNoticeType()); |
| | | vo.setNoticeTypeName(type != null ? type.getName() : null); |
| | | WxCpPushScopeEnum scope = WxCpPushScopeEnum.valueOf(vo.getPushScope()); |
| | | vo.setPushScopeName(scope != null ? scope.getName() : null); |
| | | // 预览链接只依赖配置,列表页也能直接给出,方便管理员复制发给成员 |
| | | vo.setPreviewUrl(noticeService.buildPreviewUrl(vo.getId())); |
| | | } |
| | | |
| | | } |