From eea4def7d653d421b52903521e8121c9d9ab0986 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 25 Sep 2025 11:20:48 +0800 Subject: [PATCH] feat(mall): 添加事务注解并校验公司编码 - 在 xcxSaveInfo 方法上添加 @Transactional 注解 - 校验公司编码是否存在,不存在则抛出异常 - 优化公司信息查询逻辑,确保数据一致性 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 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 a523b92..ca4046f 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 @@ -825,6 +825,7 @@ } @Override + @Transactional public FebsResponse xcxSaveInfo(ApiXcxSaveInfoDto apiXcxSaveInfoDto) { log.info("name={},phone={},avatar={},sex={}", apiXcxSaveInfoDto.getNickName(),apiXcxSaveInfoDto.getPhone(),apiXcxSaveInfoDto.getAvatarUrl(),apiXcxSaveInfoDto.getGender()); @@ -862,16 +863,26 @@ } if(ObjectUtil.isNotEmpty(apiXcxSaveInfoDto.getCompanyId())){ - mallMember.setCompanyId(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)){ + mallMember.setCompanyId(aiCompany.getId()); + } } this.baseMapper.updateById(mallMember); String memberUuid = mallMember.getMemberUuid(); AiMember aiMember = aiMemberService.getById(memberUuid); - if (ObjectUtil.isNotEmpty(aiMember) && StrUtil.isNotEmpty(apiXcxSaveInfoDto.getCompanyId())){ + if (ObjectUtil.isNotEmpty(aiMember) && StrUtil.isNotEmpty(mallMember.getCompanyId())){ aiMemberService.update(null, Wrappers.lambdaUpdate(AiMember.class) - .set(AiMember::getCompanyId, aiMember.getCompanyId()) + .set(AiMember::getCompanyId, mallMember.getCompanyId()) .eq(AiMember::getId, aiMember.getId()) ); } -- Gitblit v1.9.1