From 8657f3758fa1acef3445f82b82f81fdba5e0c1db Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 25 Sep 2025 11:29:00 +0800
Subject: [PATCH] feat(member): 更新会员公司ID逻辑 - 从API DTO中提取公司ID - 验证并转换公司编码为内部ID - 设置会员关联的公司ID - 优化公司信息查询逻辑 - 修复公司ID更新问题 - 确保会员信息正确绑定公司关系

---
 src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
index d4b1453..e82887b 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipBenefitsServiceImpl.java
@@ -276,6 +276,7 @@
             mallMemberCouponMapper.insert(memberCoupon);
 
             record.setReceiveName(coupon.getName());
+            record.setStatus(1);
         }
 
         mallVipBenefitsRecordMapper.insert(record);
@@ -320,7 +321,8 @@
         });
 
         LambdaQueryWrapper<MallVipBenefitsRecord> recordQuery = new LambdaQueryWrapper<>();
-        recordQuery.eq(MallVipBenefitsRecord::getReceiveId, ids)
+        recordQuery.in(MallVipBenefitsRecord::getReceiveId, ids)
+                .eq(MallVipBenefitsRecord::getMemberId, member.getId())
                 .ge(MallVipBenefitsRecord::getReceiveTime, DateUtil.beginOfDay(new Date()))
                 .le(MallVipBenefitsRecord::getReceiveTime, DateUtil.endOfDay(new Date()));
         List<MallVipBenefitsRecord> hasRecieveList = mallVipBenefitsRecordMapper.selectList(recordQuery);
@@ -333,7 +335,7 @@
 
         List<Long> hasIds = hasRecieveList.stream().map(MallVipBenefitsRecord::getReceiveId).collect(Collectors.toList());
         List<MallVipBenefits> collect1 = benefits.stream().peek(item -> {
-            List<MallVipBenefitsDetails> collect = item.getDetails().stream().filter(detail -> hasIds.contains(Long.parseLong(detail.getContent()))).collect(Collectors.toList());
+            List<MallVipBenefitsDetails> collect = item.getDetails().stream().filter(detail -> (detail.getLinkType() == 2 || detail.getLinkType() == 3) && !hasIds.contains(Long.parseLong(detail.getContent()))).collect(Collectors.toList());
             item.setDetails(collect);
         }).filter(item -> CollUtil.isNotEmpty(item.getDetails())).collect(Collectors.toList());
 

--
Gitblit v1.9.1