From 7e389247b3b2877c12f1eaae6e33c9c33e91d2dd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 08 一月 2021 18:41:59 +0800
Subject: [PATCH] 活动添加后台完善

---
 service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardManager.java |   44 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 38 insertions(+), 6 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 a15f83e..063399b 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,10 +1,16 @@
 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.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;
 import org.springframework.validation.annotation.Validated;
 import org.yeshi.utils.StringUtil;
@@ -23,7 +29,10 @@
     private LuckyActivityAwardsMapper luckyActivityAwardsMapper;
 
     @Resource
-    private LuckyActivityAwardMaterialManager luckyActivityAwardMaterialManager;
+    private LuckyActivityAwardMaterialDao luckyActivityAwardMaterialDao;
+
+    @Resource
+    private LuckyActivityAwardMaterialService luckyActivityAwardMaterialService;
 
     /**
      * 娣诲姞濂栭」
@@ -32,10 +41,25 @@
      * @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());
         }
+        ActivityAwardQuery query = new ActivityAwardQuery();
+        query.activityId = award.getActivityId();
+        query.level = award.getLevel();
+        query.count = 1;
+        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);
     }
 
@@ -46,7 +70,10 @@
      * @param award
      * @throws LuckyActivityAwardException
      */
-    public void updateAward(LuckyActivityAwards award) throws LuckyActivityAwardException {
+    @RedisCacheEvict(cate = "activity", key = "'activity-detail-'+#activityId")
+    @RedisCacheEvict(cate = "activity-awards", key = "'getAwardList-'+#activityId")
+    @RedisCacheEvict(cate = "activity-awards", key = "'getAwardDetail-'+#award.id")
+    public void updateAward(LuckyActivityAwards award, Long activityId) throws LuckyActivityAwardException {
         if (award.getId() == null) {
             throw new LuckyActivityAwardException(LuckyActivityAwardException.CODE_PARAMS_NOT_ENOUGH, "鍙傛暟涓嶅畬鏁�");
         }
@@ -64,6 +91,7 @@
      * @param activityId
      * @return
      */
+    @RedisCache(cate = "activity-awards", key = "'getAwardList-'+#activityId", second = 3600)
     public List<LuckyActivityAwards> getAwardList(Long activityId) {
         ActivityAwardQuery query = new ActivityAwardQuery();
         query.activityId = activityId;
@@ -78,10 +106,11 @@
      * @param id
      * @return
      */
+    @RedisCache(cate = "activity-awards", key = "'getAwardDetail-'+#id", second = 3600)
     public LuckyActivityAwards getAwardDetail(Long id) {
         LuckyActivityAwards awards = luckyActivityAwardsMapper.selectByPrimaryKey(id);
         if (!StringUtil.isNullOrEmpty(awards.getMaterialId())) {
-            LuckyActivityAwardMaterial material = luckyActivityAwardMaterialManager.getAwardMaterialDetail(awards.getMaterialId());
+            LuckyActivityAwardMaterial material = luckyActivityAwardMaterialDao.get(awards.getMaterialId());
             if (material != null) {
                 awards.setMaterial(material);
             }
@@ -95,10 +124,13 @@
      * @param id
      */
 
-    public void deleteAward(Long id) {
+    @RedisCacheEvict(cate = "activity", key = "'activity-detail-'+#activityId")
+    @RedisCacheEvict(cate = "activity-awards", key = "'getAwardList-'+#activityId")
+    @RedisCacheEvict(cate = "activity-awards", key = "'getAwardDetail-'+#id")
+    public void deleteAward(Long id, Long activityId) {
         LuckyActivityAwards awards = getAwardDetail(id);
         if (awards.getMaterial() != null) {
-            luckyActivityAwardMaterialManager.deleteAwardMaterial(awards.getMaterial().getId());
+            luckyActivityAwardMaterialDao.delete(awards.getMaterial().getId());
         }
         luckyActivityAwardsMapper.deleteByPrimaryKey(id);
     }

--
Gitblit v1.8.0