From 7aec9e836c4a81e111c3721f8f40a850b708a102 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 25 Sep 2025 10:01:16 +0800 Subject: [PATCH] feat(ai): 添加公司编码字段并更新相关逻辑 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 54 insertions(+), 1 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 5afa1cb..72e82f2 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,5 +1,11 @@ package cc.mrbird.febs.mall.service.impl; +import cc.mrbird.febs.ai.entity.AiCompany; +import cc.mrbird.febs.ai.entity.AiMember; +import cc.mrbird.febs.ai.mapper.AiCompanyMapper; +import cc.mrbird.febs.ai.mapper.AiMemberMapper; +import cc.mrbird.febs.ai.service.AiMemberService; +import cc.mrbird.febs.ai.utils.UUID; import cc.mrbird.febs.common.configure.FebsConfigure; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.enumerates.*; @@ -67,6 +73,8 @@ @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; private final RedisUtils redisUtils; @@ -100,6 +108,7 @@ private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper; private final HappyMemberLabelMapper happyMemberLabelMapper; private final FebsConfigure febsConfigure; + private final AiMemberService aiMemberService; @Value("${spring.profiles.active}") @@ -728,9 +737,29 @@ } this.baseMapper.insert(mallMember); + AiMember aiMember = new AiMember(); + aiMember.setId(UUID.getSimpleUUIDString()); + if (StrUtil.isNotEmpty(apiXcxLoginDto.getCompanyId())){ + AiCompany aiCompany = aiCompanyMapper.selectOne( + Wrappers.lambdaQuery(AiCompany.class) + .eq(AiCompany::getCode, apiXcxLoginDto.getCode()) + .last("limit 1") + ); + if (ObjectUtil.isNotEmpty(aiCompany)){ + aiMember.setCompanyId(aiCompany.getId()); + } + } + aiMember.setCreatedTime(new Date()); + aiMemberMapper.insert(aiMember); + 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); @@ -828,8 +857,25 @@ mallMember.setLevel(mallVipConfig.getCode()); } - mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男"); + if(ObjectUtil.isNotEmpty(apiXcxSaveInfoDto.getGender())){ + mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男"); + } + + if(ObjectUtil.isNotEmpty(apiXcxSaveInfoDto.getCompanyId())){ + mallMember.setCompanyId(apiXcxSaveInfoDto.getCompanyId()); + } 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()) + ); + } + // //完善信息赠送新人礼 // if (StrUtil.isNotBlank(mallMember.getPhone()) && mallMember.getNewGift() == 0) { @@ -2058,6 +2104,13 @@ Long labelId = dto.getLabelId(); Long insureMemberId = dto.getMemberId(); + List<HappyMemberLabelRecord> happyMemberLabelRecords1 = happyMemberLabelRecordMapper.selectList(Wrappers.lambdaQuery(HappyMemberLabelRecord.class) + .eq(HappyMemberLabelRecord::getMemberId, insureMemberId) + ); + if(CollUtil.isNotEmpty(happyMemberLabelRecords1)){ + throw new FebsException("该用户不能重复加入"); + } + HappyMemberLabel happyMemberLabel = happyMemberLabelMapper.selectById(labelId); if(ObjectUtil.isEmpty(happyMemberLabel)){ throw new FebsException("会员标签不存在"); -- Gitblit v1.9.1