| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package com.etotem.cfc.controller.guide;
- import javax.annotation.Resource;
- import com.etotem.cfc.common.Result;
- import com.etotem.cfc.dto.PackagePurchaseDTO;
- import com.etotem.cfc.entity.PackageOrder;
- import com.etotem.cfc.service.PackagePurchaseService;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- import java.util.Map;
- /**
- * 套餐购买控制器
- */
- @Tag(name = "套餐购买", description = "套餐购买、价格查询等接口")
- @RestController
- @RequestMapping("/api/package")
- public class PackagePurchaseController {
- @Resource
- private PackagePurchaseService packagePurchaseService;
- /**
- * 获取套餐价格
- */
- @Operation(summary = "获取套餐价格")
- @PostMapping("/price")
- public Result<Map<String, Object>> getPackagePrice(@RequestParam Long packageId,
- @RequestParam(required = false) Long guideId,
- @RequestParam(required = false) String inviteCode) {
- Map<String, Object> priceInfo = packagePurchaseService.getPackagePrice(packageId, guideId, inviteCode);
-
- if (priceInfo == null) {
- return Result.error("套餐不存在");
- }
-
- return Result.success(priceInfo);
- }
- /**
- * 获取可用的指导师列表
- */
- @Operation(summary = "获取可用的指导师列表")
- @PostMapping("/available-guides")
- public Result<List<Map<String, Object>>> getAvailableGuides(@RequestParam Long packageId) {
- List<Map<String, Object>> guides = packagePurchaseService.getAvailableGuides(packageId);
- return Result.success(guides);
- }
- /**
- * 创建套餐订单
- */
- @Operation(summary = "创建套餐订单")
- @PostMapping("/order/create")
- public Result<PackageOrder> createOrder(@RequestBody PackagePurchaseDTO dto) {
- PackageOrder order = packagePurchaseService.createOrder(dto);
-
- if (order == null) {
- return Result.error("创建订单失败");
- }
-
- return Result.success(order);
- }
- /**
- * 获取订单详情
- */
- @Operation(summary = "获取订单详情")
- @PostMapping("/order/{orderNo}")
- public Result<PackageOrder> getOrder(@PathVariable String orderNo) {
- PackageOrder order = packagePurchaseService.getOrder(orderNo);
-
- if (order == null) {
- return Result.error("订单不存在");
- }
-
- return Result.success(order);
- }
- }
|