From 8db070c290fb5d176ef372cd9132ab70783e609d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 17 Nov 2023 17:56:04 +0800
Subject: [PATCH] 房屋,租赁导出修改

---
 src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java |   94 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 1 deletions(-)

diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
index 707674e..35e5bd4 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -16,14 +16,26 @@
  */
 package org.springblade.modules.house.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.utils.NodeTreeUtil;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.house.entity.HouseEntity;
+import org.springblade.modules.house.vo.HouseParam;
+import org.springblade.modules.house.vo.HouseTree;
 import org.springblade.modules.house.vo.HouseVO;
 import org.springblade.modules.house.mapper.HouseMapper;
 import org.springblade.modules.house.service.IHouseService;
-import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.house.excel.HouseExcel;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * 房屋 服务实现类
@@ -34,10 +46,90 @@
 @Service
 public class HouseServiceImpl extends ServiceImpl<HouseMapper, HouseEntity> implements IHouseService {
 
+
+	@Autowired
+	private IGridService gridService;
+
 	@Override
 	public IPage<HouseVO> selectHousePage(IPage<HouseVO> page, HouseVO house) {
 		return page.setRecords(baseMapper.selectHousePage(page, house));
 	}
 
+	/**
+	 * 房屋自定义详情查询
+	 * @param house
+	 * @return
+	 */
+	@Override
+	public HouseVO getHouseDetail(HouseVO house) {
+		return baseMapper.getHouseDetail(house);
+	}
 
+	/**
+	 * 房屋自定义新增或修改
+	 * @param house
+	 * @return
+	 */
+	@Override
+	public boolean saveOrUpdateHouse(HouseEntity house) {
+		// 查询是否已存在房屋数据
+		QueryWrapper<HouseEntity> wrapper = new QueryWrapper<>();
+		wrapper.eq("house_code",house.getHouseCode());
+		HouseEntity one = getOne(wrapper);
+		if (null != one){
+			house.setId(one.getId());
+			// 更新数据
+			return updateById(house);
+		}
+		//插入数据
+		return save(house);
+	}
+
+
+	/**
+	 * 导入房屋数据
+	 * @param data
+	 * @param isCovered
+	 */
+	@Override
+	public void importUserHouse(List<HouseExcel> data, Boolean isCovered) {
+		data.forEach(houseExcel -> {
+			HouseEntity HouseEntity = Objects.requireNonNull(BeanUtil.copy(houseExcel, HouseEntity.class));
+			this.save(HouseEntity);
+		});
+	}
+
+	@Override
+	public List<HouseExcel> export(HouseVO household) {
+		List<HouseExcel> houseExcels = baseMapper.export(household);
+		return houseExcels;
+	}
+
+	/**
+	 * 查询房屋树
+	 * @param houseParam
+	 * @return
+	 */
+	@Override
+	public List<HouseTree> getHouseTree(HouseParam houseParam) {
+		List<String> houseCodeList = getHouseCodeList(houseParam);
+		return NodeTreeUtil.getHouseTree(baseMapper.getHouseTree(houseParam,houseCodeList));
+	}
+
+
+	/**
+	 * 根据角色获取地址编号集合
+	 * @param houseParam
+	 * @return
+	 */
+	private List<String> getHouseCodeList(HouseParam houseParam) {
+		List<String> stringList = new ArrayList<>();
+		if (null != houseParam.getRoleName() && !houseParam.getRoleName().equals("")) {
+			if (houseParam.getRoleName().equals("网格员")) {
+				// 查询对应的房屋地址code
+				stringList = gridService.getAddressCodeListByUserId(AuthUtil.getUserId());
+			}
+		}
+		return stringList;
+	}
 }

--
Gitblit v1.9.3