From b012ab5e4fa5a4c7698867d0d9db601be111cc1d Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 09 Apr 2026 11:52:54 +0800
Subject: [PATCH] fix(ai): 修复AI代理列表查询时公司ID为空的问题

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |  232 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 149 insertions(+), 83 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index e67b607..9ed1cb3 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1,6 +1,11 @@
 package cc.mrbird.febs.mall.service.impl;
 
+import cc.mrbird.febs.ai.entity.AiCompany;
+import cc.mrbird.febs.ai.entity.AiCompanyMemberApply;
 import cc.mrbird.febs.ai.entity.AiMember;
+import cc.mrbird.febs.ai.enumerates.AiCommonEnum;
+import cc.mrbird.febs.ai.mapper.AiCompanyMapper;
+import cc.mrbird.febs.ai.mapper.AiCompanyMemberApplyMapper;
 import cc.mrbird.febs.ai.mapper.AiMemberMapper;
 import cc.mrbird.febs.ai.service.AiMemberService;
 import cc.mrbird.febs.ai.utils.UUID;
@@ -71,6 +76,7 @@
 @RequiredArgsConstructor
 public class ApiMallMemberServiceImpl extends ServiceImpl<MallMemberMapper, MallMember> implements IApiMallMemberService {
 
+    private final AiCompanyMapper aiCompanyMapper;
     private final AiMemberMapper aiMemberMapper;
     private final MallMemberWalletMapper mallMemberWalletMapper;
     private final ICommonService commonService;
@@ -106,6 +112,7 @@
     private final HappyMemberLabelMapper happyMemberLabelMapper;
     private final FebsConfigure febsConfigure;
     private final AiMemberService aiMemberService;
+    private final AiCompanyMemberApplyMapper aiCompanyMemberApplyMapper;
 
 
     @Value("${spring.profiles.active}")
@@ -282,18 +289,42 @@
         MallMember mallMember = this.baseMapper.selectById(id);
 
 
-
         MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember);
-
-        HappyMemberLevel happyMemberLevel = happyMemberLevelMapper.selectOne(
-                new LambdaQueryWrapper<HappyMemberLevel>()
-                        .select(HappyMemberLevel::getName,  HappyMemberLevel::getIconPng)
-                        .eq(HappyMemberLevel::getCode, mallMember.getDirector())
-        );
-        if(happyMemberLevel != null){
-            mallMemberVo.setLevelName(happyMemberLevel.getName());
-            mallMemberVo.setLevelNamePng(happyMemberLevel.getIconPng());
+        if (StrUtil.isNotEmpty(mallMember.getCompanyId())){
+            AiCompany aiCompany = aiCompanyMapper.selectById(mallMember.getCompanyId());
+            mallMemberVo.setCompanyName(aiCompany.getName());
+            mallMemberVo.setCompanyCode(aiCompany.getCode());
         }
+
+        List<AiCompanyMemberApply> aiCompanyMemberApplies = aiCompanyMemberApplyMapper.selectList(
+                Wrappers.lambdaQuery(AiCompanyMemberApply.class)
+                        .eq(AiCompanyMemberApply::getMemberId, mallMemberVo.getMemberUuid())
+                        .in(AiCompanyMemberApply::getState, Arrays.asList(0, 1))
+        );
+        if (CollUtil.isEmpty(aiCompanyMemberApplies)){
+            mallMemberVo.setCompanyApplyState(0);
+        }else{
+            List<AiCompanyMemberApply> aiCompanyMemberApplyList = aiCompanyMemberApplyMapper.selectList(
+                    Wrappers.lambdaQuery(AiCompanyMemberApply.class)
+                            .eq(AiCompanyMemberApply::getMemberId, mallMemberVo.getMemberUuid())
+                            .eq(AiCompanyMemberApply::getState, 0)
+            );
+            if (CollUtil.isNotEmpty(aiCompanyMemberApplyList)){
+                mallMemberVo.setCompanyApplyState(2);
+            }else{
+                mallMemberVo.setCompanyApplyState(1);
+            }
+        }
+
+//        HappyMemberLevel happyMemberLevel = happyMemberLevelMapper.selectOne(
+//                new LambdaQueryWrapper<HappyMemberLevel>()
+//                        .select(HappyMemberLevel::getName,  HappyMemberLevel::getIconPng)
+//                        .eq(HappyMemberLevel::getCode, mallMember.getDirector())
+//        );
+//        if(happyMemberLevel != null){
+//            mallMemberVo.setLevelName(happyMemberLevel.getName());
+//            mallMemberVo.setLevelNamePng(happyMemberLevel.getIconPng());
+//        }
         if(StrUtil.isNotEmpty(mallMember.getReferrerId())){
             MallMember referMember = this.baseMapper.selectInfoByInviteId(mallMember.getReferrerId());
             if (referMember != null) {
@@ -306,64 +337,64 @@
             mallMemberVo.setIsTeamLeader(1);
         }
 
-        if (StrUtil.isNotBlank(mallMember.getTradePassword())) {
-            mallMemberVo.setHasTradePwd(1);
-        }
-
-        MallMemberPayment payment = mallMemberPaymentMapper.selectByMemberId(id);
-        if (payment != null) {
-            mallMemberVo.setHasPayment(1);
-        }
-
-        MemberCollectionListDto memberCollectionListDto = new MemberCollectionListDto();
-        memberCollectionListDto.setPageNow(1);
-        memberCollectionListDto.setPageSize(10);
-        List<CollectionListVo> collectionList = mallMemberCollectionService.findMemberCollectionList(memberCollectionListDto);
-        mallMemberVo.setCollectionCnt(CollUtil.isNotEmpty(collectionList) ? collectionList.size() : 0);
-
-        MemberFootprintListDto memberFootprintListDto = new MemberFootprintListDto();
-        memberFootprintListDto.setPageNow(1);
-        memberFootprintListDto.setPageSize(10);
-        List<FootprintListVo> footprintList = mallMemberFootprintService.findMemberFootprintList(memberFootprintListDto);
-        mallMemberVo.setFootprintCnt(CollUtil.isNotEmpty(footprintList) ? footprintList.size() : 0);
-
-        List<MallMember> mallMembers = this.baseMapper.selectByRefererId(mallMember.getInviteId());
-        mallMemberVo.setChildCnt(CollUtil.isNotEmpty(mallMembers) ? mallMembers.size() : 0);
-
-        MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
-
-        MallVipConfig mallVipConfig = mallVipConfigMapper.selectVipConfigByCode(mallMember.getLevel());
-
-        mallMemberVo.setVipInfo(mallVipConfig);
-        mallMemberVo.setBalance(wallet.getBalance());
-        mallMemberVo.setScore(wallet.getScore());
-        mallMemberVo.setPrizeScore(wallet.getPrizeScore());
-//        mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
-
-        List<HappyMemberLabelRecord> happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList(
-                new LambdaQueryWrapper<HappyMemberLabelRecord>()
-                        .eq(HappyMemberLabelRecord::getMemberId, id)
-                        .orderByDesc(HappyMemberLabelRecord::getId)
-                .last("limit 5")
-        );
-        if(CollUtil.isNotEmpty(happyMemberLabelRecords)){
-            Set<Long> collect = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getLabelId).collect(Collectors.toSet());
-            List<HappyMemberLabel> happyMemberLabels = happyMemberLabelMapper.selectList(
-                    new LambdaQueryWrapper<HappyMemberLabel>()
-                            .select(HappyMemberLabel::getIconPng,  HappyMemberLabel::getName)
-                            .in(HappyMemberLabel::getId, collect)
-            );
-            if(CollUtil.isNotEmpty(happyMemberLabels)){
-                ArrayList<ApiLabelInfoVo> apiMemberLabelVos = new ArrayList<>();
-                for (HappyMemberLabel happyMemberLabel : happyMemberLabels) {
-                    ApiLabelInfoVo apiLabelInfoVo = new ApiLabelInfoVo();
-                    apiLabelInfoVo.setIconPng(happyMemberLabel.getIconPng());
-                    apiLabelInfoVo.setName(happyMemberLabel.getName());
-                    apiMemberLabelVos.add(apiLabelInfoVo);
-                }
-                mallMemberVo.setLabelList(apiMemberLabelVos);
-            }
-        }
+//        if (StrUtil.isNotBlank(mallMember.getTradePassword())) {
+//            mallMemberVo.setHasTradePwd(1);
+//        }
+//
+//        MallMemberPayment payment = mallMemberPaymentMapper.selectByMemberId(id);
+//        if (payment != null) {
+//            mallMemberVo.setHasPayment(1);
+//        }
+//
+//        MemberCollectionListDto memberCollectionListDto = new MemberCollectionListDto();
+//        memberCollectionListDto.setPageNow(1);
+//        memberCollectionListDto.setPageSize(10);
+//        List<CollectionListVo> collectionList = mallMemberCollectionService.findMemberCollectionList(memberCollectionListDto);
+//        mallMemberVo.setCollectionCnt(CollUtil.isNotEmpty(collectionList) ? collectionList.size() : 0);
+//
+//        MemberFootprintListDto memberFootprintListDto = new MemberFootprintListDto();
+//        memberFootprintListDto.setPageNow(1);
+//        memberFootprintListDto.setPageSize(10);
+//        List<FootprintListVo> footprintList = mallMemberFootprintService.findMemberFootprintList(memberFootprintListDto);
+//        mallMemberVo.setFootprintCnt(CollUtil.isNotEmpty(footprintList) ? footprintList.size() : 0);
+//
+//        List<MallMember> mallMembers = this.baseMapper.selectByRefererId(mallMember.getInviteId());
+//        mallMemberVo.setChildCnt(CollUtil.isNotEmpty(mallMembers) ? mallMembers.size() : 0);
+//
+//        MallMemberWallet wallet = mallMemberWalletMapper.selectWalletByMemberId(mallMemberVo.getId());
+//
+//        MallVipConfig mallVipConfig = mallVipConfigMapper.selectVipConfigByCode(mallMember.getLevel());
+//
+//        mallMemberVo.setVipInfo(mallVipConfig);
+//        mallMemberVo.setBalance(wallet.getBalance());
+//        mallMemberVo.setScore(wallet.getScore());
+//        mallMemberVo.setPrizeScore(wallet.getPrizeScore());
+////        mallMemberVo.setTotalCost(mallOrderInfoMapper.selectTotalAmount(id));
+//
+//        List<HappyMemberLabelRecord> happyMemberLabelRecords = happyMemberLabelRecordMapper.selectList(
+//                new LambdaQueryWrapper<HappyMemberLabelRecord>()
+//                        .eq(HappyMemberLabelRecord::getMemberId, id)
+//                        .orderByDesc(HappyMemberLabelRecord::getId)
+//                .last("limit 5")
+//        );
+//        if(CollUtil.isNotEmpty(happyMemberLabelRecords)){
+//            Set<Long> collect = happyMemberLabelRecords.stream().map(HappyMemberLabelRecord::getLabelId).collect(Collectors.toSet());
+//            List<HappyMemberLabel> happyMemberLabels = happyMemberLabelMapper.selectList(
+//                    new LambdaQueryWrapper<HappyMemberLabel>()
+//                            .select(HappyMemberLabel::getIconPng,  HappyMemberLabel::getName)
+//                            .in(HappyMemberLabel::getId, collect)
+//            );
+//            if(CollUtil.isNotEmpty(happyMemberLabels)){
+//                ArrayList<ApiLabelInfoVo> apiMemberLabelVos = new ArrayList<>();
+//                for (HappyMemberLabel happyMemberLabel : happyMemberLabels) {
+//                    ApiLabelInfoVo apiLabelInfoVo = new ApiLabelInfoVo();
+//                    apiLabelInfoVo.setIconPng(happyMemberLabel.getIconPng());
+//                    apiLabelInfoVo.setName(happyMemberLabel.getName());
+//                    apiMemberLabelVos.add(apiLabelInfoVo);
+//                }
+//                mallMemberVo.setLabelList(apiMemberLabelVos);
+//            }
+//        }
         return new FebsResponse().success().data(mallMemberVo);
     }
 
@@ -737,7 +768,14 @@
                     AiMember aiMember = new AiMember();
                     aiMember.setId(UUID.getSimpleUUIDString());
                     if (StrUtil.isNotEmpty(apiXcxLoginDto.getCompanyId())){
-                        aiMember.setCompanyId(apiXcxLoginDto.getCompanyId());
+                        AiCompany aiCompany = aiCompanyMapper.selectOne(
+                                Wrappers.lambdaQuery(AiCompany.class)
+                                        .eq(AiCompany::getCode, apiXcxLoginDto.getCompanyId())
+                                        .last("limit 1")
+                        );
+                        if (ObjectUtil.isNotEmpty(aiCompany)){
+                            aiMember.setCompanyId(aiCompany.getId());
+                        }
                     }
                     aiMember.setCreatedTime(new Date());
                     aiMemberMapper.insert(aiMember);
@@ -745,7 +783,11 @@
                     mallMember = this.baseMapper.selectMemberByOpenId(openId);
                     String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId());
                     mallMember.setMemberUuid(aiMember.getId());
+                    if (StrUtil.isNotEmpty(aiMember.getCompanyId())){
+                        mallMember.setCompanyId(aiMember.getCompanyId());
+                    }
                     mallMember.setInviteId(inviteId);
+                    mallMember.setName("新用户"+inviteId);
                     this.baseMapper.updateById(mallMember);
                     MallMemberWallet wallet = new MallMemberWallet();
                     wallet.setBalance(BigDecimal.ZERO);
@@ -811,6 +853,7 @@
     }
 
     @Override
+    @Transactional
     public FebsResponse xcxSaveInfo(ApiXcxSaveInfoDto apiXcxSaveInfoDto) {
         log.info("name={},phone={},avatar={},sex={}",
                 apiXcxSaveInfoDto.getNickName(),apiXcxSaveInfoDto.getPhone(),apiXcxSaveInfoDto.getAvatarUrl(),apiXcxSaveInfoDto.getGender());
@@ -837,27 +880,50 @@
             mallMember.setBirthday(apiXcxSaveInfoDto.getBirthday());
         }
 
-        List<MallVipConfig> configs = mallVipConfigMapper.selectVipConfigList();
-        if (StrUtil.isBlank(mallMember.getLevel()) && CollUtil.isNotEmpty(configs)) {
-            MallVipConfig mallVipConfig = configs.get(0);
-            mallMember.setLevel(mallVipConfig.getCode());
-        }
+//        List<MallVipConfig> configs = mallVipConfigMapper.selectVipConfigList();
+//        if (StrUtil.isBlank(mallMember.getLevel()) && CollUtil.isNotEmpty(configs)) {
+//            MallVipConfig mallVipConfig = configs.get(0);
+//            mallMember.setLevel(mallVipConfig.getCode());
+//        }
 
         if(ObjectUtil.isNotEmpty(apiXcxSaveInfoDto.getGender())){
             mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
         }
-        this.baseMapper.updateById(mallMember);
+
 
         String memberUuid = mallMember.getMemberUuid();
-        AiMember aiMember = aiMemberService.getById(memberUuid);
-        if (ObjectUtil.isNotEmpty(aiMember) && StrUtil.isNotEmpty(apiXcxSaveInfoDto.getCompanyId())){
-            aiMemberService.update(null,
-                    Wrappers.lambdaUpdate(AiMember.class)
-                    .set(AiMember::getCompanyId, aiMember.getCompanyId())
-                    .eq(AiMember::getId, aiMember.getId())
-                    );
-        }
+        String companyId = apiXcxSaveInfoDto.getCompanyId();
+        if(ObjectUtil.isNotEmpty(apiXcxSaveInfoDto.getCompanyId())){
+            AiCompany aiCompany = aiCompanyMapper.selectOne(
+                    Wrappers.lambdaQuery(AiCompany.class)
+                            .eq(AiCompany::getCode, apiXcxSaveInfoDto.getCompanyId())
+                            .last("limit 1")
+            );
+            if (ObjectUtil.isEmpty(aiCompany)){
+                throw new FebsException("公司编码不存在");
+            }
+            if (ObjectUtil.isNotEmpty(aiCompany)){
+                companyId = aiCompany.getId();
 
+                AiCompanyMemberApply aiCompanyMemberApply = new AiCompanyMemberApply();
+                aiCompanyMemberApply.setMemberId(memberUuid);
+                aiCompanyMemberApply.setCompanyCode(aiCompany.getCode());
+                aiCompanyMemberApply.setCompanyName(aiCompany.getName());
+                aiCompanyMemberApply.setState(0);
+                aiCompanyMemberApply.setCreatedTime(new Date());
+                aiCompanyMemberApplyMapper.insert(aiCompanyMemberApply);
+            }
+        }
+//        mallMember.setCompanyId(companyId);
+        this.baseMapper.updateById(mallMember);
+//        AiMember aiMember = aiMemberService.getById(memberUuid);
+//        if (ObjectUtil.isNotEmpty(aiMember) && StrUtil.isNotEmpty(mallMember.getCompanyId())){
+//            aiMemberService.update(null,
+//                    Wrappers.lambdaUpdate(AiMember.class)
+//                    .set(AiMember::getCompanyId, mallMember.getCompanyId())
+//                    .eq(AiMember::getId, aiMember.getId())
+//                    );
+//        }
 
 //        //完善信息赠送新人礼
 //        if (StrUtil.isNotBlank(mallMember.getPhone()) && mallMember.getNewGift() == 0) {

--
Gitblit v1.9.1