From 6d577f86bd0cfbec6ba9b17d59401d39fc03a7ec Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 24 Mar 2026 17:03:34 +0800
Subject: [PATCH] fix(mall): 修复会员服务中账户状态比较逻辑错误

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 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 db77682..60b726d 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
@@ -708,14 +708,19 @@
 
     @Override
     @Transactional
-    public FebsResponse xcxLogin(ApiXcxLoginDto apiXcxLoginDto) throws IOException {
+    public FebsResponse xcxLogin(ApiXcxLoginDto apiXcxLoginDto){
         log.info("登录请求参数:{}", JSONObject.toJSONString(apiXcxLoginDto));
         FebsResponse febsResponse = new FebsResponse();
         String code = apiXcxLoginDto.getCode();
         log.info("code:" + code);
         if (StrUtil.isNotBlank(code)) {
             String requrl = getXcxLoginUrl(code);
-            String reslutData = HttpCurlUtil.sendGetHttp(requrl, null);
+            String reslutData = null;
+            try {
+                reslutData = HttpCurlUtil.sendGetHttp(requrl, null);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
             net.sf.json.JSONObject json = net.sf.json.JSONObject.fromObject(reslutData);
             log.info("微信登录获取到登录信息={}", json);
 
@@ -742,6 +747,8 @@
                     entity.setSessionKey(sessionKey);
 
                     entity.setMemberUuid(UUID.getSimpleUUIDString());
+
+                    log.info("公司编码={}", apiXcxLoginDto.getCompanyId());
                     if (StrUtil.isNotEmpty(apiXcxLoginDto.getCompanyId())){
                         YHAiCompany aiCompany = yhAiCompanyMapper.selectOne(
                                 Wrappers.lambdaQuery(YHAiCompany.class)
@@ -762,6 +769,9 @@
                                         .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("公司会员已满");
                         }
@@ -780,7 +790,7 @@
                     entity.setInviteId(inviteId);
                     yhAiMemberMapper.updateById(entity);
                 } else {
-                    if ("1".equals(entity.getAccountStatus())) {
+                    if (entity.getAccountStatus() == 1) {
                         throw new FebsException("账号已停用");
                     }
                     entity.setSessionKey(sessionKey);
@@ -799,8 +809,8 @@
             }
             YhAiMember yhAiMember = yhAiMemberMapper.selectById(entity.getId());
             String token = IdUtil.simpleUUID();
-            redisUtils.set(token, JSONObject.toJSONString(yhAiMember), -1);
-            redisUtils.set(redisKey, token, -1);
+            redisUtils.set(token, JSONObject.toJSONString(yhAiMember), 60 * 60 * 24);
+            redisUtils.set(redisKey, token, 60 * 60 * 24);
             Map<String, Object> authInfo = new HashMap<>();
             authInfo.put("token", token);
             authInfo.put("appid", xcxProperties.getXcxAppid());

--
Gitblit v1.9.1