@Override
  public String execute() throws Exception {

    promotion = getPromotion();

    if (promotion != null) {

      Long promotionId = promotion.getId();

      // 活动商品
      DcPromotionItemSearchCondition promotionCondition = new DcPromotionItemSearchCondition();
      promotionCondition.setPromotionId(promotionId);

      // 历史获奖
      DcPromotionAwardCondition awardCondition = new DcPromotionAwardCondition();
      awardCondition.setPromotionType(DcPromotionTypeEnum.PK.getType());
      awardCondition.setReviewStatus(DcPromotionAwardReviewStatusEnums.SUCCESS.getStatus());
      awardHisList =
          dcPromotionAwardService.getAwardsNoPagination(awardCondition, new Pagination(1, 15));
    }

    // 取出所有ID的商品
    List<Long> idList = mergeIds(null, awardHisList);

    DcPromotionItemDTO myPromotionItem = getMyPromotionItem();
    if (myPromotionItem != null) {
      idList.add(myPromotionItem.getItemId());
    }

    List<DcItemDTO> itemList = dcItemService.getItemsByIds(idList);
    itemMap = new HashMap<Long, DcItemDTO>();
    for (DcItemDTO dto : itemList) {
      itemMap.put(dto.getId(), dto);
    }

    return SUCCESS;
  }