TmHouseServiceImpl.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package fcb.project.manager.base.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import fcb.project.manager.base.entity.TmEstate;
  6. import fcb.project.manager.base.entity.TmHouse;
  7. import fcb.project.manager.base.dao.TmHouseDao;
  8. import fcb.project.manager.base.enums.DeleteStatus;
  9. import fcb.project.manager.base.enums.UuidPreEnum;
  10. import fcb.project.manager.base.service.ITmHouseService;
  11. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  12. import fdage.back.sdk.base.uuid.SnowFlakeUUidUtils;
  13. import io.swagger.models.auth.In;
  14. import lombok.extern.log4j.Log4j2;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.transaction.annotation.Transactional;
  18. import java.time.LocalDateTime;
  19. /**
  20. * <p>
  21. * 服务实现类
  22. * </p>
  23. *
  24. * @author abner
  25. * @since 2021-01-07
  26. */
  27. @Service
  28. @Log4j2
  29. public class TmHouseServiceImpl extends ServiceImpl<TmHouseDao, TmHouse> implements ITmHouseService {
  30. public IPage<TmHouse> getListByNameOrBelong(String houseTitle , Integer status, int type,
  31. String estateId , Long pageNum , Long pageSize){
  32. LambdaQueryWrapper<TmHouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  33. lambdaQueryWrapper.eq(TmHouse::getEstateId , estateId);
  34. if(StringUtils.isNotBlank(houseTitle)){
  35. lambdaQueryWrapper.like(TmHouse::getHouseTitle , houseTitle);
  36. }
  37. if(null != status){
  38. lambdaQueryWrapper.eq(TmHouse::getStatus , status);
  39. }
  40. lambdaQueryWrapper.eq(TmHouse::getType , type);
  41. // lambdaQueryWrapper.eq(TmHouse::getIsDelete , DeleteStatus.NOT_DELETE.getCode());
  42. IPage<TmHouse> page = new Page<>(pageNum , pageSize);
  43. return getBaseMapper().selectPage(page , lambdaQueryWrapper);
  44. }
  45. public int deleteHouseById(String houseId){
  46. if(StringUtils.isBlank(houseId)){
  47. return -1;
  48. }
  49. return getBaseMapper().deleteById(houseId);
  50. }
  51. public TmHouse getOneByNameAndEstate(String houseTitle , String estateId , int type){
  52. LambdaQueryWrapper<TmHouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  53. if(StringUtils.isNotBlank(houseTitle)){
  54. lambdaQueryWrapper.eq(TmHouse::getHouseTitle , houseTitle);
  55. }
  56. if(StringUtils.isNotBlank(estateId)){
  57. lambdaQueryWrapper.eq(TmHouse::getEstateId , estateId);
  58. }
  59. lambdaQueryWrapper.eq(TmHouse::getType , type);
  60. lambdaQueryWrapper.eq(TmHouse::getIsDelete , DeleteStatus.NOT_DELETE.getCode());
  61. lambdaQueryWrapper.last("limit 1");
  62. return getBaseMapper().selectOne(lambdaQueryWrapper);
  63. }
  64. @Transactional(rollbackFor = Exception.class)
  65. public boolean updateHouse(TmHouse tmHouse){
  66. if(null == tmHouse){
  67. return false;
  68. }
  69. if(null == tmHouse.getId()){
  70. log.info("主键ID为空,无法更房源信息");
  71. return false;
  72. }
  73. tmHouse.setUpdateTime(LocalDateTime.now());
  74. return 1 == getBaseMapper().updateById(tmHouse);
  75. }
  76. public TmHouse selectForUpdate(String id){
  77. LambdaQueryWrapper<TmHouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  78. lambdaQueryWrapper.eq(TmHouse::getId , id);
  79. lambdaQueryWrapper.last("for update");
  80. return getBaseMapper().selectOne(lambdaQueryWrapper);
  81. }
  82. public boolean insertNew(TmHouse tmHouse){
  83. if(StringUtils.isBlank(tmHouse.getId())){
  84. tmHouse.setId(SnowFlakeUUidUtils.generaUUid(null , null , UuidPreEnum.HOUSE_ID_PRE.getPre()));
  85. }
  86. tmHouse.setCreateTime(LocalDateTime.now());
  87. tmHouse.setUpdateTime(LocalDateTime.now());
  88. tmHouse.setIsDelete(DeleteStatus.NOT_DELETE.getCode());
  89. return 1 == getBaseMapper().insert(tmHouse);
  90. }
  91. public TmHouse getBySceneNumAndHouseId(String sceneNum , String projectId , String houseId){
  92. if(!StringUtils.isNoneBlank(sceneNum , projectId , houseId)){
  93. return null;
  94. }
  95. LambdaQueryWrapper<TmHouse> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  96. lambdaQueryWrapper.eq(TmHouse::getSceneNum , sceneNum);
  97. lambdaQueryWrapper.eq(TmHouse::getEstateId , projectId);
  98. lambdaQueryWrapper.eq(TmHouse::getHouseId , houseId);
  99. return getBaseMapper().selectOne(lambdaQueryWrapper);
  100. }
  101. }