From 55d677758efadb6d42e6d4e595cecc2c50c20d5a Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Sat, 23 Dec 2023 17:19:12 +0800
Subject: [PATCH] bug修复

---
 src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java |  100 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 99 insertions(+), 1 deletions(-)

diff --git a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
index a4c3f9e..7a6d211 100644
--- a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
+++ b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
@@ -16,13 +16,24 @@
  */
 package org.springblade.modules.property.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import liquibase.pro.packaged.D;
+import liquibase.pro.packaged.P;
 import org.springblade.modules.property.entity.PropertyCompanyEntity;
+import org.springblade.modules.property.vo.PropertyCompanyDetailVO;
 import org.springblade.modules.property.vo.PropertyCompanyVO;
 import org.springblade.modules.property.mapper.PropertyCompanyMapper;
 import org.springblade.modules.property.service.IPropertyCompanyService;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.service.IDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
  * 物业公司 服务实现类
@@ -31,12 +42,99 @@
  * @since 2023-11-23
  */
 @Service
-public class PropertyCompanyServiceImpl extends BaseServiceImpl<PropertyCompanyMapper, PropertyCompanyEntity> implements IPropertyCompanyService {
+public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMapper, PropertyCompanyEntity> implements IPropertyCompanyService {
 
+	@Autowired
+	private IDeptService deptService;
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param propertyCompany
+	 * @return
+	 */
 	@Override
 	public IPage<PropertyCompanyVO> selectPropertyCompanyPage(IPage<PropertyCompanyVO> page, PropertyCompanyVO propertyCompany) {
 		return page.setRecords(baseMapper.selectPropertyCompanyPage(page, propertyCompany));
 	}
 
+	/**
+	 * 物业公司列表查询(不分页)
+	 * @param propertyCompany
+	 * @return
+	 */
+	@Override
+	public List<PropertyCompanyVO> getPropertyCompanyList(PropertyCompanyVO propertyCompany) {
+		return baseMapper.getPropertyCompanyList(propertyCompany);
+	}
 
+	/**
+	 * 物业公司查询对应的用户信息
+	 * @param propertyCompany
+	 * @return
+	 */
+	@Override
+	public Object getUserByPropertyCompany(PropertyCompanyVO propertyCompany) {
+		return baseMapper.getUserByPropertyCompany(propertyCompany);
+	}
+
+	/**
+	 * 物业公司 自定义新增或修改
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public boolean saveOrUpdatePropertyCompany(PropertyCompanyEntity propertyCompany) {
+		boolean flag = false;
+		Dept dept = new Dept();
+		dept.setDeptName(propertyCompany.getName());
+		dept.setFullName(propertyCompany.getName());
+		// 判断新增还是修改
+		if (null != propertyCompany.getId()){
+			// 修改
+			updateById(propertyCompany);
+			// 修改住址机构信息
+			dept.setId(propertyCompany.getDeptId());
+			flag = deptService.updateById(dept);
+		}else {
+			// 查询父级id
+			QueryWrapper<Dept> wrapper = new QueryWrapper<>();
+			wrapper.eq("is_deleted",0).eq("dept_name","物业公司");
+			Dept parentDept = deptService.getOne(wrapper);
+			dept.setParentId(parentDept.getId());
+			// 新增机构
+			flag = deptService.save(dept);
+			// 新增物业公司
+			propertyCompany.setDeptId(dept.getId());
+			flag = save(propertyCompany);
+		}
+		return flag;
+	}
+
+	/**
+	 * 物业公司 删除
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	@Override
+	public boolean deleteByIds(List<Integer> toIntList) {
+		// 先查询对应的机构id集合
+		List<Long> deptIds = baseMapper.getDeptListByCompanyId(toIntList);
+		// 删除机构,删除物业公司
+		return removeByIds(toIntList) && deptService.removeByIds(deptIds);
+	}
+
+	@Override
+	public PropertyCompanyVO getUserCompayDistrict(String houseCode) {
+		return baseMapper.getUserCompayDistrict(houseCode);
+	}
+
+	/**
+	 * 物业公司 自定义详情查询
+	 * @param propertyCompany
+	 * @return
+	 */
+	@Override
+	public PropertyCompanyDetailVO getDetail(PropertyCompanyVO propertyCompany) {
+		return baseMapper.getDetail(propertyCompany);
+	}
 }

--
Gitblit v1.9.3