|
@@ -1,12 +1,11 @@
|
|
|
package com.slibra.business.service.impl;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collections;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import com.slibra.business.domain.TNeighborhoodBuilding;
|
|
|
import com.slibra.business.domain.TPumpingStation;
|
|
|
+import com.slibra.business.mapper.TNeighborhoodBuildingMapper;
|
|
|
import com.slibra.business.res.PumpAndBuildingNumberNames;
|
|
|
import com.slibra.business.res.PumpAndNumber;
|
|
|
import com.slibra.common.utils.DateUtils;
|
|
@@ -15,6 +14,7 @@ import org.springframework.stereotype.Service;
|
|
|
import com.slibra.business.mapper.TNeighborhoodMapper;
|
|
|
import com.slibra.business.domain.TNeighborhood;
|
|
|
import com.slibra.business.service.ITNeighborhoodService;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
/**
|
|
@@ -29,6 +29,9 @@ public class TNeighborhoodServiceImpl implements ITNeighborhoodService
|
|
|
@Autowired
|
|
|
private TNeighborhoodMapper tNeighborhoodMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private TNeighborhoodBuildingMapper tNeighborhoodBuildingMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 查询服务小区
|
|
|
*
|
|
@@ -72,9 +75,37 @@ public class TNeighborhoodServiceImpl implements ITNeighborhoodService
|
|
|
public int insertTNeighborhood(TNeighborhood tNeighborhood)
|
|
|
{
|
|
|
tNeighborhood.setCreateTime(DateUtils.getNowDate());
|
|
|
+ //2024年11月12日15:08:28 需要额外处理一下关联表(小区和楼号的关联表)
|
|
|
+ this.handleBuildingNumber(tNeighborhood);
|
|
|
return tNeighborhoodMapper.insertTNeighborhood(tNeighborhood);
|
|
|
}
|
|
|
|
|
|
+ private void handleBuildingNumber(TNeighborhood tNeighborhood) {
|
|
|
+ //先把历史的楼号删除
|
|
|
+ Long id = tNeighborhood.getId();
|
|
|
+ deleteNeighbourhoodBuildingsById(id);
|
|
|
+ //再把新的楼号添加进去
|
|
|
+ List<String> buildingNameList = tNeighborhood.getBuildingNameList();
|
|
|
+ for (int i = 0; i < buildingNameList.size(); i++) {
|
|
|
+ TNeighborhoodBuilding tNeighborhoodBuilding = new TNeighborhoodBuilding();
|
|
|
+ tNeighborhoodBuilding.setNeighborhoodId(id);
|
|
|
+ tNeighborhoodBuilding.setName(buildingNameList.get(i));
|
|
|
+ tNeighborhoodBuilding.setSort(i);
|
|
|
+ this.tNeighborhoodBuildingMapper.insertTNeighborhoodBuilding(tNeighborhoodBuilding);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 通过小区的ID把之前设置的楼号的信息删除
|
|
|
+ * @param id
|
|
|
+ */
|
|
|
+ private void deleteNeighbourhoodBuildingsById(Long id) {
|
|
|
+ List<TNeighborhoodBuilding> tNeighborhoodBuildings = this.tNeighborhoodBuildingMapper.selectTNeighborhoodBuildingList(TNeighborhoodBuilding.builder().neighborhoodId(id).build());
|
|
|
+ if(!CollectionUtils.isEmpty(tNeighborhoodBuildings)){
|
|
|
+ this.tNeighborhoodBuildingMapper.deleteTNeighborhoodBuildingByIds(tNeighborhoodBuildings.stream().map(TNeighborhoodBuilding::getId).toArray(Long[]::new));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 修改服务小区
|
|
|
*
|
|
@@ -85,6 +116,8 @@ public class TNeighborhoodServiceImpl implements ITNeighborhoodService
|
|
|
public int updateTNeighborhood(TNeighborhood tNeighborhood)
|
|
|
{
|
|
|
tNeighborhood.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ //2024年11月12日15:08:28 需要额外处理一下关联表(小区和楼号的关联表)
|
|
|
+ this.handleBuildingNumber(tNeighborhood);
|
|
|
return tNeighborhoodMapper.updateTNeighborhood(tNeighborhood);
|
|
|
}
|
|
|
|
|
@@ -95,8 +128,12 @@ public class TNeighborhoodServiceImpl implements ITNeighborhoodService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public int deleteTNeighborhoodByIds(Long[] ids)
|
|
|
{
|
|
|
+ for (Long id : ids) {
|
|
|
+ deleteNeighbourhoodBuildingsById(id);
|
|
|
+ }
|
|
|
return tNeighborhoodMapper.deleteTNeighborhoodByIds(ids);
|
|
|
}
|
|
|
|
|
@@ -107,8 +144,11 @@ public class TNeighborhoodServiceImpl implements ITNeighborhoodService
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public int deleteTNeighborhoodById(Long id)
|
|
|
{
|
|
|
+ //2024年11月12日15:27:10 删除小区的同时,需要把对应小区楼号也同时删除
|
|
|
+ deleteNeighbourhoodBuildingsById(id);
|
|
|
return tNeighborhoodMapper.deleteTNeighborhoodById(id);
|
|
|
}
|
|
|
|
|
@@ -142,4 +182,13 @@ public class TNeighborhoodServiceImpl implements ITNeighborhoodService
|
|
|
});
|
|
|
return result;
|
|
|
}
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ List<TNeighborhoodBuilding> tNeighborhoodBuildings = new ArrayList<>();
|
|
|
+ tNeighborhoodBuildings.add(TNeighborhoodBuilding.builder().id(1L).build());
|
|
|
+ tNeighborhoodBuildings.add(TNeighborhoodBuilding.builder().id(2L).build());
|
|
|
+ tNeighborhoodBuildings.add(TNeighborhoodBuilding.builder().id(3L).build());
|
|
|
+ Long[] array = tNeighborhoodBuildings.stream().map(TNeighborhoodBuilding::getId).toArray(Long[]::new);
|
|
|
+ System.out.println(Arrays.toString(array));
|
|
|
+ }
|
|
|
}
|