| | |
| | | import cn.iocoder.yudao.module.wxcp.dal.dataobject.activity.WxCpActivityDO; |
| | | import cn.iocoder.yudao.module.wxcp.dal.dataobject.activity.WxCpActivitySignupDO; |
| | | import cn.iocoder.yudao.module.wxcp.enums.activity.WxCpActivityStatusEnum; |
| | | import cn.iocoder.yudao.module.wxcp.enums.activity.WxCpActivityTypeEnum; |
| | | import cn.iocoder.yudao.module.wxcp.enums.activity.WxCpPushScopeEnum; |
| | | import cn.iocoder.yudao.module.wxcp.enums.activity.WxCpSignupStatusEnum; |
| | | import cn.iocoder.yudao.module.wxcp.service.activity.WxCpActivityService; |
| | |
| | | @PreAuthorize("@ss.hasPermission('wxcp:activity:query')") |
| | | public CommonResult<PageResult<WxCpActivityRespVO>> getActivityPage(@Valid WxCpActivityPageReqVO pageReqVO) { |
| | | PageResult<WxCpActivityDO> pageResult = activityService.getActivityPage(pageReqVO); |
| | | return success(BeanUtils.toBean(pageResult, WxCpActivityRespVO.class, this::fillActivityNames)); |
| | | PageResult<WxCpActivityRespVO> result = BeanUtils.toBean(pageResult, WxCpActivityRespVO.class); |
| | | result.getList().forEach(this::fillActivityExtra); |
| | | return success(result); |
| | | } |
| | | |
| | | @PutMapping("/publish") |
| | |
| | | } |
| | | WxCpSignupStatusEnum status = WxCpSignupStatusEnum.valueOf(vo.getStatus()); |
| | | vo.setStatusName(status != null ? status.getName() : null); |
| | | vo.setFieldValues(activityService.getSignupValues(vo.getId()).stream() |
| | | .map(value -> BeanUtils.toBean(value, WxCpSignupValueRespVO.class)) |
| | | .toList()); |
| | | }); |
| | | return success(result); |
| | | } |
| | |
| | | return null; |
| | | } |
| | | WxCpActivityRespVO vo = BeanUtils.toBean(activity, WxCpActivityRespVO.class); |
| | | fillActivityNames(vo); |
| | | fillActivityExtra(vo); |
| | | return vo; |
| | | } |
| | | |
| | | private void fillActivityNames(WxCpActivityRespVO vo) { |
| | | /** |
| | | * 补齐状态名、推送范围名与封面附件 |
| | | * |
| | | * 封面/详情图不落业务表字段,统一从 system_storage_attachment 中间表读, |
| | | * 前端取 attachmentList[0].previewURL 展示封面,detailAttachmentList 回显详情图。 |
| | | */ |
| | | private void fillActivityExtra(WxCpActivityRespVO vo) { |
| | | WxCpActivityStatusEnum status = WxCpActivityStatusEnum.valueOf(vo.getStatus()); |
| | | vo.setStatusName(status != null ? status.getName() : null); |
| | | WxCpPushScopeEnum scope = WxCpPushScopeEnum.valueOf(vo.getPushScope()); |
| | | vo.setPushScopeName(scope != null ? scope.getName() : null); |
| | | WxCpActivityTypeEnum type = WxCpActivityTypeEnum.valueOf(vo.getActivityType()); |
| | | vo.setActivityTypeName(type != null ? type.getName() : null); |
| | | if (vo.getId() != null) { |
| | | vo.setAttachmentList(activityService.getActivityAttachments(vo.getId())); |
| | | vo.setDetailAttachmentList(activityService.getActivityDetailAttachments(vo.getId())); |
| | | vo.setImageAttachmentList(activityService.getActivityImageAttachments(vo.getId())); |
| | | vo.setFileAttachmentList(activityService.getActivityFileAttachments(vo.getId())); |
| | | vo.setFieldList(activityService.getActivityFields(vo.getId()).stream() |
| | | .map(field -> BeanUtils.toBean(field, WxCpActivityFieldRespVO.class)) |
| | | .toList()); |
| | | } |
| | | } |
| | | |
| | | } |