/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.house.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.logging.log4j.util.Strings; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.modules.house.entity.HouseRentalEntity; import org.springblade.modules.house.entity.HouseTenantEntity; import org.springblade.modules.house.excel.ExportHouseTenantExcel; import org.springblade.modules.house.excel.HouseTenantExcel; import org.springblade.modules.house.mapper.HouseTenantMapper; import org.springblade.modules.house.service.IHouseRentalService; import org.springblade.modules.house.service.IHouseTenantService; import org.springblade.modules.house.vo.HouseTenantVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Objects; /** * 租户管理 服务实现类 * * @author BladeX * @since 2023-10-28 */ @Service public class HouseTenantServiceImpl extends ServiceImpl implements IHouseTenantService { @Autowired private IHouseRentalService iHouseRentalService; @Override public IPage selectHouseTenantPage(IPage page, HouseTenantVO houseTenant) { return page.setRecords(baseMapper.selectHouseTenantPage(page, houseTenant)); } /** * 根据租房id删除租户信息 * * @param id * @return */ @Override public int removeByHousingRentalId(Long id) { return baseMapper.removeByHousingRentalId(id); } /** * 导出租客 * * @return */ @Override public List export() { return baseMapper.export(); } @Override public String importUserTenant(List data, boolean b) { List HouseTenantList = new ArrayList<>(); int totalNum = data.size(); int importNum = 0; int updateNum = 0; int errorNum = 0; for (HouseTenantExcel houseHoldExcel : data) { HouseTenantVO houseTenantVO = Objects.requireNonNull(BeanUtil.copy(houseHoldExcel, HouseTenantVO.class)); HouseRentalEntity houseRentalEntity = iHouseRentalService.getOne(Wrappers.lambdaQuery() .eq(HouseRentalEntity::getHouseCode, houseTenantVO.getHouseCode())); if (houseRentalEntity != null) { // 性别 if (!Strings.isBlank(houseHoldExcel.getGender())) { houseTenantVO.setGender(Integer.valueOf(houseHoldExcel.getGender())); } houseTenantVO.setHousingRentalId(houseRentalEntity.getId()); HouseTenantList.add(houseTenantVO); } else { errorNum++; } } importNum = saveBatch(HouseTenantList) ? HouseTenantList.size() : 0; StringBuilder builder = new StringBuilder("导入完成!"); builder.append("其中本次表格共有 ").append(totalNum).append(" 条数据,") .append("成功导入 ").append(importNum).append(" 条数据。"); // if (updateNum > 0) { // builder.append("其中有 ").append(updateNum).append(" 条数据已存在。"); // } if (errorNum > 0) { builder.append("共有 ").append(errorNum).append(" 条数据由于查询不到出租屋信息未导入!"); } return builder.toString(); } }