admin
2020-12-02 a2fe11f549f52e887937dbdb63d967a09d3a3f21
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java
@@ -121,15 +121,15 @@
     */
    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, "活动开始结束时间不能小于开始时间");
        }
@@ -185,29 +185,25 @@
            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 {
            //审核未通过
@@ -216,18 +212,15 @@
    }
    @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)
@@ -251,6 +244,17 @@
            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
@@ -282,6 +286,10 @@
        if (activity.getState() != null) {
            throw new LuckyActivityException(1, "不能更改活动状态");
        }
        if (!luckyActivityManager.canUpdate(activity.getId())) {
            throw new LuckyActivityException(1, "当前活动不能修改");
        }
        activity.setUpdateTime(new Date());
        luckyActivityMapper.updateByPrimaryKeySelective(activity);
    }