From ccbd86bc5f747b748b5bde257a789d748b8cefbb Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 11 Sep 2025 17:41:35 +0800
Subject: [PATCH] ``` refactor(service): 在设置活动类别名称前增加非空检查在AdminHappyActivityServiceImpl.java中,对happyActivity的categoryId进行了非空检查,并且确认categoryMap中包含该categoryId后,再设置其categoryName。这样可以避免因为空值或不存在的键导致的潜在异常。 ```

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java |   50 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 49 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
index 6d95446..45e798e 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminHappyActivityServiceImpl.java
@@ -12,8 +12,11 @@
 import cc.mrbird.febs.mall.service.IAdminHappyActivityService;
 import cc.mrbird.febs.mall.vo.AdminMallGoodsCommentVo;
 import cc.mrbird.febs.mall.vo.activity.AdminActivityCommentVo;
+import cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo;
+import cc.mrbird.febs.rabbit.producter.AgentProducer;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -41,6 +44,7 @@
     private final HappyActivityOrderItemMapper happyActivityOrderItemMapper;
     private final HappyFollowMapper happyFollowMapper;
     private final MallMemberMapper mallMemberMapper;
+    private final AgentProducer agentProducer;
 
     @Override
     public IPage<HappyActivityCategory> getGroupList(AdminHappyActivityCategoryDto dto, QueryRequest request) {
@@ -155,7 +159,11 @@
                 Map<Long, HappyActivityCategory> categoryMap = happyActivityCategories.stream().collect(Collectors.toMap(HappyActivityCategory::getId, happyActivityCategory -> happyActivityCategory));
 
                 for (HappyActivity happyActivity : records){
-                    happyActivity.setCategoryName(categoryMap.get(happyActivity.getCategoryId()).getName());
+                    if(ObjectUtil.isNotNull(happyActivity.getCategoryId())
+                        && categoryMap.containsKey(happyActivity.getCategoryId())
+                    ){
+                        happyActivity.setCategoryName(categoryMap.get(happyActivity.getCategoryId()).getName());
+                    }
                 }
             }
         }
@@ -220,6 +228,8 @@
         happyActivity.setBackImg(dto.getBackImg());
         happyActivity.setVoteCnt(dto.getVoteCnt());
         happyActivity.setAddState(dto.getAddState());
+        happyActivity.setScoreCnt(dto.getScoreCnt());
+        happyActivity.setGrowthCnt(dto.getGrowthCnt());
         this.baseMapper.updateById(happyActivity);
 
         return new FebsResponse().success().message("操作成功");
@@ -386,6 +396,7 @@
                 if(CollUtil.isNotEmpty(happyActivityOrderItems)){
                     happyActivityOrderItems.forEach(happyActivityOrderItem -> {
                         happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode());
+                        happyActivityOrderItem.setUpdatedTime(DateUtil.date());
                         happyActivityOrderItemMapper.updateById(happyActivityOrderItem);
                     });
                 }
@@ -476,4 +487,41 @@
         }
         return happyActivityOrders;
     }
+
+    @Override
+    public IPage<AdminHappyActivityOrderCheckVo> activityOrderCheckList(AdminHappyActivityOrderCheckDto dto, QueryRequest request) {
+
+        Page<AdminHappyActivityOrderCheckVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminHappyActivityOrderCheckVo> adminHappyActivityOrderCheckVoIPage = this.baseMapper.activityOrderCheckList(page, dto);
+        return adminHappyActivityOrderCheckVoIPage;
+    }
+
+    @Override
+    public FebsResponse checkOrderItem(List<Long> ids) {
+        if (CollUtil.isEmpty(ids)){
+            return new FebsResponse().fail().message("请选择需要核销的订单");
+        }
+
+        List<HappyActivityOrderItem> happyActivityOrderItems = happyActivityOrderItemMapper.selectList(
+                new LambdaQueryWrapper<HappyActivityOrderItem>()
+                        .in(HappyActivityOrderItem::getId, ids)
+                        .eq(HappyActivityOrderItem::getState, StateUpDownEnum.DOWN.getCode())
+        );
+        if(CollUtil.isNotEmpty(happyActivityOrderItems)){
+            happyActivityOrderItems.forEach(happyActivityOrderItem -> {
+                happyActivityOrderItem.setState(StateUpDownEnum.UP.getCode());
+                happyActivityOrderItem.setUpdatedTime(DateUtil.date());
+                happyActivityOrderItemMapper.updateById(happyActivityOrderItem);
+
+
+                agentProducer.sendCheckActivityItem(happyActivityOrderItem.getOrderId());
+            });
+        }
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @Override
+    public List<AdminHappyActivityOrderCheckVo> getOrderCheckListForExport(Map<String, String> params) {
+        return this.baseMapper.getOrderCheckListForExport(Long.valueOf(params.get("activityId")));
+    }
 }

--
Gitblit v1.9.1