java110 %!s(int64=5) %!d(string=hai) anos
pai
achega
a6a9dd4a9c

+ 37 - 0
java110-bean/src/main/java/com/java110/dto/owner/OwnerAttrDto.java

@@ -20,6 +20,11 @@ public class OwnerAttrDto extends PageDto implements Serializable {
     private String communityId;
     private String value;
     private String memberId;
+    private String[] memberIds;
+
+    private String valueName;
+    private String specName;
+    private String listShow;
 
 
     private Date createTime;
@@ -83,4 +88,36 @@ public class OwnerAttrDto extends PageDto implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String[] getMemberIds() {
+        return memberIds;
+    }
+
+    public void setMemberIds(String[] memberIds) {
+        this.memberIds = memberIds;
+    }
+
+    public String getValueName() {
+        return valueName;
+    }
+
+    public void setValueName(String valueName) {
+        this.valueName = valueName;
+    }
+
+    public String getSpecName() {
+        return specName;
+    }
+
+    public void setSpecName(String specName) {
+        this.specName = specName;
+    }
+
+    public String getListShow() {
+        return listShow;
+    }
+
+    public void setListShow(String listShow) {
+        this.listShow = listShow;
+    }
 }

+ 11 - 0
java110-bean/src/main/java/com/java110/dto/owner/OwnerDto.java

@@ -4,6 +4,7 @@ import com.java110.dto.PageDto;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName FloorDto
@@ -47,6 +48,8 @@ public class OwnerDto extends PageDto implements Serializable {
 
     private String userName;
 
+    private List<OwnerAttrDto> ownerAttrDtos;
+
 
     private Date createTime;
 
@@ -254,4 +257,12 @@ public class OwnerDto extends PageDto implements Serializable {
     public void setOwnerTypeCds(String[] ownerTypeCds) {
         this.ownerTypeCds = ownerTypeCds;
     }
+
+    public List<OwnerAttrDto> getOwnerAttrDtos() {
+        return ownerAttrDtos;
+    }
+
+    public void setOwnerAttrDtos(List<OwnerAttrDto> ownerAttrDtos) {
+        this.ownerAttrDtos = ownerAttrDtos;
+    }
 }

+ 13 - 0
java110-bean/src/main/java/com/java110/vo/api/ApiOwnerDataVo.java

@@ -1,7 +1,10 @@
 package com.java110.vo.api;
 
+import com.java110.dto.owner.OwnerAttrDto;
 import com.java110.vo.Vo;
 
+import java.util.List;
+
 /**
  * @ClassName ApiFloorDataVo
  * @Description TODO
@@ -36,6 +39,8 @@ public class ApiOwnerDataVo extends Vo {
     private String ownerTypeCd;
     private String ownerTypeName;
 
+    private List<OwnerAttrDto> ownerAttrDtos;
+
     private String idCard;
 
     public String getOwnerId() {
@@ -133,4 +138,12 @@ public class ApiOwnerDataVo extends Vo {
     public void setOwnerTypeName(String ownerTypeName) {
         this.ownerTypeName = ownerTypeName;
     }
+
+    public List<OwnerAttrDto> getOwnerAttrDtos() {
+        return ownerAttrDtos;
+    }
+
+    public void setOwnerAttrDtos(List<OwnerAttrDto> ownerAttrDtos) {
+        this.ownerAttrDtos = ownerAttrDtos;
+    }
 }

+ 13 - 1
java110-db/src/main/resources/mapper/user/OwnerAttrServiceDaoImplMapper.xml

@@ -84,8 +84,13 @@
     <select id="getOwnerAttrInfo" parameterType="Map" resultType="Map">
         select t.attr_id,t.attr_id attrId,t.create_time,t.create_time createTime,t.spec_cd,t.spec_cd
         specCd,t.status_cd,t.status_cd statusCd,t.b_id,t.b_id bId,t.community_id,t.community_id
-        communityId,t.value,t.member_id,t.member_id memberId
+        communityId,t.value,t.member_id,t.member_id memberId,
+        s.spec_name specName,
+        v.value_name valueName,
+        s.list_show listShow
         from building_owner_attr t
+        left join attr_spec s on t.spec_cd = s.spec_cd and s.status_cd = '0' and s.table_name = 'building_room_attr'
+        left join attr_value v on t.`value` = v.`value` and t.spec_cd = v.spec_cd and v.status_cd = '0'
         where 1 =1
         <if test="attrId !=null and attrId != ''">
             and t.attr_id= #{attrId}
@@ -111,6 +116,13 @@
         <if test="memberId !=null and memberId != ''">
             and t.member_id= #{memberId}
         </if>
+        <if test="memberIds !=null">
+            and t.member_id in
+            <foreach collection="memberIds" open="(" close=")"
+                     separator="," item="item">
+                #{item}
+            </foreach>
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}

+ 63 - 27
service-user/src/main/java/com/java110/user/smo/impl/OwnerInnerServiceSMOImpl.java

@@ -1,18 +1,20 @@
 package com.java110.user.smo.impl;
 
 
-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.intf.community.ICommunityInnerServiceSMO;
-import com.java110.intf.user.IOwnerInnerServiceSMO;
-import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.dto.CommunityMemberDto;
-import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.PageDto;
+import com.java110.dto.owner.OwnerAttrDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.user.UserDto;
+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.user.dao.IOwnerServiceDao;
+import com.java110.utils.constant.OwnerTypeConstant;
+import com.java110.utils.constant.StatusConstant;
+import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
@@ -35,6 +37,9 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
     @Autowired
     private IOwnerServiceDao ownerServiceDaoImpl;
 
+    @Autowired
+    private IOwnerAttrInnerServiceSMO ownerAttrInnerServiceSMOImpl;
+
     @Autowired
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
@@ -45,19 +50,6 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
     @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();
 
         if (page != PageDto.DEFAULT_PAGE) {
@@ -65,9 +57,9 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
         }
 
         Map ownerInfo = BeanConvertUtil.beanCovertMap(ownerDto);
-        ownerInfo.put("communityId",ownerDto.getCommunityId());
+        ownerInfo.put("communityId", ownerDto.getCommunityId());
         ownerInfo.put("ownerTypeCd", OwnerTypeConstant.OWNER);
-       // ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
+        // ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
         //ownerInfo.put("ownerTypeCd", ownerDto.getOwnerTypeCd());
         ownerInfo.put("statusCd", StatusConstant.STATUS_CD_VALID);
 
@@ -80,9 +72,14 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
         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;
     }
@@ -97,9 +94,14 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
         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;
     }
@@ -110,13 +112,26 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
      * @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;
+            }
+        }
+
+        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);
             }
         }
+
+        owner.setOwnerAttrDtos(tmpOwnerAttrDtos);
     }
 
     /**
@@ -149,6 +164,21 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
         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) {
 
@@ -164,7 +194,7 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
         }
 
         Map ownerInfo = BeanConvertUtil.beanCovertMap(ownerDto);
-        ownerInfo.put("communityId",ownerDto.getCommunityId());
+        ownerInfo.put("communityId", ownerDto.getCommunityId());
         ownerInfo.put("ownerTypeCd", OwnerTypeConstant.OWNER);
         // ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
         //ownerInfo.put("ownerTypeCd", ownerDto.getOwnerTypeCd());
@@ -206,8 +236,14 @@ public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerIn
         //根据 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;
     }