diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampClassroomController.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampClassroomController.java new file mode 100644 index 0000000..3bb2b6f --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampClassroomController.java @@ -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 add(@Valid @RequestBody CampClassroomDTO dto) { + return campClassroomService.add(dto); + } + + @Operation(summary = "教室编辑") + @PostMapping("/edit") + public ApiResult update(@Valid @RequestBody CampClassroomDTO dto) { + return campClassroomService.update(dto); + } + + @Operation(summary = "删除教室") + @PostMapping("/delete") + public ApiResult delete(@Valid @RequestBody IdParam param) { + return campClassroomService.delete(param); + } + + @Operation(summary = "教室详情") + @PostMapping("/detail") + public ApiResult get(@Valid @RequestBody IdParam param) { + return campClassroomService.get(param); + } + + @Operation(summary = "教室列表") + @PostMapping("/list") + public ApiResult> list(@Valid @RequestBody PageParam param) { + return campClassroomService.list(param); + } +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampInfoController.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampInfoController.java index f763e36..fd36ec2 100644 --- a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampInfoController.java +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampInfoController.java @@ -30,7 +30,7 @@ public class CampInfoController { private final CampInfoService campInfoService; - @Operation(summary = "新增营地") + @Operation(summary = "新增营地(在组织上添加)") @PostMapping("/add") public ApiResult add(@Valid @RequestBody CampInfoDTO dto) { return campInfoService.add(dto); diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampRoomTypeController.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampRoomTypeController.java new file mode 100644 index 0000000..db35fca --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/controller/CampRoomTypeController.java @@ -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 add(@Valid @RequestBody CampRoomTypeDTO dto) { + return campRoomTypeService.add(dto); + } + + @Operation(summary = "住宿编辑") + @PostMapping("/edit") + public ApiResult update(@Valid @RequestBody CampRoomTypeDTO dto) { + return campRoomTypeService.update(dto); + } + + @Operation(summary = "删除住宿") + @PostMapping("/delete") + public ApiResult delete(@Valid @RequestBody IdParam param) { + return campRoomTypeService.delete(param); + } + + @Operation(summary = "住宿详情") + @PostMapping("/detail") + public ApiResult get(@Valid @RequestBody IdParam param) { + return campRoomTypeService.get(param); + } + + @Operation(summary = "住宿列表") + @PostMapping("/list") + public ApiResult> list(@Valid @RequestBody PageParam param) { + return campRoomTypeService.list(param); + } +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/dto/CampRoomTypeDTO.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/dto/CampRoomTypeDTO.java new file mode 100644 index 0000000..f46e9ad --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/dto/CampRoomTypeDTO.java @@ -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; +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/CampClassroomService.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/CampClassroomService.java new file mode 100644 index 0000000..9ff9453 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/CampClassroomService.java @@ -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 add(CampClassroomDTO dto); + + /** + * 修改营地教室 + */ + ApiResult update(CampClassroomDTO dto); + + /** + * 删除营地教室 + */ + ApiResult delete(IdParam param); + + /** + * 获取营地教室详情 + */ + ApiResult get(IdParam param); + + /** + * 分页查询营地教室 + */ + ApiResult> list(PageParam param); +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/CampRoomTypeService.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/CampRoomTypeService.java new file mode 100644 index 0000000..a4abd84 --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/CampRoomTypeService.java @@ -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 add(CampRoomTypeDTO dto); + + /** + * 修改营地住宿 + */ + ApiResult update(CampRoomTypeDTO dto); + + /** + * 删除营地住宿 + */ + ApiResult delete(IdParam param); + + /** + * 获取营地住宿详情 + */ + ApiResult get(IdParam param); + + /** + * 分页查询营地住宿 + */ + ApiResult> list(PageParam param); +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/impl/CampClassTypeServiceImpl.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/impl/CampClassTypeServiceImpl.java new file mode 100644 index 0000000..635713c --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/impl/CampClassTypeServiceImpl.java @@ -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 add(CampRoomTypeDTO dto) { + return null; + } + + @Override + public ApiResult update(CampRoomTypeDTO dto) { + return null; + } + + @Override + public ApiResult delete(IdParam param) { + return null; + } + + @Override + public ApiResult get(IdParam param) { + return null; + } + + @Override + public ApiResult> list(PageParam param) { + return null; + } +} \ No newline at end of file diff --git a/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/impl/CampClassroomServiceImpl.java b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/impl/CampClassroomServiceImpl.java new file mode 100644 index 0000000..a8b3a3c --- /dev/null +++ b/weight-loss-camp-service-api/src/main/java/com/wjbl/weightlosscamp/service/api/module/camp/service/impl/CampClassroomServiceImpl.java @@ -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 add(CampClassroomDTO dto) { + return null; + } + + @Override + public ApiResult update(CampClassroomDTO dto) { + return null; + } + + @Override + public ApiResult get(IdParam param) { + return null; + } + + @Override + public ApiResult delete(IdParam param) { + return null; + } + + @Override + public ApiResult> list(PageParam param) { + return null; + } +} \ No newline at end of file