OwnerInnerServiceSMOImpl.java 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. package com.java110.user.smo.impl;
  2. import com.java110.common.constant.CommunityMemberTypeConstant;
  3. import com.java110.common.constant.StatusConstant;
  4. import com.java110.common.util.BeanConvertUtil;
  5. import com.java110.core.base.smo.BaseServiceSMO;
  6. import com.java110.core.smo.community.ICommunityInnerServiceSMO;
  7. import com.java110.core.smo.owner.IOwnerInnerServiceSMO;
  8. import com.java110.core.smo.user.IUserInnerServiceSMO;
  9. import com.java110.dto.CommunityMemberDto;
  10. import com.java110.dto.OwnerDto;
  11. import com.java110.dto.PageDto;
  12. import com.java110.dto.UserDto;
  13. import com.java110.user.dao.IOwnerServiceDao;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.util.StringUtils;
  16. import org.springframework.web.bind.annotation.RequestBody;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import java.util.ArrayList;
  19. import java.util.HashMap;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * @ClassName FloorInnerServiceSMOImpl
  24. * @Description 业主内部服务实现类
  25. * @Author wuxw
  26. * @Date 2019/4/24 9:20
  27. * @Version 1.0
  28. * add by wuxw 2019/4/24
  29. **/
  30. @RestController
  31. public class OwnerInnerServiceSMOImpl extends BaseServiceSMO implements IOwnerInnerServiceSMO {
  32. @Autowired
  33. private IOwnerServiceDao ownerServiceDaoImpl;
  34. @Autowired
  35. private IUserInnerServiceSMO userInnerServiceSMOImpl;
  36. @Autowired
  37. private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
  38. @Override
  39. public List<OwnerDto> queryOwners(@RequestBody OwnerDto ownerDto) {
  40. //communityInnerServiceSMOImpl.getCommunityMembers()
  41. //调用 小区服务查询 小区成员业主信息
  42. CommunityMemberDto communityMemberDto = BeanConvertUtil.covertBean(ownerDto, CommunityMemberDto.class);
  43. communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.OWNER);
  44. if(StringUtils.isEmpty(communityMemberDto.getMemberId())&& !StringUtils.isEmpty(ownerDto.getOwnerId())){
  45. communityMemberDto.setMemberId(ownerDto.getOwnerId());
  46. }
  47. List<CommunityMemberDto> communityMemberDtos = communityInnerServiceSMOImpl.getCommunityMembers(communityMemberDto);
  48. if (communityMemberDtos == null || communityMemberDtos.size() < 1) {
  49. return null;
  50. }
  51. Map ownerInfo = new HashMap();
  52. ownerInfo.put("ownerIds", getOwnerIds(communityMemberDtos));
  53. ownerInfo.put("ownerTypeCd", ownerDto.getOwnerTypeCd());
  54. ownerInfo.put("statusCd", StatusConstant.STATUS_CD_VALID);
  55. List<OwnerDto> owners = BeanConvertUtil.covertBeanList(ownerServiceDaoImpl.getOwnerInfo(ownerInfo), OwnerDto.class);
  56. if (owners == null || owners.size() == 0) {
  57. return owners;
  58. }
  59. String[] userIds = getUserIds(owners);
  60. //根据 userId 查询用户信息
  61. List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
  62. for (OwnerDto owner : owners) {
  63. refreshOwner(owner, users);
  64. }
  65. return owners;
  66. }
  67. @Override
  68. public List<OwnerDto> queryOwnerMembers(@RequestBody OwnerDto ownerDto) {
  69. List<OwnerDto> owners = BeanConvertUtil.covertBeanList(ownerServiceDaoImpl.getOwnerInfo(BeanConvertUtil.beanCovertMap(ownerDto)), OwnerDto.class);
  70. if (owners == null || owners.size() == 0) {
  71. return owners;
  72. }
  73. String[] userIds = getUserIds(owners);
  74. //根据 userId 查询用户信息
  75. List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
  76. for (OwnerDto owner : owners) {
  77. refreshOwner(owner, users);
  78. }
  79. return owners;
  80. }
  81. /**
  82. * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中
  83. *
  84. * @param owner 小区业主信息
  85. * @param users 用户列表
  86. */
  87. private void refreshOwner(OwnerDto owner, List<UserDto> users) {
  88. for (UserDto user : users) {
  89. if (owner.getUserId().equals(user.getUserId())) {
  90. //BeanConvertUtil.covertBean(user, owner);
  91. owner.setUserName(user.getUserName());
  92. }
  93. }
  94. }
  95. /**
  96. * 获取批量userId
  97. *
  98. * @param communityMemberDtos 小区楼信息
  99. * @return 批量userIds 信息
  100. */
  101. private String[] getOwnerIds(List<CommunityMemberDto> communityMemberDtos) {
  102. List<String> ownerIds = new ArrayList<String>();
  103. for (CommunityMemberDto communityMemberDto : communityMemberDtos) {
  104. ownerIds.add(communityMemberDto.getMemberId());
  105. }
  106. return ownerIds.toArray(new String[ownerIds.size()]);
  107. }
  108. /**
  109. * 获取批量userId
  110. *
  111. * @param owners 小区楼信息
  112. * @return 批量userIds 信息
  113. */
  114. private String[] getUserIds(List<OwnerDto> owners) {
  115. List<String> userIds = new ArrayList<String>();
  116. for (OwnerDto owner : owners) {
  117. userIds.add(owner.getUserId());
  118. }
  119. return userIds.toArray(new String[userIds.size()]);
  120. }
  121. @Override
  122. public int queryOwnersCount(@RequestBody OwnerDto ownerDto) {
  123. //调用 小区服务查询 小区成员业主信息
  124. CommunityMemberDto communityMemberDto = new CommunityMemberDto();
  125. communityMemberDto.setCommunityId(ownerDto.getCommunityId());
  126. communityMemberDto.setMemberTypeCd(CommunityMemberTypeConstant.OWNER);
  127. return communityInnerServiceSMOImpl.getCommunityMemberCount(communityMemberDto);
  128. }
  129. @Override
  130. public int queryOwnerCountByCondition(@RequestBody OwnerDto ownerDto) {
  131. //校验是否传了 分页信息
  132. int page = ownerDto.getPage();
  133. if (page != PageDto.DEFAULT_PAGE) {
  134. ownerDto.setPage((page - 1) * ownerDto.getRow());
  135. ownerDto.setRow(page * ownerDto.getRow());
  136. }
  137. return ownerServiceDaoImpl.queryOwnersCount(BeanConvertUtil.beanCovertMap(ownerDto));
  138. }
  139. @Override
  140. public List<OwnerDto> queryOwnersByCondition(@RequestBody OwnerDto ownerDto) {
  141. //校验是否传了 分页信息
  142. int page = ownerDto.getPage();
  143. if (page != PageDto.DEFAULT_PAGE) {
  144. ownerDto.setPage((page - 1) * ownerDto.getRow());
  145. ownerDto.setRow(page * ownerDto.getRow());
  146. }
  147. List<OwnerDto> owners = BeanConvertUtil.covertBeanList(
  148. ownerServiceDaoImpl.getOwnerInfoByCondition(BeanConvertUtil.beanCovertMap(ownerDto)), OwnerDto.class);
  149. if (owners == null || owners.size() == 0) {
  150. return owners;
  151. }
  152. String[] userIds = getUserIds(owners);
  153. //根据 userId 查询用户信息
  154. List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
  155. for (OwnerDto owner : owners) {
  156. refreshOwner(owner, users);
  157. }
  158. return owners;
  159. }
  160. @Override
  161. public int queryNoEnterRoomOwnerCount(OwnerDto ownerDto) {
  162. return ownerServiceDaoImpl.queryNoEnterRoomOwnerCount(BeanConvertUtil.beanCovertMap(ownerDto));
  163. }
  164. public IUserInnerServiceSMO getUserInnerServiceSMOImpl() {
  165. return userInnerServiceSMOImpl;
  166. }
  167. public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
  168. this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
  169. }
  170. public ICommunityInnerServiceSMO getCommunityInnerServiceSMOImpl() {
  171. return communityInnerServiceSMOImpl;
  172. }
  173. public void setCommunityInnerServiceSMOImpl(ICommunityInnerServiceSMO communityInnerServiceSMOImpl) {
  174. this.communityInnerServiceSMOImpl = communityInnerServiceSMOImpl;
  175. }
  176. public IOwnerServiceDao getOwnerServiceDaoImpl() {
  177. return ownerServiceDaoImpl;
  178. }
  179. public void setOwnerServiceDaoImpl(IOwnerServiceDao ownerServiceDaoImpl) {
  180. this.ownerServiceDaoImpl = ownerServiceDaoImpl;
  181. }
  182. }