From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 09 六月 2025 11:54:00 +0800
Subject: [PATCH] 6.9新增登录失败冻结逻辑

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPropertyServiceImpl.java |   88 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 72 insertions(+), 16 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPropertyServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPropertyServiceImpl.java
index 1134f24..476b59d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPropertyServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComPropertyServiceImpl.java
@@ -3,6 +3,7 @@
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.panzhihua.common.constants.UserConstants;
 import com.panzhihua.common.model.dtos.property.CommonPage;
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.community.ComPropertyVO;
@@ -14,10 +15,16 @@
 import com.panzhihua.service_community.service.ComPropertyService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+
+import static java.util.Objects.isNull;
+import static java.util.Objects.nonNull;
+import static org.apache.commons.lang3.StringUtils.isNotBlank;
 
 /**
  * (ComProperty)表服务实现类
@@ -32,6 +39,8 @@
     private ComPropertyDao comPropertyDao;
     @Resource
     private UserService userService;
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
     @Override
     public R pageList(CommonPage commonPage) {
         return R.ok(comPropertyDao.pageList(new Page(commonPage.getPage(),commonPage.getSize()),commonPage));
@@ -48,20 +57,33 @@
         if(comPropertyVO!=null){
             ComProperty comProperty=new ComProperty();
             BeanUtils.copyProperties(comPropertyVO,comProperty);
-            AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
-            administratorsUserVO.setType(3);
-            administratorsUserVO.setAccount(comPropertyVO.getAccount());
-            administratorsUserVO.setPassword(comPropertyVO.getPassword());
-            administratorsUserVO.setRoleId(comPropertyVO.getRoleId());
-            administratorsUserVO.setCommunityId(comPropertyVO.getCommunityId());
-            administratorsUserVO.setAreaId(comPropertyVO.getAreaId());
-            R r=userService.addUserBackstageProperty(administratorsUserVO);
-            if(R.isOk(r)){
-                comProperty.setUserId(Long.parseLong(r.getData().toString()));
+            if (isNotBlank(comPropertyVO.getAccount())) {
+                AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
+                administratorsUserVO.setType(3);
+                if (comPropertyVO.getCommunityId().equals(10172)){
+                    administratorsUserVO.setType(20);
+                }
+                administratorsUserVO.setAccount(comPropertyVO.getAccount());
+                administratorsUserVO.setPassword(comPropertyVO.getPassword());
+                administratorsUserVO.setRoleId(comPropertyVO.getRoleId());
+                administratorsUserVO.setCommunityId(comPropertyVO.getCommunityId());
+                administratorsUserVO.setAreaId(comPropertyVO.getAreaId());
+                administratorsUserVO.setName(comPropertyVO.getContactName());
+                administratorsUserVO.setPhone(comPropertyVO.getPhone());
+                administratorsUserVO.setAppid(userService.detailUser(comPropertyVO.getCreateUserId()).getData().getAppId());
+                R r=userService.addUserBackstageProperty(administratorsUserVO);
+                if(R.isOk(r)){
+                    comProperty.setUserId(Long.parseLong(r.getData().toString()));
+                    comProperty.setCreateTime(DateUtil.date());
+                    this.comPropertyDao.insert(comProperty);
+                    return R.ok();
+                }
+            } else {
                 comProperty.setCreateTime(DateUtil.date());
                 this.comPropertyDao.insert(comProperty);
                 return R.ok();
             }
+            return R.fail("账号或手机号已存在");
         }
         return R.fail();
     }
@@ -71,7 +93,22 @@
         if(comPropertyVO!=null){
             ComProperty comProperty=new ComProperty();
             BeanUtils.copyProperties(comPropertyVO,comProperty);
+            if(comPropertyVO.getRoleId()!=null){
+                ComProperty comPropertyBase=this.comPropertyDao.selectById(comPropertyVO.getId());
+                AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
+                administratorsUserVO.setUserId(comPropertyBase.getUserId());
+                administratorsUserVO.setAccount(comPropertyVO.getAccount());
+                administratorsUserVO.setPassword(comPropertyVO.getPassword());
+                administratorsUserVO.setRoleId(comPropertyVO.getRoleId());
+                administratorsUserVO.setLastLoginTime(DateUtil.date());
+                administratorsUserVO.setAreaId(comPropertyVO.getAreaId());
+                this.userService.putUserBackstage(administratorsUserVO);
+                // 删除用户信息缓存
+                String userKey = UserConstants.LOGIN_USER_INFO + comPropertyBase.getUserId();
+                stringRedisTemplate.delete(userKey);
+            }
             this.comPropertyDao.updateById(comProperty);
+
             return R.ok();
         }
         return R.fail();
@@ -85,14 +122,33 @@
                 AdministratorsUserVO administratorsUserVO=new AdministratorsUserVO();
                 administratorsUserVO.setUserId(comProperty.getUserId());
                 administratorsUserVO.setCommunityId(comProperty.getCommunityId());
-                R r=userService.deleteUserBackstage(administratorsUserVO);
-                if(R.isOk(r)){
-                    this.comPropertyDao.deleteById(id);
-                    return R.ok();
-                }
-                return R.fail("账号删除失败");
+                userService.deleteUserBackstage(administratorsUserVO);
             }
+            this.comPropertyDao.deleteById(id);
+            return R.ok();
         }
         return R.fail("用户账号错误");
     }
+
+    /**
+     * 物业公司详情
+     * @param id
+     * @return
+     */
+    @Override
+    public R detailProperty(Long id) {
+        ComProperty comProperty = comPropertyDao.selectById(id);
+        if (isNull(comProperty)) {
+            return R.fail("资源不存在");
+        }
+        ComPropertyVO comPropertyVO = new ComPropertyVO();
+        BeanUtils.copyProperties(comProperty, comPropertyVO);
+        comPropertyVO.setPassword(null);
+        return R.ok(comPropertyVO);
+    }
+
+    @Override
+    public R noticeList(Integer page, Integer size, Long propertyId) {
+        return R.ok(comPropertyDao.noticeList(new Page(page,size),propertyId));
+    }
 }

--
Gitblit v1.7.1