From c3b9c74950118654a39e1ed8ef42a1c83abc3bb6 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 09 Apr 2026 11:58:49 +0800
Subject: [PATCH] fix(ai): 修复AI代理列表查询时公司ID为空的问题
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 313 ++++++++++++++++++++++++++++++++++-----------------
1 files changed, 207 insertions(+), 106 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..d21f296 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,14 @@
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;
import cc.mrbird.febs.common.configure.FebsConfigure;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.*;
@@ -67,6 +76,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 +111,8 @@
private final HappyMemberLabelRecordMapper happyMemberLabelRecordMapper;
private final HappyMemberLabelMapper happyMemberLabelMapper;
private final FebsConfigure febsConfigure;
+ private final AiMemberService aiMemberService;
+ private final AiCompanyMemberApplyMapper aiCompanyMemberApplyMapper;
@Value("${spring.profiles.active}")
@@ -276,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) {
@@ -300,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);
}
@@ -728,41 +765,61 @@
}
this.baseMapper.insert(mallMember);
- mallMember = this.baseMapper.selectMemberByOpenId(openId);
- String inviteId = ShareCodeUtil.toSerialCode(mallMember.getId());
- mallMember.setInviteId(inviteId);
- this.baseMapper.updateById(mallMember);
- MallMemberWallet wallet = new MallMemberWallet();
- wallet.setBalance(BigDecimal.ZERO);
- wallet.setMemberId(mallMember.getId());
- mallMemberWalletMapper.insert(wallet);
-
- //分销员的邀请码赠送优惠卷
- if (StrUtil.isNotBlank(apiXcxLoginDto.getInviteId())) {
- String couponUUID = IdUtil.simpleUUID();
- //通过邀请人信息,获取能领取的优惠卷信息
- MallMember refMember = this.baseMapper.selectInfoByInviteId(apiXcxLoginDto.getInviteId());
- if(ObjectUtil.isNotEmpty(refMember)){
- SalemanCoupon salemanCoupon = salemanCouponMapper.selectByMemberId(refMember.getId());
- if(ObjectUtil.isNotEmpty(salemanCoupon)){
- Long couponId = salemanCoupon.getCouponId();
- List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdCouponIdWithOutInviteId(mallMember.getId(), couponId);
- if(CollUtil.isEmpty(mallMemberCoupons)){
- //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
- MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId);
- MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
- mallMemberCoupon.setCouponId(couponId);
- mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
- mallMemberCoupon.setMemberId(mallMember.getId());
- mallMemberCoupon.setCouponUuid(couponUUID);
- mallMemberCoupon.setInviteId(refMember.getInviteId());
- mallMemberCoupon.setState(1);
- mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
- mallMemberCouponMapper.insert(mallMemberCoupon);
- }
- }
+ 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.getCompanyId())
+ .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);
+// wallet.setMemberId(mallMember.getId());
+// mallMemberWalletMapper.insert(wallet);
+
+ //分销员的邀请码赠送优惠卷
+// if (StrUtil.isNotBlank(apiXcxLoginDto.getInviteId())) {
+// String couponUUID = IdUtil.simpleUUID();
+// //通过邀请人信息,获取能领取的优惠卷信息
+// MallMember refMember = this.baseMapper.selectInfoByInviteId(apiXcxLoginDto.getInviteId());
+// if(ObjectUtil.isNotEmpty(refMember)){
+// SalemanCoupon salemanCoupon = salemanCouponMapper.selectByMemberId(refMember.getId());
+// if(ObjectUtil.isNotEmpty(salemanCoupon)){
+// Long couponId = salemanCoupon.getCouponId();
+// List<MallMemberCoupon> mallMemberCoupons = mallMemberCouponMapper.selectListByMemberIdCouponIdWithOutInviteId(mallMember.getId(), couponId);
+// if(CollUtil.isEmpty(mallMemberCoupons)){
+// //商品优惠卷如果绑定了,那么当前登陆者获取一张卷
+// MallGoodsCoupon mallGoodsCoupon = mallGoodsCouponMapper.selectById(couponId);
+// MallMemberCoupon mallMemberCoupon = new MallMemberCoupon();
+// mallMemberCoupon.setCouponId(couponId);
+// mallMemberCoupon.setCouponName(mallGoodsCoupon.getName());
+// mallMemberCoupon.setMemberId(mallMember.getId());
+// mallMemberCoupon.setCouponUuid(couponUUID);
+// mallMemberCoupon.setInviteId(refMember.getInviteId());
+// mallMemberCoupon.setState(1);
+// mallMemberCoupon.setExpireTime(DateUtil.offsetDay(DateUtil.date(),mallGoodsCoupon.getExpireDay()));
+// mallMemberCouponMapper.insert(mallMemberCoupon);
+// }
+// }
+// }
+// }
} else {
if (MallMember.ACCOUNT_STATUS_DISABLED.equals(mallMember.getAccountStatus())) {
throw new FebsException("账号已停用");
@@ -796,6 +853,7 @@
}
@Override
+ @Transactional
public FebsResponse xcxSaveInfo(ApiXcxSaveInfoDto apiXcxSaveInfoDto) {
log.info("name={},phone={},avatar={},sex={}",
apiXcxSaveInfoDto.getNickName(),apiXcxSaveInfoDto.getPhone(),apiXcxSaveInfoDto.getAvatarUrl(),apiXcxSaveInfoDto.getGender());
@@ -822,14 +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() ? "女" : "男");
}
- mallMember.setSex(1 == apiXcxSaveInfoDto.getGender() ? "女" : "男");
+
+ String memberUuid = mallMember.getMemberUuid();
+ 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) {
@@ -2058,6 +2152,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