PackageTemplateController.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.zxyj.controller.admin;
  2. import com.zxyj.common.Result;
  3. import com.zxyj.entity.GuidePackageTemplate;
  4. import com.zxyj.service.GuidePackageTemplateService;
  5. import io.swagger.v3.oas.annotations.Operation;
  6. import io.swagger.v3.oas.annotations.tags.Tag;
  7. import org.springframework.web.bind.annotation.*;
  8. import javax.annotation.Resource;
  9. import java.util.Date;
  10. import java.util.List;
  11. @Tag(name = "套餐模板管理", description = "系统套餐模板CRUD")
  12. @RestController
  13. @RequestMapping("/api/admin/package-templates")
  14. public class PackageTemplateController {
  15. @Resource
  16. private GuidePackageTemplateService templateService;
  17. @PostMapping
  18. @Operation(summary = "获取套餐模板列表")
  19. public Result<List<GuidePackageTemplate>> list() {
  20. List<GuidePackageTemplate> list = templateService.getActiveTemplates();
  21. return Result.success(list);
  22. }
  23. @PostMapping("/all")
  24. @Operation(summary = "获取所有套餐模板(含停用)")
  25. public Result<List<GuidePackageTemplate>> listAll() {
  26. List<GuidePackageTemplate> list = templateService.list();
  27. return Result.success(list);
  28. }
  29. @PostMapping("/{id}")
  30. @Operation(summary = "获取套餐模板详情")
  31. public Result<GuidePackageTemplate> getById(@PathVariable Long id) {
  32. GuidePackageTemplate template = templateService.getTemplateById(id);
  33. return template != null ? Result.success(template) : Result.error("不存在");
  34. }
  35. @PostMapping
  36. @Operation(summary = "创建套餐模板")
  37. public Result<GuidePackageTemplate> create(@RequestBody GuidePackageTemplate template) {
  38. template.setStatus("ACTIVE");
  39. template.setCreatedAt(new Date());
  40. template.setUpdatedAt(new Date());
  41. GuidePackageTemplate created = templateService.createTemplate(template);
  42. return Result.success(created);
  43. }
  44. @PutMapping("/{id}")
  45. @Operation(summary = "更新套餐模板")
  46. public Result<GuidePackageTemplate> update(@PathVariable Long id, @RequestBody GuidePackageTemplate template) {
  47. template.setId(id);
  48. template.setUpdatedAt(new Date());
  49. boolean success = templateService.updateTemplate(template);
  50. return success ? Result.success(template) : Result.error("更新失败");
  51. }
  52. @DeleteMapping("/{id}")
  53. @Operation(summary = "删除套餐模板")
  54. public Result<Void> delete(@PathVariable Long id) {
  55. boolean success = templateService.deleteTemplate(id);
  56. return success ? Result.success(null) : Result.error("删除失败");
  57. }
  58. }