zhongrj
2023-11-25 69a1b191f02e49b7c8545c3b42744217f0dc6b8e
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java
@@ -16,14 +16,21 @@
 */
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.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;
@@ -35,6 +42,9 @@
 */
@Service
public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMapper, PropertyCompanyEntity> implements IPropertyCompanyService {
   @Autowired
   private IDeptService deptService;
   /**
    * 自定义分页
@@ -67,4 +77,48 @@
   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);
   }
}