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