MeterWaterInnerServiceSMOImpl.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. package com.java110.fee.smo.impl;
  2. import com.java110.core.base.smo.BaseServiceSMO;
  3. import com.java110.intf.fee.IMeterWaterInnerServiceSMO;
  4. import com.java110.intf.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.po.fee.PayFeePo;
  10. import com.java110.po.meterWater.MeterWaterPo;
  11. import com.java110.utils.util.BeanConvertUtil;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.web.bind.annotation.RequestBody;
  14. import org.springframework.web.bind.annotation.RestController;
  15. import java.util.ArrayList;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * @ClassName FloorInnerServiceSMOImpl
  21. * @Description 水电费内部服务实现类
  22. * @Author wuxw
  23. * @Date 2019/4/24 9:20
  24. * @Version 1.0
  25. * add by wuxw 2019/4/24
  26. **/
  27. @RestController
  28. public class MeterWaterInnerServiceSMOImpl extends BaseServiceSMO implements IMeterWaterInnerServiceSMO {
  29. @Autowired
  30. private IMeterWaterServiceDao meterWaterServiceDaoImpl;
  31. @Autowired
  32. private IUserInnerServiceSMO userInnerServiceSMOImpl;
  33. @Override
  34. public List<MeterWaterDto> queryMeterWaters(@RequestBody MeterWaterDto meterWaterDto) {
  35. //校验是否传了 分页信息
  36. int page = meterWaterDto.getPage();
  37. if (page != PageDto.DEFAULT_PAGE) {
  38. meterWaterDto.setPage((page - 1) * meterWaterDto.getRow());
  39. }
  40. List<MeterWaterDto> meterWaters = BeanConvertUtil.covertBeanList(meterWaterServiceDaoImpl.getMeterWaterInfo(BeanConvertUtil.beanCovertMap(meterWaterDto)), MeterWaterDto.class);
  41. if (meterWaters == null || meterWaters.size() == 0) {
  42. return meterWaters;
  43. }
  44. String[] userIds = getUserIds(meterWaters);
  45. //根据 userId 查询用户信息
  46. List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
  47. for (MeterWaterDto meterWater : meterWaters) {
  48. refreshMeterWater(meterWater, users);
  49. }
  50. return meterWaters;
  51. }
  52. /**
  53. * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中
  54. *
  55. * @param meterWater 小区水电费信息
  56. * @param users 用户列表
  57. */
  58. private void refreshMeterWater(MeterWaterDto meterWater, List<UserDto> users) {
  59. for (UserDto user : users) {
  60. if (meterWater.getWaterId().equals(user.getUserId())) {
  61. BeanConvertUtil.covertBean(user, meterWater);
  62. }
  63. }
  64. }
  65. /**
  66. * 获取批量userId
  67. *
  68. * @param meterWaters 小区楼信息
  69. * @return 批量userIds 信息
  70. */
  71. private String[] getUserIds(List<MeterWaterDto> meterWaters) {
  72. List<String> userIds = new ArrayList<String>();
  73. for (MeterWaterDto meterWater : meterWaters) {
  74. userIds.add(meterWater.getWaterId());
  75. }
  76. return userIds.toArray(new String[userIds.size()]);
  77. }
  78. @Override
  79. public int queryMeterWatersCount(@RequestBody MeterWaterDto meterWaterDto) {
  80. return meterWaterServiceDaoImpl.queryMeterWatersCount(BeanConvertUtil.beanCovertMap(meterWaterDto));
  81. }
  82. @Override
  83. public int saveMeterWaters(@RequestBody List<MeterWaterPo> meterWaterPos) {
  84. List<Map> fees = new ArrayList<>();
  85. for (MeterWaterPo payFeePo : meterWaterPos) {
  86. fees.add(BeanConvertUtil.beanCovertMap(payFeePo));
  87. }
  88. Map info = new HashMap();
  89. info.put("meterWaterPos", fees);
  90. return meterWaterServiceDaoImpl.insertMeterWaters(info);
  91. }
  92. public IMeterWaterServiceDao getMeterWaterServiceDaoImpl() {
  93. return meterWaterServiceDaoImpl;
  94. }
  95. public void setMeterWaterServiceDaoImpl(IMeterWaterServiceDao meterWaterServiceDaoImpl) {
  96. this.meterWaterServiceDaoImpl = meterWaterServiceDaoImpl;
  97. }
  98. public IUserInnerServiceSMO getUserInnerServiceSMOImpl() {
  99. return userInnerServiceSMOImpl;
  100. }
  101. public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
  102. this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
  103. }
  104. }