From 65f3fb018916e35a6271a4e348093a8d1a938120 Mon Sep 17 00:00:00 2001
From: luofl <1442745593@qq.com>
Date: 星期四, 03 四月 2025 21:17:29 +0800
Subject: [PATCH] 修改bug
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java | 124 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 121 insertions(+), 3 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
index 95a8452..aeeec8d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java
@@ -1,20 +1,35 @@
package com.ruoyi.system.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.constant.DictConstants;
import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.dto.TTenantDTO;
+import com.ruoyi.system.mapper.TContractMapper;
+import com.ruoyi.system.mapper.THouseMapper;
import com.ruoyi.system.mapper.TTenantMapper;
+import com.ruoyi.system.model.TContract;
+import com.ruoyi.system.model.THouse;
import com.ruoyi.system.model.TTenant;
+import com.ruoyi.system.query.TBillAppletQuery;
+import com.ruoyi.system.query.TExamineAppletQuery;
+import com.ruoyi.system.query.TTenantAppletQuery;
import com.ruoyi.system.query.TTenantQuery;
import com.ruoyi.system.service.TTenantService;
-import com.ruoyi.system.utils.wx.pojo.AppletUserDecodeData;
+import com.ruoyi.system.vo.ExamineVO;
+import com.ruoyi.system.vo.TBillVO;
import com.ruoyi.system.vo.TenantVO;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
+import java.util.stream.Collectors;
/**
* <p>
@@ -27,10 +42,21 @@
@Service
public class TTenantServiceImpl extends ServiceImpl<TTenantMapper, TTenant> implements TTenantService {
+ @Autowired
+ private THouseMapper houseMapper;
+ @Autowired
+ private TContractMapper contractMapper;
@Override
public PageInfo<TenantVO> pageList(TTenantQuery query) {
PageInfo<TenantVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
- List<TenantVO> list = this.baseMapper.pageList(query,pageInfo);
+ String businessDeptId = SecurityUtils.getBusinessDeptId();
+ List<TenantVO> list = null;
+ if (StringUtils.isBlank(businessDeptId) || "0".equals(businessDeptId)) {
+ list = this.baseMapper.pageList(query, pageInfo);
+ } else {
+ query.setBusinessDeptId(businessDeptId);
+ list = this.baseMapper.pageListByBusinessDeptId(query,pageInfo);
+ }
for (TenantVO tenantVO : list) {
tenantVO.setTenantAttributesName(StringUtils.isNotBlank(tenantVO.getTenantAttributes())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenantVO.getTenantAttributes()):"");
tenantVO.setTenantTypeName(StringUtils.isNotBlank(tenantVO.getTenantType())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenantVO.getTenantType()):"");
@@ -39,4 +65,96 @@
return pageInfo;
}
+ @Override
+ public PageInfo<TenantVO> pageListApplet(TTenantAppletQuery query) {
+ PageInfo<TenantVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+ List<TenantVO> list = this.baseMapper.pageListApplet(query,pageInfo);
+ List<String> ids = list.stream().map(TTenant::getId).collect(Collectors.toList());
+ if(CollectionUtils.isEmpty(ids)){
+ return new PageInfo<>();
+ }
+ List<TContract> contracts = contractMapper.selectList(Wrappers.lambdaQuery(TContract.class)
+ .in(TContract::getTenantId, ids)
+ .eq(TContract::getStatus, 4));
+ List<THouse> houses = new ArrayList<>();
+ if(!CollectionUtils.isEmpty(contracts)){
+ List<String> houseIds = contracts.stream().map(TContract::getHouseId).collect(Collectors.toList());
+ houses = houseMapper.selectList(Wrappers.lambdaQuery(THouse.class)
+ .in(THouse::getId, houseIds));
+ }
+
+ for (TenantVO tenantVO : list) {
+ tenantVO.setTenantAttributesName(StringUtils.isNotBlank(tenantVO.getTenantAttributes())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenantVO.getTenantAttributes()):"");
+ tenantVO.setTenantTypeName(StringUtils.isNotBlank(tenantVO.getTenantType())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenantVO.getTenantType()):"");
+ if(!CollectionUtils.isEmpty(houses)){
+ List<TContract> contractList = contracts.stream().filter(contract -> contract.getTenantId().equals(tenantVO.getId())).collect(Collectors.toList());
+ if(!CollectionUtils.isEmpty(contractList)){
+ TContract contract = contractList.get(0);
+ List<THouse> houseList = houses.stream().filter(house -> house.getId().equals(contract.getHouseId())).collect(Collectors.toList());
+ if(!CollectionUtils.isEmpty(houseList))
+ tenantVO.setHouseName(houseList.get(0).getHouseName());
+ }
+ }
+ }
+ pageInfo.setRecords(list);
+ return pageInfo;
+ }
+
+ @Override
+ public List<THouse> listHouse(String id) {
+ List<TContract> tContracts = contractMapper.selectList(new LambdaQueryWrapper<TContract>()
+ .eq(TContract::getTenantId,id)
+ .eq(TContract::getStatus, 4));
+ List<String> houseIds = tContracts.stream().map(TContract::getHouseId).collect(Collectors.toList());
+ if (houseIds.isEmpty())houseIds.add("-1");
+ return houseMapper.selectList(new LambdaQueryWrapper<THouse>()
+ .in(THouse::getId, houseIds));
+ }
+
+ @Override
+ public List<TContract> listContract(String id) {
+ return contractMapper.selectList(new LambdaQueryWrapper<TContract>()
+ .eq(TContract::getTenantId,id)
+ .eq(TContract::getStatus, 4));
+ }
+
+ @Override
+ public PageInfo<TBillVO> listBill(TBillAppletQuery query) {
+ List<TContract> tContracts = contractMapper.selectList(new LambdaQueryWrapper<TContract>()
+ .eq(TContract::getTenantId, query.getId()));
+ List<String> contractIds = tContracts.stream().map(TContract::getId)
+ .collect(Collectors.toList());
+ if (contractIds.isEmpty())contractIds.add("0");
+ PageInfo<TBillVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
+ List<TBillVO> list = this.baseMapper.listBill(query,pageInfo);
+ for (TBillVO tBillVO : list) {
+ TContract contract = tContracts.stream().filter(e -> e.getId().equals(tBillVO.getContractId()))
+ .findFirst().orElse(null);
+ if (contract!=null){
+ tBillVO.setHouse(houseMapper.selectById(contract.getHouseId()));
+ }
+ tBillVO.setPayFeesStatus(tBillVO.getPayFeesStatus());
+ }
+ pageInfo.setRecords(list);
+ return pageInfo;
+ }
+
+ @Override
+ public PageInfo<ExamineVO> examineList(TExamineAppletQuery dto) {
+ PageInfo<ExamineVO> pageInfo = new PageInfo<>(dto.getPageNum(), dto.getPageSize());
+ List<ExamineVO> list = this.baseMapper.examineList(dto,pageInfo);
+ pageInfo.setRecords(list);
+ return pageInfo;
+ }
+
+ @Override
+ public boolean isExit(TTenantDTO dto) {
+ if(StringUtils.isNotEmpty(dto.getId())){
+ // 修改
+ return this.count(Wrappers.lambdaQuery(TTenant.class).ne(TTenant::getId, dto.getId()).eq(TTenant::getPhone, dto.getPhone())) > 0;
+ }else {
+ // 新增
+ return this.count(Wrappers.lambdaQuery(TTenant.class).eq(TTenant::getPhone, dto.getPhone())) > 0;
+ }
+ }
}
--
Gitblit v1.7.1