KKSU
2025-01-15 d724c10b82cf44d64af07495ec8dc901a7104055
fix(mall): 优化用户绑定逻辑

- 在绑定用户之前,先检查数据库中是否已存在相同的 memberId 和 bindId 组合
- 如果已存在,则不进行插入操作,避免重复绑定
- 使用 LambdaQueryWrapper 进行查询,提高代码可读性
1 files modified
8 ■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -1244,7 +1244,12 @@
            return new FebsResponse().fail().message(message);
        }
        Long bindId = JSONUtil.parseObj(result).getJSONObject("data").getLong("userId");
        List<MallStoreMember> mallStoreMembers1 = mallStoreMemberMapper.selectList(
                new LambdaQueryWrapper<MallStoreMember>()
                        .eq(MallStoreMember::getMemberId, memberId)
                        .eq(MallStoreMember::getBindId, bindId)
        );
        if(CollUtil.isEmpty(mallStoreMembers1)){
        MallStoreMember mallStoreMember = new MallStoreMember();
        mallStoreMember.setMemberId(memberId);
        mallStoreMember.setBindId(bindId);
@@ -1259,6 +1264,7 @@
        mallStoreMember.setAge(age);
        mallStoreMember.setPhone(phoneNumber);
        mallStoreMemberMapper.insert(mallStoreMember);
        }
        return new FebsResponse().success().message("绑定成功");
    }