From 5405154d6979f1b50ce2d881bb164b1acca80b6d Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 15 一月 2021 18:58:18 +0800 Subject: [PATCH] 修改相关bug --- service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 44 insertions(+), 1 deletions(-) diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java index af472fd..36a16b1 100644 --- a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java +++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java @@ -1,5 +1,6 @@ package com.ks.lucky.service.impl.remote; +import com.ks.daylucky.exception.LuckySponsorMoneyRecordException; import com.ks.lib.common.exception.ParamsException; import com.ks.lucky.exception.*; import com.ks.lucky.mapper.LuckyActivityMapper; @@ -8,6 +9,7 @@ import com.ks.lucky.remote.service.LuckyActivityService; import com.ks.lucky.service.LuckyActivityImageService; import com.ks.lucky.service.LuckyMQService; +import com.ks.lucky.service.LuckySponsorMoneyService; import com.ks.lucky.service.impl.*; import com.ks.lucky.util.annotation.RedisCache; import com.ks.lucky.util.annotation.RedisCacheEvict; @@ -17,6 +19,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -49,6 +52,8 @@ @Resource private LuckyActivityImageService luckyActivityImageService; + @Resource + private LuckySponsorMoneyService luckySponsorMoneyService; private void notNull(LuckyActivity activity) throws LuckyActivityException { if (activity == null) { @@ -216,9 +221,21 @@ public void publishActivity(Long activityId) throws LuckyActivityException { LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId); checkActivityForPublish(activity); + BigDecimal money = luckyActivityAwardManager.computeAwardsMoney(activityId); - + if (money.compareTo(new BigDecimal(0)) > 0) { + try { + luckySponsorMoneyService.publishActivity(activity.getSponsorId(), activityId, money); + } catch (LuckySponsorException e) { + throw new LuckyActivityException(e.getCode(), e.getMsg()); + } catch (LuckySponsorMoneyRecordException e) { + throw new LuckyActivityException(e.getCode(), e.getMsg()); + } catch (ParamsException e) { + throw new LuckyActivityException(e.getCode(), e.getMsg()); + } + } luckyActivityManager.setState(activityId, LuckyActivity.STATE_NOT_STARTED, "宸插彂甯�"); + //鍔犲叆浠e彂娑堟伅鍒楄〃 try { @@ -230,6 +247,32 @@ @Transactional(rollbackFor = Exception.class) @Override + public void publishActivity(Long activityId, Date startTime, Date finishTime) throws LuckyActivityException { + //璁剧疆寮�濮嬫椂闂翠笌缁撴潫鏃堕棿 + LuckyActivity activity = new LuckyActivity(); + activity.setId(activityId); + activity.setPreStartTime(startTime); + activity.setPreFinishTime(finishTime); + activity.setUpdateTime(new Date()); + luckyActivityManager.updateSelectiveByPrimaryKey(activity); + //璁剧疆寮�濂栨椂闂� + LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activityId); + if (openInfo != null && openInfo.getPreOpenTime() == null) { + LuckyActivityOpenInfo updateOpenInfo = new LuckyActivityOpenInfo(); + updateOpenInfo.setId(openInfo.getId()); + //缁撴潫鍚�5鍒嗛挓寮�濂� + updateOpenInfo.setPreOpenTime(new Date(finishTime.getTime() + 1000 * 60 * 5)); + try { + luckyActivityOpenInfoManager.updateOpenInfo(updateOpenInfo, activityId); + } catch (LuckyActivityOpenInfoException e) { + } + } + + publishActivity(activityId); + } + + @Transactional(rollbackFor = Exception.class) + @Override public void startActivity(Long activityId, String remarks) throws LuckyActivityException { LuckyActivity activity = luckyActivityMapper.selectByPrimaryKeyForUpdate(activityId); if (activity.getState() != LuckyActivity.STATE_NOT_STARTED) { -- Gitblit v1.8.0