feat(property):
- 新增查询所有楼层和根据单元ID查询楼层的功能 - 在新增楼层时增加同一单元楼层重复校验
This commit is contained in:
parent
2c794447d8
commit
ed97e7cefb
@ -20,5 +20,11 @@ public interface RemoteFloorService {
|
||||
*/
|
||||
List<TreeNode<Long>> queryTreeList();
|
||||
|
||||
|
||||
/**
|
||||
* 根据单元ID查询楼层
|
||||
*
|
||||
* @param unitId 单元ID
|
||||
* @return 楼层
|
||||
*/
|
||||
List<RemoteFloorVo> queryByUnitId(Long unitId);
|
||||
}
|
||||
|
@ -101,4 +101,16 @@ public class RemoteFloorServiceImpl implements RemoteFloorService {
|
||||
treeList.addAll(l4);
|
||||
return treeList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据单元ID查询楼层
|
||||
*
|
||||
* @param unitId 单元ID
|
||||
* @return 楼层
|
||||
*/
|
||||
@Override
|
||||
public List<RemoteFloorVo> queryByUnitId(Long unitId){
|
||||
List<TbFloorVo> tbFloorVo = floorService.queryByUnitId(unitId);
|
||||
return MapstructUtils.convert(tbFloorVo, RemoteFloorVo.class);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.dromara.property.service;
|
||||
|
||||
import org.dromara.property.api.domain.vo.RemoteFloorVo;
|
||||
import org.dromara.property.domain.TbFloor;
|
||||
import org.dromara.property.domain.vo.TbFloorVo;
|
||||
import org.dromara.property.domain.bo.TbFloorBo;
|
||||
@ -67,7 +68,18 @@ public interface ITbFloorService {
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
|
||||
/**
|
||||
* 查询所有楼层
|
||||
*
|
||||
* @return 楼层列表
|
||||
*/
|
||||
List<TbFloorVo> queryAll();
|
||||
|
||||
/**
|
||||
* 根据单元ID查询楼层
|
||||
*
|
||||
* @param unitId 单元ID
|
||||
* @return 楼层
|
||||
*/
|
||||
List<TbFloorVo> queryByUnitId(Long unitId);
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ import org.dromara.property.mapper.TbFloorMapper;
|
||||
import org.dromara.property.service.ITbFloorService;
|
||||
import org.dromara.property.service.ITbUnitService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -94,18 +95,25 @@ public class TbFloorServiceImpl implements ITbFloorService {
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean insertByBo(TbFloorBo bo) {
|
||||
// 验证单元是否存在
|
||||
TbUnitVo tbUnitVo = tbUnitService.queryById(bo.getUnitId());
|
||||
Assert.notNull(tbUnitVo, "单元:{},不存在。", bo.getUnitId());
|
||||
|
||||
// 验证同一单元楼层是否已经存在
|
||||
LambdaQueryWrapper<TbFloor> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(TbFloor::getUnitId, bo.getUnitId())
|
||||
.eq(TbFloor::getFloorNumber, bo.getFloorNumber());
|
||||
boolean numberExists = baseMapper.selectCount(lqw) > 0;
|
||||
Assert.isFalse(numberExists, "单元:{},楼层:{}已存在。", bo.getUnitId(), bo.getFloorNumber());
|
||||
|
||||
TbFloor add = MapstructUtils.convert(bo, TbFloor.class);
|
||||
add.setCommunityId(tbUnitVo.getCommunityId());
|
||||
add.setBuildingId(tbUnitVo.getBuildingId());
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
Assert.isTrue(flag, "新增楼层失败");
|
||||
return flag;
|
||||
}
|
||||
|
||||
@ -148,4 +156,17 @@ public class TbFloorServiceImpl implements ITbFloorService {
|
||||
public List<TbFloorVo> queryAll() {
|
||||
return baseMapper.selectVoList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据单元ID查询楼层
|
||||
*
|
||||
* @param unitId 单元ID
|
||||
* @return 楼层
|
||||
*/
|
||||
@Override
|
||||
public List<TbFloorVo> queryByUnitId(Long unitId){
|
||||
LambdaQueryWrapper<TbFloor> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(TbFloor::getUnitId, unitId);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user