MeterWaterInnerServiceSMOImpl.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package com.java110.fee.smo.impl;
  2. import com.java110.core.base.smo.BaseServiceSMO;
  3. import com.java110.core.smo.fee.IMeterWaterInnerServiceSMO;
  4. import com.java110.core.smo.user.IUserInnerServiceSMO;
  5. import com.java110.dto.PageDto;
  6. import com.java110.dto.meterWater.MeterWaterDto;
  7. import com.java110.dto.user.UserDto;
  8. import com.java110.fee.dao.IMeterWaterServiceDao;
  9. import com.java110.utils.util.BeanConvertUtil;
  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 MeterWaterInnerServiceSMOImpl extends BaseServiceSMO implements IMeterWaterInnerServiceSMO {
  25. @Autowired
  26. private IMeterWaterServiceDao meterWaterServiceDaoImpl;
  27. @Autowired
  28. private IUserInnerServiceSMO userInnerServiceSMOImpl;
  29. @Override
  30. public List<MeterWaterDto> queryMeterWaters(@RequestBody MeterWaterDto meterWaterDto) {
  31. //校验是否传了 分页信息
  32. int page = meterWaterDto.getPage();
  33. if (page != PageDto.DEFAULT_PAGE) {
  34. meterWaterDto.setPage((page - 1) * meterWaterDto.getRow());
  35. }
  36. List<MeterWaterDto> meterWaters = BeanConvertUtil.covertBeanList(meterWaterServiceDaoImpl.getMeterWaterInfo(BeanConvertUtil.beanCovertMap(meterWaterDto)), MeterWaterDto.class);
  37. if (meterWaters == null || meterWaters.size() == 0) {
  38. return meterWaters;
  39. }
  40. String[] userIds = getUserIds(meterWaters);
  41. //根据 userId 查询用户信息
  42. List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
  43. for (MeterWaterDto meterWater : meterWaters) {
  44. refreshMeterWater(meterWater, users);
  45. }
  46. return meterWaters;
  47. }
  48. /**
  49. * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中
  50. *
  51. * @param meterWater 小区水电费信息
  52. * @param users 用户列表
  53. */
  54. private void refreshMeterWater(MeterWaterDto meterWater, List<UserDto> users) {
  55. for (UserDto user : users) {
  56. if (meterWater.getWaterId().equals(user.getUserId())) {
  57. BeanConvertUtil.covertBean(user, meterWater);
  58. }
  59. }
  60. }
  61. /**
  62. * 获取批量userId
  63. *
  64. * @param meterWaters 小区楼信息
  65. * @return 批量userIds 信息
  66. */
  67. private String[] getUserIds(List<MeterWaterDto> meterWaters) {
  68. List<String> userIds = new ArrayList<String>();
  69. for (MeterWaterDto meterWater : meterWaters) {
  70. userIds.add(meterWater.getWaterId());
  71. }
  72. return userIds.toArray(new String[userIds.size()]);
  73. }
  74. @Override
  75. public int queryMeterWatersCount(@RequestBody MeterWaterDto meterWaterDto) {
  76. return meterWaterServiceDaoImpl.queryMeterWatersCount(BeanConvertUtil.beanCovertMap(meterWaterDto));
  77. }
  78. public IMeterWaterServiceDao getMeterWaterServiceDaoImpl() {
  79. return meterWaterServiceDaoImpl;
  80. }
  81. public void setMeterWaterServiceDaoImpl(IMeterWaterServiceDao meterWaterServiceDaoImpl) {
  82. this.meterWaterServiceDaoImpl = meterWaterServiceDaoImpl;
  83. }
  84. public IUserInnerServiceSMO getUserInnerServiceSMOImpl() {
  85. return userInnerServiceSMOImpl;
  86. }
  87. public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
  88. this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
  89. }
  90. }