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/LuckyActivityAwardManager.java |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardManager.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardManager.java
index 0013e4f..3245fe9 100644
--- a/service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardManager.java
+++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardManager.java
@@ -1,11 +1,15 @@
 package com.ks.lucky.service.impl;
 
+import com.ks.lib.common.exception.ParamsException;
 import com.ks.lucky.dao.LuckyActivityAwardMaterialDao;
 import com.ks.lucky.exception.LuckyActivityAwardException;
+import com.ks.lucky.exception.LuckyActivityAwardMaterialException;
 import com.ks.lucky.mapper.LuckyActivityAwardsMapper;
 import com.ks.lucky.pojo.DO.LuckyActivityAwardMaterial;
 import com.ks.lucky.pojo.DO.LuckyActivityAwards;
+import com.ks.lucky.pojo.DTO.ActivityAwardParams;
 import com.ks.lucky.query.ActivityAwardQuery;
+import com.ks.lucky.remote.service.LuckyActivityAwardMaterialService;
 import com.ks.lucky.util.annotation.RedisCache;
 import com.ks.lucky.util.annotation.RedisCacheEvict;
 import org.springframework.stereotype.Component;
@@ -13,6 +17,7 @@
 import org.yeshi.utils.StringUtil;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -28,6 +33,9 @@
     @Resource
     private LuckyActivityAwardMaterialDao luckyActivityAwardMaterialDao;
 
+    @Resource
+    private LuckyActivityAwardMaterialService luckyActivityAwardMaterialService;
+
     /**
      * 娣诲姞濂栭」
      *
@@ -35,7 +43,7 @@
      * @throws LuckyActivityAwardException
      */
     @Validated
-    public void addAward(LuckyActivityAwards award) throws LuckyActivityAwardException {
+    public void addAward(LuckyActivityAwards award) throws LuckyActivityAwardException, LuckyActivityAwardMaterialException, ParamsException {
         if (award.getCreateTime() == null) {
             award.setCreateTime(new Date());
         }
@@ -46,6 +54,12 @@
         List<LuckyActivityAwards> list = luckyActivityAwardsMapper.list(query);
         if (list != null && list.size() > 0) {
             throw new LuckyActivityAwardException(LuckyActivityAwardException.CODE_EXIST, "鍚岀瓑绾х殑濂栭」宸茬粡瀛樺湪");
+        }
+
+        if (award.getMaterial() != null && award.getMaterial().getId() == null) {
+            String id = luckyActivityAwardMaterialService.addAwardMaterial(award.getMaterial());
+            award.getMaterial().setId(id);
+            award.setMaterialId(id);
         }
 
         luckyActivityAwardsMapper.insertSelective(award);
@@ -103,6 +117,7 @@
                 awards.setMaterial(material);
             }
         }
+        awards.setActivityAwardParams(ActivityAwardParams.getBean(awards.getAwardParams()));
         return awards;
     }
 
@@ -124,4 +139,24 @@
     }
 
 
+    /**
+     * 璁$畻濂栭」鏀嚭
+     *
+     * @param activityId
+     * @return
+     */
+    public BigDecimal computeAwardsMoney(Long activityId) {
+        BigDecimal money = new BigDecimal(0);
+        List<LuckyActivityAwards> list = getAwardList(activityId);
+        for (LuckyActivityAwards awards : list) {
+            ActivityAwardParams params = ActivityAwardParams.getBean(awards.getAwardParams());
+            if (params.getType() == ActivityAwardParams.ActivityAwardTypeEnum.alipayRedPackage) {
+                money = money.add(params.getRedPackage());
+            }
+        }
+
+        return money;
+    }
+
+
 }

--
Gitblit v1.8.0