| | |
| | | */ |
| | | private void checkActivityForPublish(LuckyActivity activity) throws LuckyActivityException { |
| | | notNull(activity); |
| | | if (activity.getStartTime() == null) { |
| | | if (activity.getPreStartTime() == null) { |
| | | throw new LuckyActivityException(1, "活动开始时间未设置"); |
| | | } |
| | | |
| | | if (activity.getStartTime().getTime() < System.currentTimeMillis()) { |
| | | if (activity.getPreStartTime().getTime() < System.currentTimeMillis()) { |
| | | throw new LuckyActivityException(1, "活动开始时间不能小于当前时间"); |
| | | } |
| | | |
| | | if (activity.getFinishTime() != null && activity.getStartTime().getTime() >= activity.getFinishTime().getTime()) { |
| | | if (activity.getPreFinishTime() != null && activity.getPreStartTime().getTime() >= activity.getPreFinishTime().getTime()) { |
| | | throw new LuckyActivityException(1, "活动开始结束时间不能小于开始时间"); |
| | | } |
| | | |
| | |
| | | throw new LuckyActivityException(2, "活动尚未处于已发布状态"); |
| | | } |
| | | |
| | | luckyActivityManager.startUpActivity(activityId); |
| | | |
| | | //尝试删除消息 |
| | | try { |
| | | LuckyMQ mq = LuckyMQFactory.createStartUpActivity(activity); |
| | | luckyMQService.removeUnSendMsg(mq.getTaskId()); |
| | | luckyActivityManager.startUpActivity(activityId); |
| | | } catch (LuckyMQException e) { |
| | | e.printStackTrace(); |
| | | throw new LuckyActivityException(e.getCode(), e.getMsg()); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public void verifyActivity(Long activityId, boolean pass, String remarks) throws LuckyActivityException { |
| | | LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId); |
| | | notNull(activity); |
| | | if (activity.getState() != LuckyActivity.STATE_WAITING_VERIFY) { |
| | | throw new LuckyActivityException(2, "活动尚未处于审核状态"); |
| | | } |
| | | |
| | | //审核活动 |
| | | //审核通过 |
| | | if (pass) { |
| | | //审核通过 |
| | | luckyActivityManager.setState(activityId, LuckyActivity.STATE_NOT_PUBLISH, remarks); |
| | | } else { |
| | | //审核未通过 |
| | |
| | | |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Override |
| | | public void forceFinishActivity(Long activityId, String remarks) throws LuckyActivityException { |
| | | LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId); |
| | | LuckyActivity activity = luckyActivityMapper.selectByPrimaryKey(activityId); |
| | | notNull(activity); |
| | | |
| | | if (activity.getState() != LuckyActivity.STATE_STARTED) { |
| | | throw new LuckyActivityException(1, "活动未处于已开始状态"); |
| | | try { |
| | | luckyActivityManager.finishActivity(activityId, true, remarks); |
| | | } catch (LuckyMQException e) { |
| | | throw new LuckyActivityException(e.getCode(), e.getMsg()); |
| | | } |
| | | |
| | | //设置活动处于强制结束状态 |
| | | luckyActivityManager.setState(activityId, LuckyActivity.STATE_FOUCE_FINISH, remarks); |
| | | } |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | throw new LuckyActivityException(2, e.getMsg()); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void cancelVerify(Long activityId) throws LuckyActivityException { |
| | | LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId); |
| | | notNull(activity); |
| | | if (activity.getState() != LuckyActivity.STATE_WAITING_VERIFY) { |
| | | throw new LuckyActivityException(1, "活动未处于等待审核状态"); |
| | | } |
| | | |
| | | luckyActivityManager.setState(activityId, LuckyActivity.STATE_NOT_SUBMIT_VERIFY, "主动取消审核"); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (activity.getState() != null) { |
| | | throw new LuckyActivityException(1, "不能更改活动状态"); |
| | | } |
| | | if (!luckyActivityManager.canUpdate(activity.getId())) { |
| | | throw new LuckyActivityException(1, "当前活动不能修改"); |
| | | } |
| | | |
| | | activity.setUpdateTime(new Date()); |
| | | luckyActivityMapper.updateByPrimaryKeySelective(activity); |
| | | } |