package fcb.project.manager.base.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import fcb.project.manager.base.entity.TmEstate; import fcb.project.manager.base.entity.TmHouse; import fcb.project.manager.base.dao.TmHouseDao; import fcb.project.manager.base.enums.DeleteStatus; import fcb.project.manager.base.enums.UuidPreEnum; import fcb.project.manager.base.service.ITmHouseService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils; import io.swagger.models.auth.In; import lombok.extern.log4j.Log4j2; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; /** *

* 服务实现类 *

* * @author abner * @since 2021-01-07 */ @Service @Log4j2 public class TmHouseServiceImpl extends ServiceImpl implements ITmHouseService { public IPage getListByNameOrBelong(String houseTitle , Integer status, int type, String estateId , Long pageNum , Long pageSize){ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(TmHouse::getEstateId , estateId); if(StringUtils.isNotBlank(houseTitle)){ lambdaQueryWrapper.like(TmHouse::getHouseTitle , houseTitle); } if(null != status){ lambdaQueryWrapper.eq(TmHouse::getStatus , status); } lambdaQueryWrapper.eq(TmHouse::getType , type); // lambdaQueryWrapper.eq(TmHouse::getIsDelete , DeleteStatus.NOT_DELETE.getCode()); IPage page = new Page<>(pageNum , pageSize); return getBaseMapper().selectPage(page , lambdaQueryWrapper); } public int deleteHouseById(String houseId){ if(StringUtils.isBlank(houseId)){ return -1; } return getBaseMapper().deleteById(houseId); } public TmHouse getOneByNameAndEstate(String houseTitle , String estateId , int type){ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); if(StringUtils.isNotBlank(houseTitle)){ lambdaQueryWrapper.eq(TmHouse::getHouseTitle , houseTitle); } if(StringUtils.isNotBlank(estateId)){ lambdaQueryWrapper.eq(TmHouse::getEstateId , estateId); } lambdaQueryWrapper.eq(TmHouse::getType , type); lambdaQueryWrapper.eq(TmHouse::getIsDelete , DeleteStatus.NOT_DELETE.getCode()); lambdaQueryWrapper.last("limit 1"); return getBaseMapper().selectOne(lambdaQueryWrapper); } @Transactional(rollbackFor = Exception.class) public boolean updateHouse(TmHouse tmHouse){ if(null == tmHouse){ return false; } if(null == tmHouse.getId()){ log.info("主键ID为空,无法更房源信息"); return false; } tmHouse.setUpdateTime(LocalDateTime.now()); return 1 == getBaseMapper().updateById(tmHouse); } public TmHouse selectForUpdate(String id){ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(TmHouse::getId , id); lambdaQueryWrapper.last("for update"); return getBaseMapper().selectOne(lambdaQueryWrapper); } public boolean insertNew(TmHouse tmHouse){ if(StringUtils.isBlank(tmHouse.getId())){ tmHouse.setId(SnowFlakeUUidUtils.generaUUid(null , null , UuidPreEnum.HOUSE_ID_PRE.getPre())); } tmHouse.setCreateTime(LocalDateTime.now()); tmHouse.setUpdateTime(LocalDateTime.now()); tmHouse.setIsDelete(DeleteStatus.NOT_DELETE.getCode()); return 1 == getBaseMapper().insert(tmHouse); } public TmHouse getBySceneNumAndHouseId(String sceneNum , String projectId , String houseId){ if(!StringUtils.isNoneBlank(sceneNum , projectId , houseId)){ return null; } LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(TmHouse::getSceneNum , sceneNum); lambdaQueryWrapper.eq(TmHouse::getEstateId , projectId); lambdaQueryWrapper.eq(TmHouse::getFcbHouseId , houseId); return getBaseMapper().selectOne(lambdaQueryWrapper); } }