From 6e281067fe81dbf180c63a2833f74c1615d32f18 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 30 十一月 2020 16:44:46 +0800 Subject: [PATCH] 抽奖服务完善 --- service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 51 insertions(+), 2 deletions(-) diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java index d469f2d..99edf50 100644 --- a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java +++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java @@ -1,11 +1,20 @@ package com.ks.lucky.service.impl.remote; +import com.ks.lucky.exception.LuckyActivityAwardException; +import com.ks.lucky.exception.LuckyActivityAwardResultException; +import com.ks.lucky.exception.LuckyActivityException; +import com.ks.lucky.mapper.LuckyActivityAwardResultExtraMapper; import com.ks.lucky.mapper.LuckyActivityAwardResultMapper; +import com.ks.lucky.pojo.DO.LuckyActivity; import com.ks.lucky.pojo.DO.LuckyActivityAwardResult; +import com.ks.lucky.pojo.DO.LuckyActivityAwardResultExtra; import com.ks.lucky.query.ActivityAwardResultQuery; import com.ks.lucky.remote.service.LuckyActivityAwardResultService; import com.ks.lucky.service.impl.AppManager; +import com.ks.lucky.service.impl.LuckyActivityAwardResultManager; +import com.ks.lucky.service.impl.LuckyActivityManager; import org.apache.dubbo.config.annotation.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; @@ -17,7 +26,16 @@ private LuckyActivityAwardResultMapper luckyActivityAwardResultMapper; @Resource + private LuckyActivityAwardResultExtraMapper luckyActivityAwardResultExtraMapper; + + @Resource + private LuckyActivityAwardResultManager luckyActivityAwardResultManager; + + @Resource private AppManager appManager; + + @Resource + private LuckyActivityManager luckyActivityManager; @Override @@ -41,8 +59,39 @@ return null; } + + @Transactional(rollbackFor = Exception.class) @Override - public void recieveAward(String appKey, String uid, Long activityId) { - //TODO 棰嗗 + public void recieveAward(String appKey, String uid, Long activityId) throws LuckyActivityException, LuckyActivityAwardException, LuckyActivityAwardResultException { + //----------楠岃瘉寮�濮�----------- + Long appId = appManager.getAppId(appKey); + LuckyActivity activity = luckyActivityManager.selectByPrimaryKey(activityId); + if (activity == null) { + //涓嶅瓨鍦� + throw new LuckyActivityException(LuckyActivityException.CODE_NOT_EXIST, "娲诲姩涓嶅瓨鍦�"); + } + if (activity.getState() != LuckyActivity.STATE_OPENED) { + throw new LuckyActivityAwardException(1, "娲诲姩灏氭湭寮�濂�"); + } + + ActivityAwardResultQuery query = new ActivityAwardResultQuery(); + query.uid = uid; + query.appId = appId; + query.activityId = activityId; + List<LuckyActivityAwardResult> list = luckyActivityAwardResultMapper.list(query); + if (list == null || list.size() == 0) { + throw new LuckyActivityAwardException(LuckyActivityAwardException.CODE_NOT_EXIST, "灏氭湭涓"); + } + + Long id = list.get(0).getId(); + LuckyActivityAwardResult result = luckyActivityAwardResultMapper.selectByPrimaryKeyForUpdate(id); + if (result.getState() != LuckyActivityAwardResult.STATE_NOT_RECIEVE) { + throw new LuckyActivityAwardException(1, "灏氭湭澶勪簬鍙鍙栫姸鎬�"); + } + LuckyActivityAwardResultExtra extra = luckyActivityAwardResultExtraMapper.selectByAwardResultId(result.getId()); + + //----------楠岃瘉缁撴潫----------- + //鍙戝 + luckyActivityAwardResultManager.sendAward(result, extra); } } -- Gitblit v1.8.0