| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.dto.BigGiftPlaceOrderDTO; |
| | | import com.ruoyi.system.dto.FinalPaymentDTO; |
| | | import com.ruoyi.system.dto.PhysicalGoodsPlaceOrderDTO; |
| | | import com.ruoyi.system.model.TAppUser; |
| | | import com.ruoyi.system.query.AppletOrderListQuery; |
| | | import com.ruoyi.system.service.AppletOrderService; |
| | | import com.ruoyi.system.service.TAppUserService; |
| | | import com.ruoyi.system.service.TBigGiftPackageOrderService; |
| | | import com.ruoyi.system.service.TPhysicalGoodsOrderService; |
| | | import com.ruoyi.system.vo.AppletOrderDetailVO; |
| | | import com.ruoyi.system.vo.AppletOrderListVO; |
| | | import com.ruoyi.system.vo.PlaceOrderVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.context.annotation.Lazy; |
| | | 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; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.validation.Valid; |
| | | |
| | |
| | | private final TAppUserService appUserService; |
| | | private final TBigGiftPackageOrderService bigGiftPackageOrderService; |
| | | private final TPhysicalGoodsOrderService physicalGoodsOrderService; |
| | | private final AppletOrderService appletOrderService; |
| | | |
| | | /** |
| | | * 订单列表分页查询 |
| | | * |
| | | * @param query 查询条件 |
| | | * @return 订单列表 |
| | | */ |
| | | @ApiOperation(value = "订单列表分页查询", response = AppletOrderListVO.class) |
| | | @PostMapping("/list") |
| | | public R<Page<AppletOrderListVO>> getOrderList(@RequestBody AppletOrderListQuery query) { |
| | | Integer userId = tokenService.getLoginUserApplet().getUserId(); |
| | | Page<AppletOrderListVO> page = appletOrderService.getOrderList(query, userId); |
| | | return R.ok(page); |
| | | } |
| | | |
| | | /** |
| | | * 大礼包商品下单 |
| | |
| | | PlaceOrderVO result = bigGiftPackageOrderService.payFinalPayment(dto.getOrderId(), userId, appUser.getOpenid()); |
| | | return R.ok(result); |
| | | } |
| | | |
| | | /** |
| | | * 实物商品订单详情 |
| | | * |
| | | * @param id 订单ID |
| | | * @return 订单详情 |
| | | */ |
| | | @ApiOperation(value = "实物商品订单详情", response = AppletOrderDetailVO.class) |
| | | @GetMapping("/physical/detail/{id}") |
| | | public R<AppletOrderDetailVO> getPhysicalOrderDetail(@PathVariable Integer id) { |
| | | Integer userId = tokenService.getLoginUserApplet().getUserId(); |
| | | AppletOrderDetailVO detail = appletOrderService.getPhysicalOrderDetail(id, userId); |
| | | if (detail == null) { |
| | | return R.fail("订单不存在或无权查看"); |
| | | } |
| | | return R.ok(detail); |
| | | } |
| | | |
| | | /** |
| | | * 大礼包订单详情 |
| | | * |
| | | * @param id 订单ID |
| | | * @return 订单详情 |
| | | */ |
| | | @ApiOperation(value = "大礼包订单详情", response = AppletOrderDetailVO.class) |
| | | @GetMapping("/big-gift/detail/{id}") |
| | | public R<AppletOrderDetailVO> getBigGiftOrderDetail(@PathVariable Integer id) { |
| | | Integer userId = tokenService.getLoginUserApplet().getUserId(); |
| | | AppletOrderDetailVO detail = appletOrderService.getBigGiftOrderDetail(id, userId); |
| | | if (detail == null) { |
| | | return R.fail("订单不存在或无权查看"); |
| | | } |
| | | return R.ok(detail); |
| | | } |
| | | |
| | | /** |
| | | * 实物商品确认收货 |
| | | * |
| | | * @param id 订单ID |
| | | * @return 操作结果 |
| | | */ |
| | | @ApiOperation(value = "实物商品确认收货") |
| | | @PostMapping("/physical/confirm/{id}") |
| | | public R<Void> confirmPhysicalOrder(@PathVariable Integer id) { |
| | | Integer userId = tokenService.getLoginUserApplet().getUserId(); |
| | | boolean success = appletOrderService.confirmPhysicalOrder(id, userId); |
| | | return success ? R.ok() : R.fail("确认收货失败,订单不存在或状态不正确"); |
| | | } |
| | | |
| | | /** |
| | | * 大礼包确认收货 |
| | | * |
| | | * @param id 订单ID |
| | | * @return 操作结果 |
| | | */ |
| | | @ApiOperation(value = "大礼包确认收货") |
| | | @PostMapping("/big-gift/confirm/{id}") |
| | | public R<Void> confirmBigGiftOrder(@PathVariable Integer id) { |
| | | Integer userId = tokenService.getLoginUserApplet().getUserId(); |
| | | boolean success = appletOrderService.confirmBigGiftOrder(id, userId); |
| | | return success ? R.ok() : R.fail("确认收货失败,订单不存在或状态不正确"); |
| | | } |
| | | } |