住宿管理、教室管理

This commit is contained in:
袁红川 2025-04-19 15:19:32 +08:00
parent 5e7d50e281
commit a200f6ce99
8 changed files with 311 additions and 1 deletions

View File

@ -0,0 +1,60 @@
package com.wjbl.weightlosscamp.service.api.module.camp.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wjbl.weightlosscamp.api.base.core.ApiResult;
import com.wjbl.weightlosscamp.api.base.core.IdParam;
import com.wjbl.weightlosscamp.api.base.core.PageParam;
import com.wjbl.weightlosscamp.service.api.module.camp.dto.CampClassroomDTO;
import com.wjbl.weightlosscamp.service.api.module.camp.service.CampClassroomService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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;
/**
* 教室管理控制器
*/
@Tag(name = "教室管理")
@RestController
@RequestMapping("/camp/classroom")
@RequiredArgsConstructor
@Slf4j
public class CampClassroomController {
private final CampClassroomService campClassroomService;
@Operation(summary = "教室新增")
@PostMapping("/add")
public ApiResult<Void> add(@Valid @RequestBody CampClassroomDTO dto) {
return campClassroomService.add(dto);
}
@Operation(summary = "教室编辑")
@PostMapping("/edit")
public ApiResult<Void> update(@Valid @RequestBody CampClassroomDTO dto) {
return campClassroomService.update(dto);
}
@Operation(summary = "删除教室")
@PostMapping("/delete")
public ApiResult<Void> delete(@Valid @RequestBody IdParam param) {
return campClassroomService.delete(param);
}
@Operation(summary = "教室详情")
@PostMapping("/detail")
public ApiResult<CampClassroomDTO> get(@Valid @RequestBody IdParam param) {
return campClassroomService.get(param);
}
@Operation(summary = "教室列表")
@PostMapping("/list")
public ApiResult<Page<CampClassroomDTO>> list(@Valid @RequestBody PageParam<CampClassroomDTO> param) {
return campClassroomService.list(param);
}
}

View File

@ -30,7 +30,7 @@ public class CampInfoController {
private final CampInfoService campInfoService; private final CampInfoService campInfoService;
@Operation(summary = "新增营地") @Operation(summary = "新增营地(在组织上添加)")
@PostMapping("/add") @PostMapping("/add")
public ApiResult<Void> add(@Valid @RequestBody CampInfoDTO dto) { public ApiResult<Void> add(@Valid @RequestBody CampInfoDTO dto) {
return campInfoService.add(dto); return campInfoService.add(dto);

View File

@ -0,0 +1,60 @@
package com.wjbl.weightlosscamp.service.api.module.camp.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wjbl.weightlosscamp.api.base.core.ApiResult;
import com.wjbl.weightlosscamp.api.base.core.IdParam;
import com.wjbl.weightlosscamp.api.base.core.PageParam;
import com.wjbl.weightlosscamp.service.api.module.camp.dto.CampRoomTypeDTO;
import com.wjbl.weightlosscamp.service.api.module.camp.service.CampRoomTypeService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
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;
/**
* 住宿管理控制器
*/
@Tag(name = "住宿管理")
@RestController
@RequestMapping("/camp/room-type")
@RequiredArgsConstructor
@Slf4j
public class CampRoomTypeController {
private final CampRoomTypeService campRoomTypeService;
@Operation(summary = "住宿新增")
@PostMapping("/add")
public ApiResult<Void> add(@Valid @RequestBody CampRoomTypeDTO dto) {
return campRoomTypeService.add(dto);
}
@Operation(summary = "住宿编辑")
@PostMapping("/edit")
public ApiResult<Void> update(@Valid @RequestBody CampRoomTypeDTO dto) {
return campRoomTypeService.update(dto);
}
@Operation(summary = "删除住宿")
@PostMapping("/delete")
public ApiResult<Void> delete(@Valid @RequestBody IdParam param) {
return campRoomTypeService.delete(param);
}
@Operation(summary = "住宿详情")
@PostMapping("/detail")
public ApiResult<CampRoomTypeDTO> get(@Valid @RequestBody IdParam param) {
return campRoomTypeService.get(param);
}
@Operation(summary = "住宿列表")
@PostMapping("/list")
public ApiResult<Page<CampRoomTypeDTO>> list(@Valid @RequestBody PageParam<CampRoomTypeDTO> param) {
return campRoomTypeService.list(param);
}
}

View File

@ -0,0 +1,25 @@
package com.wjbl.weightlosscamp.service.api.module.camp.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
/**
* 营地教室DTO
*/
@Data
@Schema(description = "营地教室DTO")
public class CampRoomTypeDTO {
@Schema(description = "营地ID")
@NotBlank(message = "营地ID不能为空")
private String campId;
@Schema(description = "教室名称")
@NotBlank(message = "教室名称不能为空")
private String name;
@Schema(description = "主图")
@NotBlank(message = "主图不能为空")
private String mainImage;
}

View File

@ -0,0 +1,41 @@
package com.wjbl.weightlosscamp.service.api.module.camp.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wjbl.weightlosscamp.api.base.core.ApiResult;
import com.wjbl.weightlosscamp.api.base.core.IdParam;
import com.wjbl.weightlosscamp.api.base.core.PageParam;
import com.wjbl.weightlosscamp.service.api.module.camp.dto.CampClassroomDTO;
import com.wjbl.weightlosscamp.service.api.module.camp.entity.CampClassroom;
import com.wjbl.weightlosscamp.service.api.module.camp.entity.CampInfo;
/**
* 营地教室服务接口
*/
public interface CampClassroomService {
/**
* 新增营地教室
*/
ApiResult<Void> add(CampClassroomDTO dto);
/**
* 修改营地教室
*/
ApiResult<Void> update(CampClassroomDTO dto);
/**
* 删除营地教室
*/
ApiResult<Void> delete(IdParam param);
/**
* 获取营地教室详情
*/
ApiResult<CampClassroomDTO> get(IdParam param);
/**
* 分页查询营地教室
*/
ApiResult<Page<CampClassroomDTO>> list(PageParam<CampClassroomDTO> param);
}

View File

@ -0,0 +1,38 @@
package com.wjbl.weightlosscamp.service.api.module.camp.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wjbl.weightlosscamp.api.base.core.ApiResult;
import com.wjbl.weightlosscamp.api.base.core.IdParam;
import com.wjbl.weightlosscamp.api.base.core.PageParam;
import com.wjbl.weightlosscamp.service.api.module.camp.dto.CampRoomTypeDTO;
/**
* 营地住宿服务接口
*/
public interface CampRoomTypeService {
/**
* 新增营地住宿
*/
ApiResult<Void> add(CampRoomTypeDTO dto);
/**
* 修改营地住宿
*/
ApiResult<Void> update(CampRoomTypeDTO dto);
/**
* 删除营地住宿
*/
ApiResult<Void> delete(IdParam param);
/**
* 获取营地住宿详情
*/
ApiResult<CampRoomTypeDTO> get(IdParam param);
/**
* 分页查询营地住宿
*/
ApiResult<Page<CampRoomTypeDTO>> list(PageParam<CampRoomTypeDTO> param);
}

View File

@ -0,0 +1,40 @@
package com.wjbl.weightlosscamp.service.api.module.camp.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wjbl.weightlosscamp.api.base.core.ApiResult;
import com.wjbl.weightlosscamp.api.base.core.IdParam;
import com.wjbl.weightlosscamp.api.base.core.PageParam;
import com.wjbl.weightlosscamp.service.api.module.camp.dto.CampRoomTypeDTO;
import com.wjbl.weightlosscamp.service.api.module.camp.service.CampRoomTypeService;
import org.springframework.stereotype.Service;
/**
* 营地信息服务实现类
*/
@Service
public class CampClassTypeServiceImpl implements CampRoomTypeService {
@Override
public ApiResult<Void> add(CampRoomTypeDTO dto) {
return null;
}
@Override
public ApiResult<Void> update(CampRoomTypeDTO dto) {
return null;
}
@Override
public ApiResult<Void> delete(IdParam param) {
return null;
}
@Override
public ApiResult<CampRoomTypeDTO> get(IdParam param) {
return null;
}
@Override
public ApiResult<Page<CampRoomTypeDTO>> list(PageParam<CampRoomTypeDTO> param) {
return null;
}
}

View File

@ -0,0 +1,46 @@
package com.wjbl.weightlosscamp.service.api.module.camp.service.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.wjbl.weightlosscamp.api.base.core.ApiResult;
import com.wjbl.weightlosscamp.api.base.core.IdParam;
import com.wjbl.weightlosscamp.api.base.core.PageParam;
import com.wjbl.weightlosscamp.service.api.module.camp.dto.CampClassroomDTO;
import com.wjbl.weightlosscamp.service.api.module.camp.entity.CampClassroom;
import com.wjbl.weightlosscamp.service.api.module.camp.mapper.CampClassroomMapper;
import com.wjbl.weightlosscamp.service.api.module.camp.service.CampClassroomService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
/**
* 营地信息服务实现类
*/
@Service
public class CampClassroomServiceImpl implements CampClassroomService {
@Override
public ApiResult<Void> add(CampClassroomDTO dto) {
return null;
}
@Override
public ApiResult<Void> update(CampClassroomDTO dto) {
return null;
}
@Override
public ApiResult<CampClassroomDTO> get(IdParam param) {
return null;
}
@Override
public ApiResult<Void> delete(IdParam param) {
return null;
}
@Override
public ApiResult<Page<CampClassroomDTO>> list(PageParam<CampClassroomDTO> param) {
return null;
}
}