Administrator
2 days ago 88dacff076efef9e562a6d0ca479c084f96da155
feat(mall): 添加公司会员数量限制验证功能

- 获取公司等级编码并查询对应等级配置
- 查询当前公司已存在的会员数量
- 比较实际会员数与等级限制的最大会员数
- 当会员数量达到上限时抛出公司会员已满异常
- 添加会员数量对比的日志记录功能
1 files modified
19 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -870,6 +870,25 @@
                throw new FebsException("公司编码不存在");
            }
            if (ObjectUtil.isNotEmpty(aiCompany)){
                String levelCode = aiCompany.getLevelCode();
                YHSysCompanyLevel yhSysCompanyLevel = yhSysCompanyLevelMapper.selectOne(
                        Wrappers.lambdaQuery(YHSysCompanyLevel.class)
                                .eq(YHSysCompanyLevel::getCode, levelCode)
                );
                Integer memberNum = yhSysCompanyLevel.getMemberNum();
                List<YhAiMember> yhAiMembers = yhAiMemberMapper.selectList(
                        Wrappers.lambdaQuery(YhAiMember.class)
                                .eq(YhAiMember::getCompanyId, aiCompany.getId())
                                .isNull(YhAiMember::getRoleId)
                );
                Integer realNum = CollUtil.isEmpty(yhAiMembers) ? 0 : yhAiMembers.size();
                log.info("公司会员数:{}", realNum);
                log.info("公司会员数:{}", memberNum);
                log.info("公司会员数:{}", realNum >= memberNum);
                if (realNum >= memberNum){
                    throw new FebsException("公司会员已满");
                }
                companyId = aiCompany.getId();
            }
            entity.setCompanyId(companyId);