package com.panzhihua.service_community.service.impl; import javax.annotation.Resource; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.enums.OpsHouseStatus; import com.panzhihua.common.model.dtos.community.ComOpsHouseDTO; import com.panzhihua.common.model.dtos.community.PageComOpsHouseDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComOpsHouseUndercarriageVO; import com.panzhihua.common.model.vos.community.ComOpsHouseVO; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComOpsHouseDAO; import com.panzhihua.service_community.model.dos.ComOpsHouseDO; import com.panzhihua.service_community.service.ComOpsHouseService; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 房屋租售 * @author: huang.hongfa weixin hhf9596 qq 959656820 * @create: 2021-01-22 14:51 **/ @Service public class ComOpsHouseServiceImpl implements ComOpsHouseService { @Resource private ComOpsHouseDAO comOpsHouseDAO; /** * 房屋租售-新增 * * @param comOpsHouseDTO * 新增参数 * @return 新增结果 */ @Override @Transactional(rollbackFor = Exception.class) public R addHouse(ComOpsHouseDTO comOpsHouseDTO) { ComOpsHouseDO comOpsHouseDO = new ComOpsHouseDO(); BeanUtils.copyProperties(comOpsHouseDTO, comOpsHouseDO); int inserted = comOpsHouseDAO.insert(comOpsHouseDO); return inserted == 1 ? R.ok() : R.fail(); } /** * 房屋租售-详情 * * @param id * 主键 * @return ComOpsHouseVO */ @Override public R detailHouse(Long id) { ComOpsHouseDO comOpsHouseDO = comOpsHouseDAO.selectById(id); if (ObjectUtils.isEmpty(comOpsHouseDO)) { return R.fail("房屋租售不存在"); } ComOpsHouseVO comOpsHouseVO = new ComOpsHouseVO(); BeanUtils.copyProperties(comOpsHouseDO, comOpsHouseVO); Long userId = comOpsHouseDO.getUserId(); LoginUserInfoVO loginUserInfoVO = comOpsHouseDAO.selectUserByUserId(userId); comOpsHouseVO.setUserName(loginUserInfoVO.getName()); return R.ok(comOpsHouseVO); } /** * 房屋租售-修改 * * @param comOpsHouseVO * 修改参数 * @return 修改结果 */ @Override @Transactional(rollbackFor = Exception.class) public R putHouse(ComOpsHouseVO comOpsHouseVO) { ComOpsHouseDO comOpsHouseDO = new ComOpsHouseDO(); BeanUtils.copyProperties(comOpsHouseVO, comOpsHouseDO); comOpsHouseDAO.updateById(comOpsHouseDO); return R.ok(); } /** * 房屋租售-删除 * * @param id * 主键 * @return 删除结果 */ @Override @Transactional(rollbackFor = Exception.class) public R deleteHouse(Long id) { if (id == null) { return R.fail("参数错误"); } ComOpsHouseDO oldComOpsHouseDO = comOpsHouseDAO.selectById(id); if (oldComOpsHouseDO == null) { return R.fail("该房屋租售信息不存在"); } if (oldComOpsHouseDO.getStatus().equals(OpsHouseStatus.AUDIT.getCode())) { return R.fail("该房屋租售信息不可删除,请刷新"); } int delete = comOpsHouseDAO.deleteById(id); if (delete > 0) { return R.ok(); } return R.fail(); } /** * 房屋租售-分页查询 * * @param pageComOpsHouseDTO * 查询参数 * @return ComOpsHouseVO */ @Override public R pageHouse(PageComOpsHouseDTO pageComOpsHouseDTO) { Page page = new Page<>(); Long pageNum = pageComOpsHouseDTO.getPageNum(); Long pageSize = pageComOpsHouseDTO.getPageSize(); if (null == pageNum || 0 == pageNum) { pageNum = 1l; } if (null == pageSize || 0 == pageSize) { pageSize = 10l; } page.setSize(pageSize); page.setCurrent(pageNum); if (!StringUtils.isEmpty(pageComOpsHouseDTO.getUserName())) { Long userId = comOpsHouseDAO.selectUserIdByName(pageComOpsHouseDTO.getUserName()); if (userId == null) { userId = -1L; } pageComOpsHouseDTO.setUserId(userId); } IPage iPage = comOpsHouseDAO.pageHouse(page, pageComOpsHouseDTO); return R.ok(iPage); } /** * 房屋租售-上下架 * * @param comOpsHouseVO * 上下架参数 * @return 上下架结果 */ @Override @Transactional(rollbackFor = Exception.class) public R undercarriageHouse(ComOpsHouseUndercarriageVO comOpsHouseVO) { // 判断当前房屋租售信息状态 ComOpsHouseDO oldComOpsHouseDO = comOpsHouseDAO.selectById(comOpsHouseVO.getId()); if (oldComOpsHouseDO == null) { return R.fail("该房屋租售信息不存在"); } if (oldComOpsHouseDO.getStatus().equals(OpsHouseStatus.AUDIT.getCode())) { return R.fail("该房屋租售信息不可修改,请刷新"); } BeanUtils.copyProperties(comOpsHouseVO, oldComOpsHouseDO); comOpsHouseDAO.updateById(oldComOpsHouseDO); return R.ok(); } /** * 房屋租售-小程序修改 * * @param comOpsHouseVO * 修改参数 * @return 修改结果 */ @Override @Transactional(rollbackFor = Exception.class) public R putHouseByApplets(ComOpsHouseVO comOpsHouseVO) { ComOpsHouseDO oldComOpsHouseDO = comOpsHouseDAO.selectById(comOpsHouseVO.getId()); if (oldComOpsHouseDO == null) { return R.fail("该房屋租售信息不存在"); } if (oldComOpsHouseDO.getStatus().equals(OpsHouseStatus.AUDIT.getCode())) { return R.fail("该房屋租售信息不可修改,请刷新"); } ComOpsHouseDO comOpsHouseDO = new ComOpsHouseDO(); BeanUtils.copyProperties(comOpsHouseVO, comOpsHouseDO); // 设置房屋租售信息为待审核 comOpsHouseDO.setStatus(OpsHouseStatus.AUDIT.getCode()); comOpsHouseDAO.updateById(comOpsHouseDO); return R.ok(); } }