| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- package com.java110.community.smo.impl;
- import com.java110.common.constant.StatusConstant;
- import com.java110.common.util.BeanConvertUtil;
- import com.java110.community.dao.IRoomAttrServiceDao;
- import com.java110.community.dao.IRoomServiceDao;
- import com.java110.core.base.smo.BaseServiceSMO;
- import com.java110.core.smo.room.IRoomInnerServiceSMO;
- import com.java110.core.smo.user.IUserInnerServiceSMO;
- import com.java110.dto.PageDto;
- import com.java110.dto.RoomAttrDto;
- import com.java110.dto.RoomDto;
- import com.java110.dto.UserDto;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @ClassName FloorInnerServiceSMOImpl
- * @Description 小区房屋内部服务实现类
- * @Author wuxw
- * @Date 2019/4/24 9:20
- * @Version 1.0
- * add by wuxw 2019/4/24
- **/
- @RestController
- public class RoomInnerServiceSMOImpl extends BaseServiceSMO implements IRoomInnerServiceSMO {
- @Autowired
- private IRoomServiceDao roomServiceDaoImpl;
- @Autowired
- private IRoomAttrServiceDao roomAttrServiceDaoImpl;
- @Autowired
- private IUserInnerServiceSMO userInnerServiceSMOImpl;
- @Override
- public List<RoomDto> queryRooms(@RequestBody RoomDto roomDto) {
- //校验是否传了 分页信息
- int page = roomDto.getPage();
- if (page != PageDto.DEFAULT_PAGE) {
- roomDto.setPage((page - 1) * roomDto.getRow());
- roomDto.setRow(page * roomDto.getRow());
- }
- List<RoomDto> rooms = BeanConvertUtil.covertBeanList(roomServiceDaoImpl.getRoomInfoByCommunityId(BeanConvertUtil.beanCovertMap(roomDto)), RoomDto.class);
- if (rooms == null || rooms.size() == 0) {
- return rooms;
- }
- String[] roomIds = getRoomIds(rooms);
- Map attrParamInfo = new HashMap();
- attrParamInfo.put("roomIds", roomIds);
- attrParamInfo.put("statusCd", StatusConstant.STATUS_CD_VALID);
- List<RoomAttrDto> roomAttrDtos = BeanConvertUtil.covertBeanList(roomAttrServiceDaoImpl.getRoomAttrInfo(attrParamInfo), RoomAttrDto.class);
- String[] userIds = getUserIds(rooms);
- //根据 userId 查询用户信息
- List<UserDto> users = userInnerServiceSMOImpl.getUserInfo(userIds);
- for (RoomDto room : rooms) {
- refreshRoom(room, users, roomAttrDtos);
- }
- return rooms;
- }
- /**
- * 从用户列表中查询用户,将用户中的信息 刷新到 floor对象中
- *
- * @param room 小区小区房屋信息
- * @param users 用户列表
- * @param roomAttrDtos 房屋属性信息
- */
- private void refreshRoom(RoomDto room, List<UserDto> users, List<RoomAttrDto> roomAttrDtos) {
- for (UserDto user : users) {
- if (room.getUserId().equals(user.getUserId())) {
- BeanConvertUtil.covertBean(user, room);
- }
- }
- if (roomAttrDtos == null || roomAttrDtos.size() == 0) {
- return;
- }
- for (RoomAttrDto roomAttrDto : roomAttrDtos) {
- if (!roomAttrDto.getRoomId().equals(room.getRoomId())) {
- continue;
- }
- List<RoomAttrDto> tmpRoomAttrDtos = room.getRoomAttrDto();
- if (tmpRoomAttrDtos == null) {
- tmpRoomAttrDtos = new ArrayList<>();
- }
- tmpRoomAttrDtos.add(roomAttrDto);
- }
- }
- /**
- * 获取批量userId
- *
- * @param rooms 小区楼信息
- * @return 批量userIds 信息
- */
- private String[] getUserIds(List<RoomDto> rooms) {
- List<String> userIds = new ArrayList<String>();
- for (RoomDto room : rooms) {
- userIds.add(room.getUserId());
- }
- return userIds.toArray(new String[userIds.size()]);
- }
- /**
- * 获取roomId 信息
- *
- * @param rooms 房屋信息
- * @return roomIds
- */
- private String[] getRoomIds(List<RoomDto> rooms) {
- List<String> roomIds = new ArrayList<String>();
- for (RoomDto room : rooms) {
- roomIds.add(room.getRoomId());
- }
- return roomIds.toArray(new String[roomIds.size()]);
- }
- @Override
- public int queryRoomsCount(@RequestBody RoomDto roomDto) {
- return roomServiceDaoImpl.queryRoomsByCommunityIdCount(BeanConvertUtil.beanCovertMap(roomDto));
- }
- public IRoomServiceDao getRoomServiceDaoImpl() {
- return roomServiceDaoImpl;
- }
- public void setRoomServiceDaoImpl(IRoomServiceDao roomServiceDaoImpl) {
- this.roomServiceDaoImpl = roomServiceDaoImpl;
- }
- public IUserInnerServiceSMO getUserInnerServiceSMOImpl() {
- return userInnerServiceSMOImpl;
- }
- public void setUserInnerServiceSMOImpl(IUserInnerServiceSMO userInnerServiceSMOImpl) {
- this.userInnerServiceSMOImpl = userInnerServiceSMOImpl;
- }
- public IRoomAttrServiceDao getRoomAttrServiceDaoImpl() {
- return roomAttrServiceDaoImpl;
- }
- public void setRoomAttrServiceDaoImpl(IRoomAttrServiceDao roomAttrServiceDaoImpl) {
- this.roomAttrServiceDaoImpl = roomAttrServiceDaoImpl;
- }
- }
|