From 6f97a42dccaedb7a8950feac205080e63d8be439 Mon Sep 17 00:00:00 2001 From: yupeng <roc__yu@163.com> Date: 星期三, 26 二月 2025 14:27:01 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into xizang-changyun --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTenantServiceImpl.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 96 insertions(+), 2 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..f20404c 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.StringUtils; +import com.ruoyi.system.mapper.SysUserMapper; +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.security.core.token.TokenService; 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,6 +42,10 @@ @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()); @@ -39,4 +58,79 @@ 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<String> contractIds = contractMapper.selectList(new LambdaQueryWrapper<TContract>() + .eq(TContract::getTenantId, query.getId())).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) { + tBillVO.setPayFeesStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_LEASE_STATUS,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; + } } -- Gitblit v1.7.1