VisitInnerServiceSMOImpl.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.java110.community.smo.impl;
  2. import com.java110.common.util.BeanConvertUtil;
  3. import com.java110.community.dao.IVisitServiceDao;
  4. import com.java110.core.base.smo.BaseServiceSMO;
  5. import com.java110.core.smo.user.IUserInnerServiceSMO;
  6. import com.java110.core.smo.visit.IVisitInnerServiceSMO;
  7. import com.java110.dto.PageDto;
  8. import com.java110.dto.UserDto;
  9. import com.java110.dto.visit.VisitDto;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.web.bind.annotation.RequestBody;
  12. import org.springframework.web.bind.annotation.RestController;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. /**
  16. * @ClassName FloorInnerServiceSMOImpl
  17. * @Description 访客信息内部服务实现类
  18. * @Author wuxw
  19. * @Date 2019/4/24 9:20
  20. * @Version 1.0
  21. * add by wuxw 2019/4/24
  22. **/
  23. @RestController
  24. public class VisitInnerServiceSMOImpl extends BaseServiceSMO implements IVisitInnerServiceSMO {
  25. @Autowired
  26. private IVisitServiceDao visitServiceDaoImpl;
  27. @Autowired
  28. private IUserInnerServiceSMO userInnerServiceSMOImpl;
  29. @Override
  30. public List<VisitDto> queryVisits(@RequestBody VisitDto visitDto) {
  31. //校验是否传了 分页信息
  32. int page = visitDto.getPage();
  33. if (page != PageDto.DEFAULT_PAGE) {
  34. visitDto.setPage((page - 1) * visitDto.getRow());
  35. visitDto.setRow(page * visitDto.getRow());
  36. }
  37. List<VisitDto> visits = BeanConvertUtil.covertBeanList(visitServiceDaoImpl.getVisitInfo(BeanConvertUtil.beanCovertMap(visitDto)), VisitDto.class);
  38. if (visits == null || visits.size() == 0) {
  39. return visits;
  40. }
  41. String[] userIds = getUserIds(visits);
  42. //根据 userId 查询用户信息
  43. List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
  44. for (VisitDto visit : visits) {
  45. refreshVisit(visit, users);
  46. }
  47. return visits;
  48. }
  49. /**
  50. * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中
  51. *
  52. * @param visit 小区访客信息信息
  53. * @param users 用户列表
  54. */
  55. private void refreshVisit(VisitDto visit, List<UserDto> users) {
  56. for (UserDto user : users) {
  57. if (visit.getUserId().equals(user.getUserId())) {
  58. BeanConvertUtil.covertBean(user, visit);
  59. }
  60. }
  61. }
  62. /**
  63. * 获取批量userId
  64. *
  65. * @param visits 小区楼信息
  66. * @return 批量userIds 信息
  67. */
  68. private String[] getUserIds(List<VisitDto> visits) {
  69. List<String> userIds = new ArrayList<String>();
  70. for (VisitDto visit : visits) {
  71. userIds.add(visit.getUserId());
  72. }
  73. return userIds.toArray(new String[userIds.size()]);
  74. }
  75. @Override
  76. public int queryVisitsCount(@RequestBody VisitDto visitDto) {
  77. return visitServiceDaoImpl.queryVisitsCount(BeanConvertUtil.beanCovertMap(visitDto)); }
  78. public IVisitServiceDao getVisitServiceDaoImpl() {
  79. return visitServiceDaoImpl;
  80. }
  81. public void setVisitServiceDaoImpl(IVisitServiceDao visitServiceDaoImpl) {
  82. this.visitServiceDaoImpl = visitServiceDaoImpl;
  83. }
  84. public IUserInnerServiceSMO getUserInnerServiceSMOImpl() {
  85. return userInnerServiceSMOImpl;
  86. }
  87. public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
  88. this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
  89. }
  90. }