/** * 卸载活动 * * @param userId * @param activityId */ public void unpublishActivity(Long userId, Long activityId) { logger.info("start to unpublish activity, userId[{}] activityId[{}]", userId, activityId); PosterRecommendActivity activity = posterRecommendActivityDAO.selectByUserIdAndActivityId(userId, activityId); if (null == activity) { return; } if (!ALL_PUBLISHED_ACTIVITY_STATUS.contains(activity.getStatus())) { logger.info( "userId[{}] activity[{}] status[{}] is not one of [{}], skip.", userId, activity, activity.getStatus(), ALL_PUBLISHED_ACTIVITY_STATUS); return; } // 开始卸载详情页海报 PosterRecommendActivity newActivity = new PosterRecommendActivity(); newActivity.setUserId(userId); newActivity.setId(activityId); newActivity.setStatus(PosterRecommendConstants.ACTIVITY_STATUS_UNPUBLISHING); newActivity.setUnpublishTime(appService.getLocalSystemTime().toDate()); newActivity.setUnpublishOwner(appService.getOwner()); posterRecommendActivityDAO.updateByUserIdAndActivityIdSelective(newActivity); // 卸载单个宝贝 List<PosterRecommendPublishItem> publishItems = posterRecommendPublishItemDAO.selectByUserIdAndActivityId(userId, activityId); List<Exception> exceptions = Lists.newArrayList(); for (PosterRecommendPublishItem publishItem : publishItems) { try { unpublishItem(userId, activityId, publishItem.getItemNumIid()); } catch (TaobaoAccessControlException e) { exceptions.add(e); } catch (TaobaoEnhancedApiException e) { exceptions.add(e); } catch (TaobaoSessionExpiredException e) { exceptions.add(e); } } // 结束投放活动 if (CollectionUtils.isEmpty(exceptions)) { newActivity.setStatus(ACTIVITY_STATUS_UNPUBLISHED); } else { newActivity.setStatus(ACTIVITY_STATUS_UNPUBLISHED_WITH_ERROR); } posterRecommendActivityDAO.updateByUserIdAndActivityIdSelective(newActivity); }
/** * 投放活动到详情页 * * @param userId * @param activityId */ public void publishActivity(Long userId, Long activityId) { PosterRecommendActivity activity = posterRecommendActivityDAO.selectByUserIdAndActivityId(userId, activityId); if (null == activity) { return; } // 开始投放活动 PosterRecommendActivity newActivity = new PosterRecommendActivity(); newActivity.setUserId(userId); newActivity.setId(activityId); newActivity.setStatus(PosterRecommendConstants.ACTIVITY_STATUS_PUBLISHING); newActivity.setPublishTime(appService.getLocalSystemTime().toDate()); newActivity.setPublishOwner(appService.getOwner()); posterRecommendActivityDAO.updateByUserIdAndActivityIdSelective(newActivity); // 投放单个宝贝 List<PosterRecommendPublishItem> publishItems = posterRecommendPublishItemDAO.selectByUserIdAndActivityId(userId, activityId); List<Exception> exceptions = Lists.newArrayList(); for (PosterRecommendPublishItem publishItem : publishItems) { try { publish2Item(userId, activityId, publishItem.getItemNumIid(), activity.getPublishHtml()); } catch (TaobaoAccessControlException e) { exceptions.add(e); } catch (TaobaoEnhancedApiException e) { exceptions.add(e); } catch (TaobaoSessionExpiredException e) { exceptions.add(e); } } // 结束投放活动 if (CollectionUtils.isEmpty(exceptions)) { newActivity.setStatus(PosterRecommendConstants.ACTIVITY_STATUS_PUBLISHED); } else { newActivity.setStatus(PosterRecommendConstants.ACTIVITY_STATUS_PUBLISHED_WITH_ERROR); } posterRecommendActivityDAO.updateByUserIdAndActivityIdSelective(newActivity); }