From a2fe11f549f52e887937dbdb63d967a09d3a3f21 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 02 十二月 2020 18:54:38 +0800 Subject: [PATCH] 抽奖核心服务完善,天天抽奖服务基本搭建 --- service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 35 insertions(+), 8 deletions(-) diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenServiceImpl.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenServiceImpl.java index 52ade23..f210a2d 100644 --- a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenServiceImpl.java +++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenServiceImpl.java @@ -2,17 +2,19 @@ import com.ks.lucky.exception.LuckyActivityAwardException; import com.ks.lucky.exception.LuckyActivityException; +import com.ks.lucky.exception.LuckyActivityOpenException; +import com.ks.lucky.exception.LuckyMQException; import com.ks.lucky.mapper.LuckyActivityMapper; import com.ks.lucky.pojo.DO.LuckyActivity; import com.ks.lucky.pojo.DO.LuckyActivityAwards; import com.ks.lucky.pojo.DO.LuckyActivityOpenInfo; +import com.ks.lucky.pojo.DTO.ActivityMQMsg; import com.ks.lucky.remote.service.LuckyActivityOpenService; -import com.ks.lucky.service.impl.LuckyActivityAwardManager; -import com.ks.lucky.service.impl.LuckyActivityAwardResultManager; -import com.ks.lucky.service.impl.LuckyActivityJoinManager; -import com.ks.lucky.service.impl.LuckyActivityOpenInfoManager; +import com.ks.lucky.service.impl.*; import com.ks.lucky.util.LuckyRunUtil; +import com.ks.lucky.util.mq.CMQManager; import org.apache.dubbo.config.annotation.Service; +import org.omg.PortableServer.THREAD_POLICY_ID; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -39,6 +41,9 @@ @Resource private LuckyActivityAwardResultManager luckyActivityAwardResultManager; + @Resource + private LuckyActivityManager luckyActivityManager; + /** * 鏄惁鍙互寮�濂栦簡 @@ -48,7 +53,6 @@ */ private boolean canOpen(LuckyActivity activity) throws LuckyActivityException { long now = System.currentTimeMillis(); - if (activity.getState() != LuckyActivity.STATE_FINISH) { throw new LuckyActivityException(1, "娲诲姩灏氭湭缁撴潫"); } @@ -72,16 +76,19 @@ @Transactional(rollbackFor = Exception.class) @Override - public void preOpenAward(Long activityId) throws LuckyActivityException, LuckyActivityAwardException { + public void preOpenAward(Long activityId) throws LuckyActivityException, LuckyActivityOpenException, LuckyActivityAwardException { //鍒ゆ柇娲诲姩鐘舵�� LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId); if (activity == null) { throw new LuckyActivityException(LuckyActivityException.CODE_NOT_EXIST, "娲诲姩涓嶅瓨鍦�"); } - //鍒ゆ柇鏄惁杈惧埌寮�濂栨潯浠� - canOpen(activity); + try { + canOpen(activity); + } catch (LuckyActivityException e) { + throw new LuckyActivityOpenException(1, "灏氭湭杈惧埌寮�濂栨潯浠�"); + } //------------璁$畻寮�濂�------------- //鑾峰彇濂栭」鏁版嵁 @@ -107,6 +114,8 @@ update.setStateRemarks("棰勫紑濂栨垚鍔�"); update.setUpdateTime(new Date()); luckyActivityMapper.updateByPrimaryKeySelective(update); + //娣诲姞娑堟伅 + CMQManager.getInstance().addActivityMsg(new ActivityMQMsg(activityId, ActivityMQMsg.TYPE_OPEN_SHOW, new Date())); } @Transactional(rollbackFor = Exception.class) @@ -126,5 +135,23 @@ luckyActivityAwardResultManager.setResultShow(activityId); } + @Override + public void reachMinPerson(Long activityId) throws LuckyActivityException { + LuckyActivity activity = luckyActivityMapper.selectByPrimaryKey(activityId); + if (activity == null) { + throw new LuckyActivityException(LuckyActivityException.CODE_NOT_EXIST, "娲诲姩涓嶅瓨鍦�"); + } + //濡傛灉鏈缃紑濂栨椂闂达紝涓旀椿鍔ㄦ鍦ㄨ繘琛岋紝灏卞垽鏂槸鍚﹁揪鍒版渶浣庝汉鏁� + if (activity.getPreOpenTime() == null) { + if (activity.getState() == LuckyActivity.STATE_STARTED) { + try { + luckyActivityManager.finishActivity(activityId, false, "杈惧埌鏈�浣庡紑濂栦汉鏁�"); + } catch (LuckyMQException e) { + throw new LuckyActivityException(1, e.getMsg()); + } + } + } + } + } -- Gitblit v1.8.0