From 7935724516cb699835da888d59cd5b7bec5c6049 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期四, 12 九月 2024 12:07:29 +0800
Subject: [PATCH] 完成业主功能的优化

---
 service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java |  185 +++++++++++++++++++++++++++++----------------
 1 files changed, 118 insertions(+), 67 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java b/service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java
old mode 100644
new mode 100755
index 9e9ef08..7697a07
--- a/service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java
+++ b/service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java
@@ -1,18 +1,25 @@
 package com.java110.user.smo.impl;
 
-
+import com.java110.core.base.smo.BaseServiceSMO;
+import com.java110.dto.community.CommunityMemberDto;
+import com.java110.dto.PageDto;
+import com.java110.dto.file.FileRelDto;
+import com.java110.dto.owner.OwnerAttrDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.user.UserDto;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.user.IOwnerAttrInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.owner.OwnerPo;
+import com.java110.user.dao.IOwnerServiceDao;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.constant.OwnerTypeConstant;
 import com.java110.utils.constant.StatusConstant;
 import com.java110.utils.util.BeanConvertUtil;
-import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.core.smo.community.ICommunityInnerServiceSMO;
-import com.java110.core.smo.user.IOwnerInnerServiceSMO;
-import com.java110.core.smo.user.IUserInnerServiceSMO;
-import com.java110.dto.CommunityMemberDto;
-import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.PageDto;
-import com.java110.dto.user.UserDto;
-import com.java110.user.dao.IOwnerServiceDao;
+import com.java110.utils.util.ListUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -36,27 +43,20 @@
     private IOwnerServiceDao ownerServiceDaoImpl;
 
     @Autowired
+    private IOwnerAttrInnerServiceSMO ownerAttrInnerServiceSMOImpl;
+
+    @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
 
     @Autowired
     private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
 
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
     @Override
     public List<OwnerDto> queryOwners(@RequestBody OwnerDto ownerDto) {
-
-        //communityInnerServiceSMOImpl.getCommunityMembers()
-        //璋冪敤 灏忓尯鏈嶅姟鏌ヨ 灏忓尯鎴愬憳涓氫富淇℃伅
-       /* CommunityMemberDto communityMemberDto = BeanConvertUtil.covertBean(ownerDto, CommunityMemberDto.class);
-        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.OWNER);
-        if (StringUtils.isEmpty(communityMemberDto.getMemberId()) && !StringUtils.isEmpty(ownerDto.getOwnerId())) {
-            communityMemberDto.setMemberId(ownerDto.getOwnerId());
-        }
-        List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
-
-        if (communityMemberDtos == null || communityMemberDtos.size() < 1) {
-            return null;
-        }*/
 
         int page = ownerDto.getPage();
 
@@ -65,43 +65,62 @@
         }
 
         Map ownerInfo = BeanConvertUtil.beanCovertMap(ownerDto);
-        ownerInfo.put("communityId",ownerDto.getCommunityId());
-        ownerInfo.put("ownerTypeCd", OwnerTypeConstant.OWNER);
-       // ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
-        //ownerInfo.put("ownerTypeCd", ownerDto.getOwnerTypeCd());
-        ownerInfo.put("statusCd", StatusConstant.STATUS_CD_VALID);
 
         List<OwnerDto> owners = BeanConvertUtil.covertBeanList(ownerServiceDaoImpl.getOwnerInfo(ownerInfo), OwnerDto.class);
 
-        if (owners == null || owners.size() == 0) {
+        if (ListUtil.isNull(owners)) {
             return owners;
         }
 
         String[] userIds = getUserIds(owners);
         //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
+        String[] memberIds = getMemberIds(owners);
+        OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
+        ownerAttrDto.setMemberIds(memberIds);
+        ownerAttrDto.setCommunityId(ownerDto.getCommunityId());
+        List<OwnerAttrDto> ownerAttrDtos = ownerAttrInnerServiceSMOImpl.queryOwnerAttrs(ownerAttrDto);
 
         for (OwnerDto owner : owners) {
-            refreshOwner(owner, users);
+            refreshOwner(owner, users, ownerAttrDtos);
         }
+
         return owners;
     }
 
     @Override
     public List<OwnerDto> queryOwnerMembers(@RequestBody OwnerDto ownerDto) {
+
+        int page = ownerDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            ownerDto.setPage((page - 1) * ownerDto.getRow());
+        }
+
         List<OwnerDto> owners = BeanConvertUtil.covertBeanList(ownerServiceDaoImpl.getOwnerInfo(BeanConvertUtil.beanCovertMap(ownerDto)), OwnerDto.class);
-        if (owners == null || owners.size() == 0) {
+        if (ListUtil.isNull(owners)) {
             return owners;
         }
 
         String[] userIds = getUserIds(owners);
         //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
+        String[] memberIds = getMemberIds(owners);
+        OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
+        ownerAttrDto.setMemberIds(memberIds);
+        ownerAttrDto.setCommunityId(ownerDto.getCommunityId());
+        List<OwnerAttrDto> ownerAttrDtos = ownerAttrInnerServiceSMOImpl.queryOwnerAttrs(ownerAttrDto);
 
         for (OwnerDto owner : owners) {
-            refreshOwner(owner, users);
+            refreshOwner(owner, users, ownerAttrDtos);
         }
+
         return owners;
+    }
+
+    @Override
+    public int queryOwnersMemberCount(@RequestBody OwnerDto ownerDto) {
+        return ownerServiceDaoImpl.getOwnerInfoCount(BeanConvertUtil.beanCovertMap(ownerDto));
     }
 
     /**
@@ -110,28 +129,26 @@
      * @param owner 灏忓尯涓氫富淇℃伅
      * @param users 鐢ㄦ埛鍒楄〃
      */
-    private void refreshOwner(OwnerDto owner, List<UserDto> users) {
+    private void refreshOwner(OwnerDto owner, List<UserDto> users, List<OwnerAttrDto> ownerAttrDtos) {
         for (UserDto user : users) {
             if (owner.getUserId().equals(user.getUserId())) {
                 //BeanConvertUtil.covertBean(user, owner);
                 owner.setUserName(user.getUserName());
+                break;
             }
         }
-    }
 
-    /**
-     * 鑾峰彇鎵归噺userId
-     *
-     * @param communityMemberDtos 灏忓尯妤间俊鎭�
-     * @return 鎵归噺userIds 淇℃伅
-     */
-    private String[] getOwnerIds(List<CommunityMemberDto> communityMemberDtos) {
-        List<String> ownerIds = new ArrayList<String>();
-        for (CommunityMemberDto communityMemberDto : communityMemberDtos) {
-            ownerIds.add(communityMemberDto.getMemberId());
+        if (ownerAttrDtos == null || ownerAttrDtos.size() < 1) {
+            return;
+        }
+        List<OwnerAttrDto> tmpOwnerAttrDtos = new ArrayList<>();
+        for (OwnerAttrDto ownerAttrDto : ownerAttrDtos) {
+            if (ownerAttrDto.getMemberId().equals(owner.getMemberId())) {
+                tmpOwnerAttrDtos.add(ownerAttrDto);
+            }
         }
 
-        return ownerIds.toArray(new String[ownerIds.size()]);
+        owner.setOwnerAttrDtos(tmpOwnerAttrDtos);
     }
 
     /**
@@ -149,26 +166,25 @@
         return userIds.toArray(new String[userIds.size()]);
     }
 
+    /**
+     * 鑾峰彇鎵归噺userId
+     *
+     * @param owners 灏忓尯妤间俊鎭�
+     * @return 鎵归噺userIds 淇℃伅
+     */
+    private String[] getMemberIds(List<OwnerDto> owners) {
+        List<String> memberIds = new ArrayList<String>();
+        for (OwnerDto owner : owners) {
+            memberIds.add(owner.getMemberId());
+        }
+
+        return memberIds.toArray(new String[memberIds.size()]);
+    }
+
     @Override
     public int queryOwnersCount(@RequestBody OwnerDto ownerDto) {
 
-        //璋冪敤 灏忓尯鏈嶅姟鏌ヨ 灏忓尯鎴愬憳涓氫富淇℃伅
-        /*CommunityMemberDto communityMemberDto = new CommunityMemberDto();
-        communityMemberDto.setCommunityId(ownerDto.getCommunityId());
-        communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.OWNER);
-        return communityInnerServiceSMOImpl.getCommunityMemberCount(communityMemberDto);*/
-        int page = ownerDto.getPage();
-
-        if (page != PageDto.DEFAULT_PAGE) {
-            ownerDto.setPage((page - 1) * ownerDto.getRow());
-        }
-
         Map ownerInfo = BeanConvertUtil.beanCovertMap(ownerDto);
-        ownerInfo.put("communityId",ownerDto.getCommunityId());
-        ownerInfo.put("ownerTypeCd", OwnerTypeConstant.OWNER);
-        // ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
-        //ownerInfo.put("ownerTypeCd", ownerDto.getOwnerTypeCd());
-        ownerInfo.put("statusCd", StatusConstant.STATUS_CD_VALID);
 
         return ownerServiceDaoImpl.getOwnerInfoCount(ownerInfo);
 
@@ -179,11 +195,11 @@
 
         //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
 
-        int page = ownerDto.getPage();
-
-        if (page != PageDto.DEFAULT_PAGE) {
-            ownerDto.setPage((page - 1) * ownerDto.getRow());
-        }
+//        int page = ownerDto.getPage();
+//
+//        if (page != PageDto.DEFAULT_PAGE) {
+//            ownerDto.setPage((page - 1) * ownerDto.getRow());
+//        }
         return ownerServiceDaoImpl.queryOwnersCount(BeanConvertUtil.beanCovertMap(ownerDto));
     }
 
@@ -206,8 +222,14 @@
         //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
         List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
 
+        String[] memberIds = getMemberIds(owners);
+        OwnerAttrDto ownerAttrDto = new OwnerAttrDto();
+        ownerAttrDto.setMemberIds(memberIds);
+        ownerAttrDto.setCommunityId(ownerDto.getCommunityId());
+        List<OwnerAttrDto> ownerAttrDtos = ownerAttrInnerServiceSMOImpl.queryOwnerAttrs(ownerAttrDto);
+
         for (OwnerDto owner : owners) {
-            refreshOwner(owner, users);
+            refreshOwner(owner, users, ownerAttrDtos);
         }
         return owners;
     }
@@ -228,6 +250,35 @@
         return BeanConvertUtil.covertBeanList(ownerServiceDaoImpl.queryOwnersByParkingSpace(BeanConvertUtil.beanCovertMap(ownerDto)), OwnerDto.class);
     }
 
+    @Override
+    public int updateOwnerMember(OwnerPo ownerPo) {
+        Map info = BeanConvertUtil.beanCovertMap(ownerPo);
+        info.put("statusCd", "0");
+        ownerServiceDaoImpl.updateOwnerInfoInstance(info);
+        return 1;
+    }
+
+    @Override
+    public int queryOwnerLogsCountByRoom(@RequestBody OwnerDto ownerDto) {
+        return ownerServiceDaoImpl.queryOwnerLogsCountByRoom(BeanConvertUtil.beanCovertMap(ownerDto));
+    }
+
+    @Override
+    public List<OwnerDto> queryOwnerLogsByRoom(@RequestBody OwnerDto ownerDto) {
+        int page = ownerDto.getPage();
+
+        if (page != PageDto.DEFAULT_PAGE) {
+            ownerDto.setPage((page - 1) * ownerDto.getRow());
+        }
+        return BeanConvertUtil.covertBeanList(ownerServiceDaoImpl.queryOwnerLogsByRoom(BeanConvertUtil.beanCovertMap(ownerDto)), OwnerDto.class);
+    }
+
+    @Override
+    public List<OwnerDto> queryAllOwners(@RequestBody OwnerDto ownerDto) {
+        List<OwnerDto> allOwners = BeanConvertUtil.covertBeanList(ownerServiceDaoImpl.getOwnerInfo(BeanConvertUtil.beanCovertMap(ownerDto)), OwnerDto.class);
+        return allOwners;
+    }
+
     public IUserInnerServiceSMO getUserInnerServiceSMOImpl() {
         return userInnerServiceSMOImpl;
     }

--
Gitblit v1.8.0