From 5745a87f3a139ea2bbdaf4704978e4c151ecc45a Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 23 Jan 2024 17:39:48 +0800
Subject: [PATCH] 物业管理管和项目经理数据过滤
---
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyServiceImpl.java | 151 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 148 insertions(+), 3 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 1ab2d13..bfbd74c 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,14 +16,34 @@
*/
package org.springblade.modules.property.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.cache.SysCache;
+import org.springblade.common.constant.CommonConstant;
+import org.springblade.common.utils.SpringUtils;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.DigestUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.pay.entity.AliPayInfo;
+import org.springblade.modules.pay.entity.WxPayInfo;
+import org.springblade.modules.pay.service.IAliPayService;
+import org.springblade.modules.pay.service.IWxPayService;
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.property.vo.PropertyCompanyDetailVO;
+import org.springblade.modules.property.vo.PropertyCompanyVO;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.entity.UserDept;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IUserDeptService;
+import org.springblade.modules.system.service.IUserService;
+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 +55,15 @@
*/
@Service
public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMapper, PropertyCompanyEntity> implements IPropertyCompanyService {
+
+ @Autowired
+ private IDeptService deptService;
+
+ @Autowired
+ private IWxPayService wxPayService;
+
+ @Autowired
+ private IAliPayService aliPayService;
/**
* 自定义分页
@@ -50,16 +79,24 @@
/**
* 物业公司列表查询(不分页)
+ *
* @param propertyCompany
* @return
*/
@Override
public List<PropertyCompanyVO> getPropertyCompanyList(PropertyCompanyVO propertyCompany) {
+ String userRole = AuthUtil.getUserRole();
+ if (!AuthUtil.isAdministrator() && userRole.contains("wygly")) {
+ Long deptId = Func.firstLong(AuthUtil.getDeptId());
+ Dept dept = SysCache.getDept(deptId);
+ propertyCompany.setName(dept.getDeptName());
+ }
return baseMapper.getPropertyCompanyList(propertyCompany);
}
/**
* 物业公司查询对应的用户信息
+ *
* @param propertyCompany
* @return
*/
@@ -67,4 +104,112 @@
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());
+ dept.setDeptCategory(1);
+ dept.setSort(1);
+ // 新增机构
+ flag = deptService.save(dept);
+ // 新增物业公司
+ propertyCompany.setDeptId(dept.getId());
+ // 新增用户
+ User user = new User();
+ user.setAccount(propertyCompany.getName());
+ user.setUserType(1);
+ user.setRealName(propertyCompany.getName());
+ user.setName(propertyCompany.getName());
+ user.setPassword(DigestUtil.encrypt(CommonConstant.DEFAULT_PASSWORD));
+ user.setRoleId("1727864473262817281");
+ user.setDeptId(dept.getId().toString());
+ IUserService bean = SpringUtils.getBean(IUserService.class);
+ boolean save = bean.save(user);
+ // 新增用户和机构关联关系
+ if (save) {
+ UserDept userDept = new UserDept();
+ userDept.setUserId(user.getId());
+ userDept.setDeptId(dept.getId());
+ IUserDeptService bean1 = SpringUtils.getBean(IUserDeptService.class);
+ bean1.save(userDept);
+ }
+
+ System.out.println("保存用户结果:" + save);
+ 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);
+ }
+
+ @Override
+ public Boolean payConfig(WxPayInfo wxPayInfo, AliPayInfo aliPayInfo) {
+ boolean wx = wxPayService.saveOrUpdate(wxPayInfo);
+ boolean ali = aliPayService.saveOrUpdate(aliPayInfo);
+ return wx && ali;
+ }
+
+ @Override
+ public PropertyCompanyDetailVO getPayConfig(PropertyCompanyVO propertyCompany) {
+
+
+ PropertyCompanyDetailVO detail = this.getDetail(propertyCompany);
+
+
+ AliPayInfo pA = new AliPayInfo();
+ pA.setPropertyCompanyId(detail.getId().toString());
+ detail.setAliPayInfo(aliPayService.getOne(Condition.getQueryWrapper(pA)));
+
+ WxPayInfo pW = new WxPayInfo();
+ pW.setPropertyCompanyId(detail.getId().toString());
+ detail.setWxPayInfo(wxPayService.getOne(Condition.getQueryWrapper(pW)));
+
+ return detail;
+ }
}
--
Gitblit v1.9.3