java110-db/src/main/resources/mapper/community/InitializeBuildingUnitDaoImplMapper.xml
@@ -24,9 +24,10 @@ and community_id = #{communityId} </delete> <delete id="deleteOwnerRoomRel" parameterType="Map"> delete from building_owner_room_rel where room_id in( select t.room_id from building_room t where t.community_id = #{communityId} ) delete from building_owner_room_rel where room_id in <foreach collection="roomIds" item="item" open="(" close=")" separator=","> #{item} </foreach> </delete> <!-- 初始化数据 add by wuxw 2018-07-03 --> java110-db/src/main/resources/mapper/user/InitializeOwnerServiceDaoImplMapper.xml
@@ -12,9 +12,10 @@ <delete id="deleteUser" parameterType="Map"> delete from u_user where user_id in( select t.user_id from owner_app_user t where t.community_id = #{communityId} ) delete from u_user where user_id in <foreach collection="userIds" item="item" open="(" close=")" separator=","> #{item} </foreach> </delete> <delete id="deleteOwnerAppUser" parameterType="Map"> delete from owner_app_user where 1=1 service-community/src/main/java/com/java110/community/smo/impl/InitializeBuildingUnitSMOImpl.java
@@ -3,6 +3,9 @@ import com.java110.community.dao.IInitializeBuildingUnitDao; import com.java110.core.base.smo.BaseServiceSMO; import com.java110.dto.owner.OwnerAppUserDto; import com.java110.dto.room.RoomDto; import com.java110.intf.community.IRoomV1InnerServiceSMO; import com.java110.intf.community.IinitializeBuildingUnitSMO; import org.slf4j.Logger; import com.java110.core.log.LoggerFactory; @@ -11,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody; import java.util.ArrayList; import java.util.List; import java.util.Map; /** @@ -21,6 +26,10 @@ public class InitializeBuildingUnitSMOImpl extends BaseServiceSMO implements IinitializeBuildingUnitSMO { private static Logger logger = LoggerFactory.getLogger(InitializeBuildingUnitSMOImpl.class); public static final int DEFAULT_ROW = 200; @Autowired private IRoomV1InnerServiceSMO roomV1InnerServiceSMOImpl; @Autowired private IInitializeBuildingUnitDao initializeBuildingUnitDaoImpl; @@ -43,6 +52,28 @@ //todo 自动解绑房屋 先注释,子查询删除报错 // initializeBuildingUnitDaoImpl.deleteOwnerRoomRel(communityId); RoomDto roomDto = new RoomDto(); roomDto.setCommunityId(communityId.get("communityId").toString()); int count = roomV1InnerServiceSMOImpl.queryRoomsCount(roomDto); int page = (int) Math.floor(count / DEFAULT_ROW); List<String> roomIds = null; for (int pageIndex = 1; pageIndex < page + 1; pageIndex++) { roomDto = new RoomDto(); roomDto.setPage(pageIndex); roomDto.setRow(DEFAULT_ROW); roomDto.setCommunityId(communityId.get("communityId").toString()); List<RoomDto> roomDtos = roomV1InnerServiceSMOImpl.queryRooms(roomDto); if (roomDtos == null || roomDtos.size() < 1) { continue; } roomIds = new ArrayList<>(); for (RoomDto tmpRoomDto : roomDtos) { roomIds.add(tmpRoomDto.getRoomId()); } communityId.put("roomIds", roomIds.toArray(new String[roomIds.size()])); initializeBuildingUnitDaoImpl.deleteOwnerRoomRel(communityId); } return deleteFlag; } service-user/src/main/java/com/java110/user/smo/impl/InitializeOwnerInnerServiceSMOImpl.java
@@ -1,12 +1,16 @@ package com.java110.user.smo.impl; import com.java110.core.base.smo.BaseServiceSMO; import com.java110.dto.owner.OwnerAppUserDto; import com.java110.intf.user.IInitializeOwnerInnerServiceSMO; import com.java110.intf.user.IOwnerAppUserV1InnerServiceSMO; import com.java110.user.dao.IInitializeOwneServiceDao; 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.List; import java.util.Map; /** @@ -20,14 +24,43 @@ @RestController public class InitializeOwnerInnerServiceSMOImpl extends BaseServiceSMO implements IInitializeOwnerInnerServiceSMO { public static final int DEFAULT_ROW = 200; @Autowired private IInitializeOwneServiceDao initializeOwnerServiceDaoImpl; @Autowired private IOwnerAppUserV1InnerServiceSMO ownerAppUserV1InnerServiceSMOImpl; @Override public int deleteBuildingOwner(@RequestBody Map communityId) { int deleteFast = initializeOwnerServiceDaoImpl.deleteBuildingOwner(communityId); //todo 删除 业主绑定数据 //initializeOwnerServiceDaoImpl.deleteUser(communityId); OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto(); ownerAppUserDto.setCommunityId(communityId.get("communityId").toString()); int count = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsersCount(ownerAppUserDto); int page = (int) Math.floor(count / DEFAULT_ROW); List<String> userIds = null; for (int pageIndex = 1; pageIndex < page + 1; pageIndex++) { ownerAppUserDto = new OwnerAppUserDto(); ownerAppUserDto.setPage(pageIndex); ownerAppUserDto.setRow(DEFAULT_ROW); ownerAppUserDto.setCommunityId(communityId.get("communityId").toString()); List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserV1InnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto); if (ownerAppUserDtos == null || ownerAppUserDtos.size() < 1) { continue; } userIds = new ArrayList<>(); for (OwnerAppUserDto tmpOwnerAppUserDto : ownerAppUserDtos) { userIds.add(tmpOwnerAppUserDto.getUserId()); } communityId.put("userIds", userIds.toArray(new String[userIds.size()])); initializeOwnerServiceDaoImpl.deleteUser(communityId); } initializeOwnerServiceDaoImpl.deleteOwnerAppUser(communityId); return deleteFast; }