Commit 4c65feae by lzy

房间管理

parent d1fe33b5
......@@ -27,7 +27,6 @@ CREATE TABLE `plat_room`
`name` VARCHAR(128) NOT NULL COMMENT '名称',
`space_id` VARCHAR(64) NOT NULL COMMENT '空间id',
`space_path` VARCHAR(512) NOT NULL COMMENT '空间全路径',
`space_path_name` VARCHAR(512) NOT NULL COMMENT '空间全路径名称',
`bed_number` INT(4) NOT NULL COMMENT '床位数量',
`description` VARCHAR(1024) DEFAULT NULL COMMENT '床位描述',
`create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
......
......@@ -38,7 +38,8 @@ public class SaasDeviceController {
@ApiOperation("设备编辑")
@PostMapping("edit")
public ApiResponseEntity<Void> edit(@RequestBody PlatDevice platDevice) {
return ApiResponseUtils.success(platDeviceService.edit(platDevice));
platDeviceService.edit(platDevice);
return ApiResponseUtils.success();
}
@ApiOperation("实时数据")
......
......@@ -95,7 +95,7 @@ public enum CodeMessageEnum {
PLATFORM_ERROR_SPACE_NAME_DUPLICATE(500,"PLATFORM.ERROR.SPACE.NAME.DUPLICATE"),
PLATFORM_ERROR_SPACE_NOT_DEL(500,"PLATFORM.ERROR.SPACE.NOT.DEL"),
......
......@@ -90,4 +90,5 @@ SYSTEM.ERROR.SMS.CODE.NOT.CORRECT=验证码不正确
PLATFORM.ERROR.ELDER.CERTIFICATENUMBER.DUPLICATE=证件号不能重复
PLATFORM.ERROR.SPACE.NAME.DUPLICATE=同一层级,空间名称不能重复
\ No newline at end of file
PLATFORM.ERROR.SPACE.NAME.DUPLICATE=同一层级,空间名称不能重复
PLATFORM.ERROR.SPACE.NOT.DEL=该空间下存在下级或者房间,不可删除
\ No newline at end of file
package com.makeit.module.controller.space;
import com.makeit.common.dto.BaseBatchIdDTO;
import com.makeit.common.dto.BaseIdDTO;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.common.response.ApiResponseEntity;
import com.makeit.common.response.ApiResponseUtils;
import com.makeit.dto.platform.space.PlatRoomDTO;
import com.makeit.dto.platform.space.PlatRoomQueryDTO;
import com.makeit.dto.platform.space.PlatSpaceAddDTO;
import com.makeit.entity.platform.space.PlatRoom;
import com.makeit.service.platform.space.PlatRoomService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author:lzy
* @Date:2023/9/5 14:59
* @Describe:
*/
@Api(tags = "房间管理")
@RestController
@RequestMapping("/plat/room")
public class PlatRoomController {
@Autowired
private PlatRoomService platRoomService;
@ApiOperation("新增")
@PostMapping("add")
public ApiResponseEntity<?> add(@Validated @RequestBody PlatRoomDTO dto) {
platRoomService.add(dto);
return ApiResponseUtils.success();
}
@ApiOperation("编辑")
@PostMapping("edit")
public ApiResponseEntity<?> edit(@Validated @RequestBody PlatRoomDTO dto) {
platRoomService.edit(dto);
return ApiResponseUtils.success();
}
@ApiOperation("详情")
@PostMapping("view")
public ApiResponseEntity<PlatRoomDTO> edit(@RequestBody BaseIdDTO baseIdDTO) {
PlatRoomDTO data = platRoomService.view(baseIdDTO.getId());
return ApiResponseUtils.success(data);
}
@ApiOperation("删除")
@PostMapping("del")
public ApiResponseEntity<PlatRoomDTO> del(@RequestBody BaseBatchIdDTO baseBatchIdDTO) {
platRoomService.del(baseBatchIdDTO.getIdList());
return ApiResponseUtils.success();
}
@ApiOperation("列表")
@PostMapping("page")
public ApiResponseEntity<PageVO<PlatRoom>> page(@RequestBody PageReqDTO<PlatRoomQueryDTO> page) {
PageVO<PlatRoom> data = platRoomService.page(page);
return ApiResponseUtils.success(data);
}
}
package com.makeit.dto.platform.space;
import com.makeit.common.dto.BaseIdDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
/**
* @Author:lzy
* @Date:2023/9/5 14:54
* @Describe:
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "PlatRoomDTO对象", description = "房间DTO")
public class PlatRoomDTO extends BaseIdDTO {
@NotBlank(message = "房间名称不能为空")
@Size(max = 50, message = "房间名称最长为50个字符")
@ApiModelProperty(value = "房间名称",required = true)
private String name;
@ApiModelProperty(value = "空间ID",required = true)
private String spaceId;
@ApiModelProperty(value = "空间全路径",required = true)
private String spacePath;
@ApiModelProperty(value = "空间全路径名称")
private String spacePathName;
@ApiModelProperty(value = "床位数量")
private int bedNumber;
@Size(max = 200, message = "描述最长为200个字符")
@ApiModelProperty(value = "描述")
private String description;
}
package com.makeit.dto.platform.space;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author:lzy
* @Date:2023/9/5 15:20
* @Describe:
*/
@Data
@ApiModel("PlatRoomQueryDTO 参数")
public class PlatRoomQueryDTO {
@ApiModelProperty("房间名称")
private String name;
}
package com.makeit.entity.platform.space;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.makeit.common.entity.BaseBusEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -26,12 +28,10 @@ public class PlatRoom extends BaseBusEntity {
@ApiModelProperty(value = "空间全路径")
private String spacePath;
@ApiModelProperty(value = "空间全路径名称")
private String spacePathName;
@ApiModelProperty(value = "床位数量")
private int bedNumber;
@TableField(updateStrategy = FieldStrategy.IGNORED)
@ApiModelProperty(value = "描述")
private String description;
}
package com.makeit.service.platform.space;
import com.baomidou.mybatisplus.extension.service.IService;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.elder.PlatElderQueryDTO;
import com.makeit.dto.platform.space.PlatRoomDTO;
import com.makeit.dto.platform.space.PlatRoomQueryDTO;
import com.makeit.entity.platform.space.PlatRoom;
import java.util.List;
/**
* @Author:lzy
* @Date:2023/8/31 16:15
* @Describe:
*/
public interface PlatRoomService extends IService<PlatRoom> {
/**
* 添加房间
* @param dto
*/
void add(PlatRoomDTO dto);
/**
*
* @param dto
*/
void edit(PlatRoomDTO dto);
/**
* 详情
* @param id
* @return
*/
PlatRoomDTO view(String id);
/**
* 删除
* @param ids
*/
void del(List<String> ids);
/**
* 列表
* @param page
* @return
*/
PageVO<PlatRoom> page(PageReqDTO<PlatRoomQueryDTO> page);
}
package com.makeit.service.platform.space.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.makeit.common.page.PageReqDTO;
import com.makeit.common.page.PageVO;
import com.makeit.dto.platform.space.PlatRoomDTO;
import com.makeit.dto.platform.space.PlatRoomQueryDTO;
import com.makeit.entity.platform.space.PlatRoom;
import com.makeit.mapper.platform.space.PlatRoomMapper;
import com.makeit.service.platform.space.PlatRoomService;
import com.makeit.utils.data.convert.BeanDtoVoUtils;
import com.makeit.utils.data.convert.PageUtil;
import jodd.util.StringUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @Author:lzy
* @Date:2023/8/31 16:15
* @Describe:
*/
@Service
public class PlatRoomServiceImpl extends ServiceImpl<PlatRoomMapper, PlatRoom> implements PlatRoomService {
@Override
@Transactional
public void add(PlatRoomDTO dto) {
PlatRoom platRoom = BeanDtoVoUtils.convert(dto,PlatRoom.class);
save(platRoom);
}
@Override
@Transactional
public void edit(PlatRoomDTO dto) {
PlatRoom platRoom = getById(dto.getId());
platRoom.setName(dto.getName());
platRoom.setBedNumber(dto.getBedNumber());
platRoom.setDescription(dto.getDescription());
platRoom.setSpaceId(dto.getSpaceId());
platRoom.setSpacePath(dto.getSpacePath());
updateById(platRoom);
}
@Override
public PlatRoomDTO view(String id) {
PlatRoom room = getById(id);
PlatRoomDTO data = BeanDtoVoUtils.convert(room,PlatRoomDTO.class);
return data;
}
@Override
public void del(List<String> ids) {
//TODO 判断是否有床位
removeByIds(ids);
}
@Override
public PageVO<PlatRoom> page(PageReqDTO<PlatRoomQueryDTO> page) {
PlatRoomQueryDTO dto = page.getData();
Page<PlatRoom> p = PageUtil.toMpPage(page);
LambdaQueryWrapper<PlatRoom> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtil.isNotEmpty(dto.getName()),PlatRoom::getName,dto.getName());
Page<PlatRoom> pages = page(p,queryWrapper);
return PageUtil.toPageVO(pages.getRecords(), pages);
}
}
......@@ -73,6 +73,14 @@ public class PlatSpaceServiceImpl extends ServiceImpl<PlatSpaceMapper, PlatSpace
@Override
public void del(String id) {
LambdaQueryWrapper<PlatSpace> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PlatSpace::getParentId,id);
if(count(queryWrapper) > 0){
throw new BusinessException(CodeMessageEnum.PLATFORM_ERROR_SPACE_NOT_DEL);
}
//TODO 房间的判断
this.removeById(id);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment