/* * 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.extension.service.impl.ServiceImpl; import org.springblade.modules.house.entity.HouseRentalEntity; import org.springblade.modules.house.entity.HouseTenantEntity; import org.springblade.modules.house.service.IHouseTenantService; import org.springblade.modules.house.vo.HouseRentalVO; import org.springblade.modules.house.mapper.HouseRentalMapper; import org.springblade.modules.house.service.IHouseRentalService; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.modules.house.vo.HouseTenantVO; 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.ArrayList; import java.util.List; /** * 出租屋 服务实现类 * * @author BladeX * @since 2023-10-28 */ @Service public class HouseRentalServiceImpl extends ServiceImpl implements IHouseRentalService { @Autowired private IHouseTenantService houseTenantService; /** * 自定义分页查询 * @param page * @param houseRental * @return */ @Override public IPage selectHouseRentalPage(IPage page, HouseRentalVO houseRental) { return page.setRecords(baseMapper.selectHouseRentalPage(page, houseRental)); } /** * 查询房屋出租情况 * @param code * @return */ @Override public List getHouseRentalListByCode(String code) { List houseRentalVOS = baseMapper.getHouseRentalListByCode(code); // 返回 return houseRentalVOS; } @Override @Transactional(rollbackFor = Exception.class) public Boolean add(HouseRentalVO houseRentalVO) { //保存自身 boolean save = save(houseRentalVO); List houseTenantEntities = new ArrayList<>(); houseRentalVO.getHouseTenantVOList().forEach(e->{ HouseTenantEntity houseTenant= new HouseTenantEntity(); houseTenant.setHousingRentalId(houseRentalVO.getId()); houseTenant.setName(e.getName()); houseTenant.setPhone(e.getPhone()); houseTenant.setIdCard(e.getIdCard()); houseTenant.setDomicile(e.getDomicile()); houseTenant.setWorkUnit(e.getWorkUnit()); houseTenantEntities.add(houseTenant); }); boolean saveBatch = houseTenantService.saveBatch(houseTenantEntities); return save&&saveBatch; } }