From d6df4ca797ee1c6ce8fa78768f5425f187734bd9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 18 一月 2021 18:44:08 +0800 Subject: [PATCH] 外网部署参数修改 --- service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenServiceImpl.java | 62 +++++++++++++++++++----------- 1 files changed, 39 insertions(+), 23 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 9c5e90d..31df726 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 @@ -1,9 +1,6 @@ package com.ks.lucky.service.impl.remote; -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.exception.*; import com.ks.lucky.mapper.LuckyActivityMapper; import com.ks.lucky.pojo.DO.LuckyActivity; import com.ks.lucky.pojo.DO.LuckyActivityAwards; @@ -14,7 +11,6 @@ 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; @@ -23,7 +19,7 @@ import java.util.Map; import java.util.Set; -@Service(version = "1.0") +@Service(version = "1.0.0") public class LuckyActivityOpenServiceImpl implements LuckyActivityOpenService { @Resource @@ -31,6 +27,7 @@ @Resource private LuckyActivityMapper luckyActivityMapper; + @Resource private LuckyActivityOpenInfoManager luckyActivityOpenInfoManager; @@ -51,7 +48,7 @@ * @param activity * @return */ - private boolean canOpen(LuckyActivity activity) throws LuckyActivityException { + private boolean canOpen(LuckyActivity activity) throws LuckyActivityException, LuckyActivityOpenException { long now = System.currentTimeMillis(); if (activity.getState() != LuckyActivity.STATE_FINISH) { throw new LuckyActivityException(1, "娲诲姩灏氭湭缁撴潫"); @@ -59,16 +56,19 @@ LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activity.getId()); - //鏈揪鍒版渶浣庡紑濂栦汉鏁� - if (activity.getCurrentPersonCount() < openInfo.getMinPersonCount()) { - throw new LuckyActivityException(2, "灏氭湭杈惧埌鏈�浣庡紑濂栦汉鏁�"); - } //鍒拌揪鏈�浣庡紑濂栦汉鏁板氨寮�濂� - if (activity.getPreOpenTime() != null) { - if (activity.getPreOpenTime().getTime() > now) { + if (openInfo.getPreOpenTime() != null) { + if (openInfo.getPreOpenTime().getTime() > now) { throw new LuckyActivityException(2, "灏氭湭杈惧埌寮�濂栨椂闂�"); } + } else { + throw new LuckyActivityException(2, "灏氭湭杈惧埌寮�濂栨椂闂�"); + } + + //鏈揪鍒版渶浣庡紑濂栦汉鏁� + if (activity.getCurrentPersonCount() < openInfo.getMinPersonCount()) { + throw new LuckyActivityOpenException(LuckyActivityOpenException.CODE_NOT_REACH_OPEN_PERSON_COUNT, "灏氭湭杈惧埌鏈�浣庡紑濂栦汉鏁�"); } return true; } @@ -86,6 +86,14 @@ //鍒ゆ柇鏄惁杈惧埌寮�濂栨潯浠� try { canOpen(activity); + } catch (LuckyActivityOpenException e) { + if (e.getCode() == LuckyActivityOpenException.CODE_NOT_REACH_OPEN_PERSON_COUNT) { + //寮�濂栧け璐� + luckyActivityManager.setState(activityId, LuckyActivity.STATE_OPEN_FAIL, "浜烘暟鏈揪鍒板紑濂栦汉鏁�,寮�濂栧け璐�"); + return; + } else { + throw new LuckyActivityOpenException(1, "灏氭湭杈惧埌寮�濂栨潯浠�"); + } } catch (LuckyActivityException e) { throw new LuckyActivityOpenException(1, "灏氭湭杈惧埌寮�濂栨潯浠�"); } @@ -108,19 +116,15 @@ //鏇存柊鐘舵�� - LuckyActivity update = new LuckyActivity(); - update.setId(activityId); - update.setState(LuckyActivity.STATE_PRE_OPENED); - update.setStateRemarks("棰勫紑濂栨垚鍔�"); - update.setUpdateTime(new Date()); - luckyActivityMapper.updateByPrimaryKeySelective(update); + luckyActivityManager.setState(activityId,LuckyActivity.STATE_PRE_OPENED,"棰勫紑濂栨垚鍔�"); + //娣诲姞娑堟伅 CMQManager.getInstance().addActivityMsg(new ActivityMQMsg(activityId, ActivityMQMsg.TYPE_OPEN_SHOW, new Date())); } @Transactional(rollbackFor = Exception.class) @Override - public void showOpenAward(Long activityId) throws LuckyActivityException { + public void showOpenAward(Long activityId) throws LuckyActivityException, LuckyActivityOpenInfoException { LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId); if (activity.getState() != LuckyActivity.STATE_PRE_OPENED) { throw new LuckyActivityException(1, "灏氭湭寮�濂�"); @@ -131,14 +135,25 @@ update.setUpdateTime(new Date()); update.setState(LuckyActivity.STATE_OPENED); update.setStateRemarks("宸插紑濂�"); - luckyActivityMapper.updateByPrimaryKeySelective(update); + luckyActivityManager.updateSelectiveByPrimaryKey(update); + + //璁剧疆瀹為檯寮�濂栨椂闂� + LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activityId); + LuckyActivityOpenInfo updateOpenInfo = new LuckyActivityOpenInfo(); + updateOpenInfo.setId(openInfo.getId()); + updateOpenInfo.setActualOpenTime(new Date()); + luckyActivityOpenInfoManager.updateOpenInfo(updateOpenInfo, activityId); //鍏堣缃墍鏈夎褰曟湭涓 luckyActivityJoinManager.setActivityAllJoinerUnDraw(activityId); //璁剧疆涓鐢ㄦ埛鐘舵�佷负涓 luckyActivityJoinManager.setActivityDrawnJoinerState(activityId); - luckyActivityAwardResultManager.setResultShow(activityId); + try { + luckyActivityAwardResultManager.setResultShow(activityId); + } catch (LuckyMQException e) { + throw new LuckyActivityException(10, "娣诲姞MQ鍑洪敊"); + } } @Override @@ -148,7 +163,8 @@ throw new LuckyActivityException(LuckyActivityException.CODE_NOT_EXIST, "娲诲姩涓嶅瓨鍦�"); } //濡傛灉鏈缃紑濂栨椂闂达紝涓旀椿鍔ㄦ鍦ㄨ繘琛岋紝灏卞垽鏂槸鍚﹁揪鍒版渶浣庝汉鏁� - if (activity.getPreOpenTime() == null) { + LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activityId); + if (openInfo.getPreOpenTime() == null) { if (activity.getState() == LuckyActivity.STATE_STARTED) { try { luckyActivityManager.finishActivity(activityId, false, "杈惧埌鏈�浣庡紑濂栦汉鏁�"); -- Gitblit v1.8.0