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<ComOpsHouseVO> 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();
|
}
|
|
}
|