package com.ruoyi.order.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.service.OrderService; import org.springframework.web.bind.annotation.*; import com.ruoyi.order.vo.OrderDetailVO; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import com.ruoyi.order.model.Order; import javax.annotation.Resource; import java.util.List; /** *

* 前端控制器 *

* * @author luodangjia * @since 2024-11-21 */ @Api(tags = "订单") @RestController @RequestMapping("/order") public class OrderController extends BaseController { @Resource private OrderService orderService; @Resource TokenService tokenService; /** * 我的订单列表 */ @ApiOperation(value = "我的订单列表", tags = {"小程序-个人中心-我的订单"}) @ApiImplicitParams({ @ApiImplicitParam(value = "订单状态", name = "status", required = true, dataType = "int"), }) @GetMapping("/getMyOrderList/{status}") public TableDataInfo getMyOrderList(@PathVariable("status") Integer status){ startPage(); LoginUser loginUserApplet = tokenService.getLoginUserApplet(); return getDataTable(orderService.selectOrderListByUserId(status, loginUserApplet.getUserid())); } /** * 通过订单ids获取订单列表 */ @PostMapping("/getOrderListByIds") public R> getOrderListByIds(@RequestBody List ids){ return R.ok(orderService.listByIds(ids)); } /** * 订单详情 */ @ApiOperation(value = "订单详情", tags = {"小程序-订单详情"}) @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), }) @GetMapping("/detail/{orderId}") public R detail(@PathVariable("orderId") Long orderId){ return R.ok(orderService.getOrderDetail(orderId)); } /** * 扫码校验 */ @ApiOperation(value = "扫码校验", tags = {"小程序-个人中心-门店管理-扫码核销校验"}) @ApiImplicitParams({ @ApiImplicitParam(value = "分享id", name = "shareId", required = true, dataType = "int", paramType="query"), }) @GetMapping("/check/{orderNumber}/{shopId}") public R check(@PathVariable("orderNumber") String orderNumber, @PathVariable("shopId") Integer shopId){ LoginUser loginUserApplet = tokenService.getLoginUserApplet(); Order order = orderService.getOne(new LambdaQueryWrapper() .eq(Order::getOrderNumber, orderNumber)); return R.ok(orderService.check(order, shopId, loginUserApplet.getUserid())); } /** * 订单核销 */ @ApiOperation(value = "订单核销", tags = {"小程序-个人中心-门店管理-扫码核销"}) @ApiImplicitParams({ @ApiImplicitParam(value = "订单号", name = "code", required = true, dataType = "String"), }) @GetMapping("/writeOff/{code}") public R writeOff(@PathVariable("code") String code){ return R.ok(); } /** * 取消订单 */ @ApiOperation(value = "取消订单", tags = {"小程序-个人中心-我的订单-取消订单"}) @ApiImplicitParams({ @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"), }) @GetMapping("/cancel/{orderId}") public R cancel(@PathVariable("orderId") Long orderId){ return R.ok(); } }