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