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/LuckyActivityJoinAssistServiceImpl.java | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinAssistServiceImpl.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinAssistServiceImpl.java index 5210310..b79cbd6 100644 --- a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinAssistServiceImpl.java +++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinAssistServiceImpl.java @@ -1,8 +1,11 @@ package com.ks.lucky.service.impl.remote; +import com.ks.lucky.exception.LuckyActivityException; import com.ks.lucky.exception.LuckyActivityJoinAssistException; import com.ks.lucky.mapper.LuckyActivityJoinAssistMapper; import com.ks.lucky.mapper.LuckyActivityJoinRecordMapper; +import com.ks.lucky.mapper.LuckyActivityMapper; +import com.ks.lucky.pojo.DO.LuckyActivity; import com.ks.lucky.pojo.DO.LuckyActivityJoinAssist; import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord; import com.ks.lucky.query.ActivityJoinAssistQuery; @@ -11,6 +14,7 @@ import com.ks.lucky.service.impl.LuckyActivityJoinManager; import org.apache.dubbo.config.annotation.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.Date; @@ -31,17 +35,37 @@ @Resource private LuckyActivityJoinManager luckyActivityJoinManager; + @Resource + private LuckyActivityMapper luckyActivityMapper; + @Transactional(rollbackFor = Exception.class) + @Validated @Override - public void assist(Long activityId, String appKey, String uid, String targetUid) throws LuckyActivityJoinAssistException { + public void assist(Long activityId, String appKey, String uid, String targetUid) throws LuckyActivityException, LuckyActivityJoinAssistException { + + if (uid.equalsIgnoreCase(targetUid)) { + throw new LuckyActivityJoinAssistException(1, "涓嶈兘涓鸿嚜宸卞姪鍔�"); + } + + LuckyActivity activity = luckyActivityMapper.selectByPrimaryKey(activityId); + if (activity == null) { + throw new LuckyActivityException(LuckyActivityException.CODE_NOT_EXIST, "娲诲姩涓嶅瓨鍦�"); + } + + if (activity.getState() != LuckyActivity.STATE_STARTED) { + throw new LuckyActivityException(1, "褰撳墠娲诲姩涓嶅彲鍔╁姏"); + } + + Long appId = appManager.getAppId(appKey); - - LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, uid); + LuckyActivityJoinRecord record = luckyActivityJoinManager.getRecord(activityId, appId, targetUid); if (record == null) { throw new LuckyActivityJoinAssistException(1, "鍔╁姏瀵硅薄灏氭湭鍙傚姞娲诲姩"); } + + record = luckyActivityJoinRecordMapper.selectByPrimaryKeyForUpdate(record.getId()); ActivityJoinAssistQuery query = new ActivityJoinAssistQuery(); query.joinId = record.getId(); @@ -61,9 +85,8 @@ assist.setJoinId(record.getId()); assist.setUid(uid); assist.setWeight(1); - luckyActivityJoinAssistMapper.insertSelective(assist); - luckyActivityJoinRecordMapper.addWeight(record.getId(), assist.getWeight()); + luckyActivityJoinAssistMapper.insertSelective(assist); } @Override -- Gitblit v1.8.0