From efdb99f8cecc4afb592afad79c761081d5d5cf22 Mon Sep 17 00:00:00 2001
From: lee <4766465@qq.com>
Date: Wed, 18 Dec 2024 13:27:00 +0800
Subject: [PATCH] init

---
 yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java |  443 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 443 insertions(+), 0 deletions(-)

diff --git a/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java b/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java
new file mode 100644
index 0000000..46d331e
--- /dev/null
+++ b/yami-shop-api/src/main/java/com/yami/shop/api/controller/MyOrderController.java
@@ -0,0 +1,443 @@
+/*
+ * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
+ *
+ * https://www.mall4j.com/
+ *
+ * 未经允许,不可做商业用途!
+ *
+ * 版权所有,侵权必究!
+ */
+package com.yami.shop.api.controller;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.http.HttpUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.yami.shop.bean.app.dto.*;
+import com.yami.shop.bean.enums.*;
+import com.yami.shop.bean.model.*;
+import com.yami.shop.bean.vo.OrderItemVO;
+import com.yami.shop.common.config.Constant;
+import com.yami.shop.common.exception.YamiShopBindException;
+import com.yami.shop.common.i18n.I18nMessage;
+import com.yami.shop.common.response.ServerResponseEntity;
+import com.yami.shop.common.util.Arith;
+import com.yami.shop.common.util.PageParam;
+import com.yami.shop.config.ShopConfig;
+import com.yami.shop.security.api.util.SecurityUtils;
+import com.yami.shop.service.*;
+import com.yami.shop.task.common.model.TaskInviteLog;
+import com.yami.shop.task.common.service.TaskInviteLogService;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Parameters;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.AllArgsConstructor;
+import ma.glasnost.orika.MapperFacade;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * @author LGH
+ */
+@RestController
+@RequestMapping("/p/myOrder")
+@Tag(name = "我的订单接口")
+@AllArgsConstructor
+public class MyOrderController {
+
+    private final OrderService orderService;
+
+    private final MapperFacade mapperFacade;
+
+    private final UserAddrOrderService userAddrOrderService;
+
+    private final ProductService productService;
+
+    private final SkuService skuService;
+
+    private final ShopConfig shopConfig;
+
+    private final MyOrderService myOrderService;
+
+    private final ShopDetailService shopDetailService;
+
+    private final OrderItemService orderItemService;
+
+    private final OrderRefundService orderRefundService;
+
+    private final OrderVirtualInfoService orderVirtualInfoService;
+
+    private final OrderInvoiceService orderInvoiceService;
+
+    private final TaskInviteLogService taskInviteLogService;
+
+    @GetMapping("/orderDetail")
+    @Operation(summary = "订单详情信息" , description = "根据订单号获取订单详情信息")
+    @Parameter(name = "orderNumber", description = "订单号" , required = true)
+    public ServerResponseEntity<OrderShopDto> orderDetail(@RequestParam(value = "orderNumber") String orderNumber) {
+        String userId = SecurityUtils.getUser().getUserId();
+        Long stationId = SecurityUtils.getUser().getStationId();
+        OrderShopDto orderShopDto = new OrderShopDto();
+        Order order;
+        if (Objects.nonNull(userId) && Objects.isNull(stationId)) {
+            order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, false);
+        } else {
+            order = orderService.getOne(new LambdaQueryWrapper<Order>()
+                    .eq(Order::getOrderNumber, orderNumber)
+                    .eq(Order::getDvyType, 2)
+                    .eq(Order::getDvyId, stationId));
+        }
+        // 再去找找是否为虚拟商品
+        if(Objects.isNull(order)){
+            order = orderService.getOne(new LambdaQueryWrapper<Order>()
+                    .eq(Order::getOrderNumber, orderNumber)
+                    .eq(Order::getOrderMold, 1));
+        }
+        if (Objects.isNull(order)) {
+            // 订单不存在
+            throw new YamiShopBindException("yami.order.no.exist");
+        }
+        ShopDetail shopDetail;
+        if (Objects.equals(order.getShopId(), Constant.PLATFORM_SHOP_ID)) {
+            shopDetail = new ShopDetail();
+            shopDetail.setShopName(Constant.PLATFORM_SHOP_NAME);
+        } else {
+            shopDetail = shopDetailService.getShopDetailByShopId(order.getShopId());
+        }
+        UserAddrDto userAddrDto = null;
+        if (!Objects.equals(order.getDvyType(), DvyType.STATION.value())) {
+            UserAddrOrder userAddrOrder = userAddrOrderService.getById(order.getAddrOrderId());
+            userAddrDto = mapperFacade.map(userAddrOrder, UserAddrDto.class);
+        }
+        // 发票id
+        Long orderInvoiceId = orderInvoiceService.getByorderNumber(orderNumber);
+        orderShopDto.setOrderInvoiceId(orderInvoiceId);
+        orderShopDto.setShopId(shopDetail.getShopId());
+        orderShopDto.setDvyType(order.getDvyType());
+        orderShopDto.setShopName(shopDetail.getShopName());
+        orderShopDto.setActualTotal(order.getActualTotal());
+        orderShopDto.setUserAddrDto(userAddrDto);
+        orderShopDto.setPayType(order.getPayType());
+        orderShopDto.setRefundStatus(order.getRefundStatus());
+//        // 如果存在用户等级免运费金额,说明是包邮的,此时运费金额等于免运费金额,否则默认是订单运费
+//        if (order.getFreeTransfee() != null && order.getFreeTransfee() > 0) {
+//            orderShopDto.setTransfee(order.getFreeTransfee());
+//        } else {
+//            orderShopDto.setTransfee(order.getFreightAmount());
+//        }
+        orderShopDto.setTransfee(order.getFreightAmount());
+        // 返回满减优惠金额,优惠券优惠金额和店铺优惠总额
+        orderShopDto.setDiscountMoney(order.getDiscountAmount());
+        orderShopDto.setShopCouponMoney(order.getShopCouponAmount());
+        // 返回拼团/秒杀优惠扣除店铺改价金额和平台优惠金额
+        orderShopDto.setShopAmount(Arith.sub(Arith.sub(order.getReduceAmount(), order.getPlatformAmount()), order.getShopChangeFreeAmount()));
+        // 返回平台优惠券,平台等级,平台积分优惠金额和平台免运费金额
+        orderShopDto.setPlatformCouponAmount(order.getPlatformCouponAmount());
+        orderShopDto.setMemberAmount(order.getMemberAmount());
+        orderShopDto.setScoreAmount(order.getScoreAmount());
+        orderShopDto.setPlatformFreeFreightAmount(order.getPlatformFreeFreightAmount());
+        orderShopDto.setShopChangeFreeAmount(order.getShopChangeFreeAmount());
+        orderShopDto.setFreeTransfee(order.getFreeTransfee());
+        orderShopDto.setShopComboAmount(order.getShopComboAmount());
+        // Math.abs
+        orderShopDto.setReduceAmount(Math.abs(order.getReduceAmount()));
+        orderShopDto.setCreateTime(order.getCreateTime());
+        orderShopDto.setRemarks(order.getRemarks());
+        orderShopDto.setOrderType(order.getOrderType());
+        orderShopDto.setStatus(order.getStatus());
+        orderShopDto.setOrderMold(order.getOrderMold());
+        // 付款时间
+        orderShopDto.setPayTime(order.getPayTime());
+        // 发货时间
+        orderShopDto.setDvyTime(order.getDvyTime());
+        // 完成时间
+        orderShopDto.setFianllyTime(order.getFinallyTime());
+        // 取消时间
+        orderShopDto.setCancelTime(order.getCancelTime());
+        // 更新时间
+        orderShopDto.setUpdateTime(order.getUpdateTime());
+        //预售时间
+        orderShopDto.setPreSaleTime(order.getPreSaleTime());
+
+        refundOrderItemInfo(orderNumber, orderShopDto, order);
+        // 如果是虚拟商品订单,处理下虚拟商品订单相关数据
+        if(Objects.equals(order.getOrderMold(),1)) {
+            handlerVirtualProdOrder(order, orderShopDto,stationId);
+        }
+        return ServerResponseEntity.success(orderShopDto);
+    }
+
+    private void refundOrderItemInfo(String orderNumber, OrderShopDto orderShopDto, Order order) {
+        List<OrderItem> orderItemDbList = orderItemService.getOrderItemsByOrderNumber(orderNumber, I18nMessage.getDbLang());
+        List<OrderItem> orderItemList = orderItemDbList.stream().filter(item -> Objects.isNull(item.getGiveawayOrderItemId())).collect(Collectors.toList());
+        Map<Long, List<OrderItem>> giveawayMap = orderItemDbList.stream().filter(item -> Objects.nonNull(item.getGiveawayOrderItemId()))
+                .collect(Collectors.groupingBy(OrderItem::getGiveawayOrderItemId));
+        //计算订单使用积分
+        Long score = 0L;
+        for (OrderItem orderItem : orderItemDbList) {
+            score += orderItem.getUseScore();
+        }
+        orderShopDto.setOrderScore(score);
+        // 查询第一个商品是否为秒杀商品
+        Product prodDb = productService.getById(orderItemDbList.get(0).getProdId());
+        if (Objects.equals(order.getOrderType(), OrderType.SECKILL.value()) && Objects.equals(prodDb.getProdType(), ProdType.PROD_TYPE_SECKILL.value())) {
+            orderShopDto.setSeckillId(prodDb.getActivityId());
+        }
+        List<OrderItemDto> orderItemDtoList = mapperFacade.mapAsList(orderItemList, OrderItemDto.class);
+        List<OrderRefund> orderRefunds = orderRefundService.getProcessingOrderRefundByOrderId(order.getOrderId());
+
+        // 可以退款的状态,并在退款时间内
+        if (order.getStatus() > OrderStatus.UNPAY.value() && order.getStatus() < OrderStatus.CLOSE.value() && orderRefundService.checkRefundDate(order)) {
+            orderShopDto.setCanRefund(true);
+            // 有没有正在退款中的订单
+            if (CollectionUtil.isEmpty(orderRefunds)) {
+                orderShopDto.setCanAllRefund(true);
+            }
+        }
+        double alreadyRefundAmount = 0.0;
+        for (OrderRefund orderRefund : orderRefunds) {
+            alreadyRefundAmount = Arith.add(alreadyRefundAmount, orderRefund.getRefundAmount());
+            // 整单退款
+            if (Objects.equals(RefundType.ALL.value(), orderRefund.getRefundType())) {
+                orderShopDto.setCanRefund(false);
+                // 统一的退款单号
+                for (OrderItemDto orderItemDto : orderItemDtoList) {
+                    orderItemDto.setRefundSn(orderRefund.getRefundSn());
+                }
+                break;
+            }
+            // 单项退款,每个单号都不一样
+            for (OrderItemDto orderItemDto : orderItemDtoList) {
+                if (Objects.equals(orderItemDto.getOrderItemId(), orderRefund.getOrderItemId())) {
+                    orderItemDto.setRefundSn(orderRefund.getRefundSn());
+                }
+            }
+
+        }
+        orderShopDto.setCanRefundAmount(Arith.sub(order.getActualTotal(), alreadyRefundAmount));
+        orderShopDto.setOrderItemDtos(orderItemDtoList);
+        double total = 0.0;
+        Integer totalNum = 0;
+        for (OrderItemDto orderItem : orderShopDto.getOrderItemDtos()) {
+            total = Arith.add(total, orderItem.getProductTotalAmount());
+            totalNum += orderItem.getProdCount();
+            // 放入赠品
+            if(giveawayMap.containsKey(orderItem.getOrderItemId())){
+                orderItem.setGiveawayList(giveawayMap.get(orderItem.getOrderItemId()));
+            }
+        }
+        orderShopDto.setTotal(total);
+        orderShopDto.setTotalNum(totalNum);
+    }
+
+    /**
+     * 添加下虚拟商品的信息
+     *
+     * @param order        订单信息
+     * @param orderShopDto 用于前端展示的订单信息
+     * @param stationId 门店id
+     */
+    private void handlerVirtualProdOrder(Order order, OrderShopDto orderShopDto,Long stationId) {
+        orderShopDto.setOrderMold(order.getOrderMold());
+        // 虚拟商品留言信息
+        orderShopDto.setVirtualRemark(order.getVirtualRemark());
+        orderShopDto.setWriteOffStart(order.getWriteOffStart());
+        orderShopDto.setWriteOffEnd(order.getWriteOffEnd());
+        orderShopDto.setWriteOffNum(order.getWriteOffNum());
+        orderShopDto.setWriteOffMultipleCount(order.getWriteOffMultipleCount());
+        if (Objects.equals(order.getIsRefund(), 0)) {
+            orderShopDto.setCanAllRefund(false);
+            orderShopDto.setCanRefund(false);
+        }
+
+        // 卡券信息
+        List<OrderVirtualInfo> virtualInfoList = orderVirtualInfoService.list(new LambdaQueryWrapper<OrderVirtualInfo>()
+                .eq(OrderVirtualInfo::getOrderNumber, order.getOrderNumber())
+                .eq(Objects.nonNull(stationId),OrderVirtualInfo::getIsWriteOff, 1)
+                .eq(Objects.nonNull(stationId),OrderVirtualInfo::getStationId, stationId));
+        boolean flag = Objects.equals(order.getStatus(), OrderStatus.WAIT_GROUP.value()) || Objects.equals(order.getStatus(), OrderStatus.UNPAY.value()) ;
+        if (CollectionUtil.isNotEmpty(virtualInfoList) && !flag) {
+            orderShopDto.setVirtualInfoList(virtualInfoList);
+            orderShopDto.setTotalNum(virtualInfoList.size());
+        }
+    }
+
+    @GetMapping("/myOrder")
+    @Operation(summary = "订单列表信息" , description = "根据订单状态获取订单列表信息,状态为0时获取所有订单")
+    @Parameter(name = "status", description = "订单状态 1:待付款 2:待发货 3:待收货 4:待评价 5:成功 6:失败 7待成团" )
+    public ServerResponseEntity<IPage<MyOrderDto>> myOrder(@RequestParam(value = "status") Integer status, @RequestParam(value = "prodName", required = false ) String prodName, PageParam<MyOrderDto> page) {
+        String userId = SecurityUtils.getUser().getUserId();
+        IPage<MyOrderDto> myOrderDtoIpage = myOrderService.pageMyOrderByUserIdAndStatus(page, userId, status, prodName, I18nMessage.getDbLang());
+        return ServerResponseEntity.success(myOrderDtoIpage);
+    }
+
+    @GetMapping("/myOrderSearch")
+    @Operation(summary = "订单列表信息查询" , description = "根据订单编号或者订单中商品名称搜索")
+    @Parameters({
+            @Parameter(name = "status", description = "订单状态 1:待付款 2:待发货 3:待收货 4:待评价 5:成功 6:失败" ),
+            @Parameter(name = "orderMold", description = "订单类别 0.实物商品订单 1. 虚拟商品订单" ),
+            @Parameter(name = "orderName", description = "订单编号或者订单中商品名称" ),
+            @Parameter(name = "orderTimeStatus", description = "0全部订单 1最近七天 2最近三个月 3三个月之前 订单" ),
+            @Parameter(name = "orderType", description = "0全部订单 1拼团订单 2秒杀订单 3积分订单" ),
+            @Parameter(name = "orderNumber", description = "订单编号" ),
+            @Parameter(name = "shopId", description = "店铺id" )
+    })
+    public ServerResponseEntity<IPage<MyOrderDto>> myOrderSearch(@RequestParam(value = "status") Integer status,
+                                                           @RequestParam(value = "orderName") String orderName,
+                                                           @RequestParam(value = "orderTimeStatus", required = false) Integer orderTimeStatus,
+                                                           @RequestParam(value = "orderType", required = false) Integer orderType,
+                                                           @RequestParam(value = "orderMold") Integer orderMold,
+                                                           @RequestParam(value = "orderNumber") String orderNumber,
+                                                           @RequestParam(value = "shopId", required = false) Long shopId,
+                                                           PageParam<MyOrderDto> page) {
+        String userId = SecurityUtils.getUser().getUserId();
+        IPage<MyOrderDto> myOrderDtoIpage = myOrderService.pageMyOrderByParams(page, userId, status, orderName, orderTimeStatus, orderType, orderNumber, I18nMessage.getDbLang(), shopId,orderMold);
+        return ServerResponseEntity.success(myOrderDtoIpage);
+    }
+
+    @GetMapping("/getOrderItem")
+    @Operation(summary = "获取订单项信息" , description = "根据订单项Id获取订单项信息")
+    @Parameter(name = "orderItemId", description = "订单项Id" )
+    public ServerResponseEntity<OrderItemVO> getOrderItem(@RequestParam(value = "orderItemId") Long orderItemId) {
+        String imgDomainName = shopConfig.getDomain().getResourcesDomainName();
+        OrderItem orderItem = orderItemService.getByIdI18n(orderItemId);
+        orderItem.setPic((orderItem.getPic() != null&&!orderItem.getPic().startsWith("http://")&&!orderItem.getPic().startsWith("https://"))? imgDomainName + "/" + orderItem.getPic() : orderItem.getPic());
+        Order one = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNumber,orderItem.getOrderNumber()));
+        OrderItemVO orderItemVO = new OrderItemVO();
+        BeanUtil.copyProperties(orderItem, orderItemVO);
+        orderItemVO.setPayDate(one.getPayTime());
+        return ServerResponseEntity.success(orderItemVO);
+    }
+
+    @GetMapping("/getOrderItems")
+    @Operation(summary = "获取订单项信息" , description = "根据订单编号orderNumber获取订单项信息")
+    @Parameter(name = "orderNumber", description = "订单编号" )
+    public ServerResponseEntity<List<OrderItem>> getOrderItems(@RequestParam(value = "orderNumber") String orderNumber) {
+        String imgDomainName = shopConfig.getDomain().getResourcesDomainName();
+//        List<OrderItem> orderItems = orderItemService.list(new LambdaQueryWrapper<OrderItem>().eq(OrderItem::getOrderNumber, orderNumber));
+//        for (OrderItem orderItem : orderItems) {
+//            orderItem.setPic(StrUtil.isNotBlank(orderItem.getPic()) ? imgDomainName + "/" + orderItem.getPic() : null);
+//            OrderItem langInfo = orderItemService.getByOrderItemId(orderItem.getOrderItemId(), I18nMessage.getDbLang());
+//            orderItem.setProdName(langInfo.getProdName());
+//            orderItem.setSkuName(langInfo.getSkuName());
+//        }
+        List<OrderItem> orderItems = orderItemService.listAndPayTimeByOrderNumber(orderNumber);
+        for (OrderItem orderItem : orderItems) {
+            orderItem.setPic((orderItem.getPic() != null&&!orderItem.getPic().startsWith("http://")&&!orderItem.getPic().startsWith("https://"))? imgDomainName + "/" + orderItem.getPic() : orderItem.getPic());
+        }
+        return ServerResponseEntity.success(orderItems);
+    }
+
+    @GetMapping("/myOrderComment")
+    @Operation(summary = "订单评价列表接口" , description = "根据订单评价状态获取订单列表信息")
+    public ServerResponseEntity<IPage<MyOrderDto>> myOrderComment(PageParam<MyOrderDto> page) {
+        String userId = SecurityUtils.getUser().getUserId();
+        IPage<MyOrderDto>  myOrderDtoIpage = myOrderService.myOrderComment(page, userId);
+        return ServerResponseEntity.success(myOrderDtoIpage);
+    }
+
+    @GetMapping("/myOrderItemsComment")
+    @Operation(summary = "订单项评价列表接口" , description = "根据订单评价状态获取订单列表信息")
+    @Parameter(name = "commStatus", description = "订单状态 0:待评价 1已评价" )
+    public ServerResponseEntity<IPage<MyOrderItemDto>> myOrderItemsComment(@RequestParam(value = "commStatus") Integer commStatus,
+                                                                     PageParam<MyOrderItemDto> page) {
+        String userId = SecurityUtils.getUser().getUserId();
+        IPage<MyOrderItemDto> myOrderDtoIpage = myOrderService.myOrderItemsComment(page, userId, commStatus);
+        return ServerResponseEntity.success(myOrderDtoIpage);
+    }
+
+    @PutMapping("/cancel/{orderNumber}")
+    @Operation(summary = "根据订单编号取消订单" , description = "根据订单编号取消订单")
+    @Parameter(name = "orderNumber", description = "订单编号" , required = true)
+    public ServerResponseEntity<String> cancel(@PathVariable("orderNumber") String orderNumber) {
+        String userId = SecurityUtils.getUser().getUserId();
+        Order order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, true);
+        if (!Objects.equals(order.getStatus(), OrderStatus.UNPAY.value())) {
+            // 订单已支付,无法取消订单
+            throw new YamiShopBindException("yami.order.status.change");
+        }
+
+        List<OrderItem> orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber, I18nMessage.getDbLang());
+        order.setOrderItems(orderItems);
+        // 取消订单
+        orderService.cancelOrders(Collections.singletonList(order));
+        // 清除缓存
+        for (OrderItem orderItem : orderItems) {
+            productService.removeProdCacheByProdId(orderItem.getProdId());
+            skuService.removeSkuCacheBySkuId(orderItem.getSkuId(), orderItem.getProdId());
+        }
+        return ServerResponseEntity.success();
+    }
+
+    @PutMapping("/receipt/{orderNumber}")
+    @Operation(summary = "根据订单号确认收货" , description = "根据订单号确认收货")
+    @Parameter(name = "orderNumber", description = "订单编号" , required = true)
+    public ServerResponseEntity<String> receipt(@PathVariable("orderNumber") String orderNumber) {
+        String userId = SecurityUtils.getUser().getUserId();
+        Order order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, true);
+
+        if (!Objects.equals(order.getStatus(), OrderStatus.CONSIGNMENT.value())) {
+            // 订单不处于待收货状态,无法确认收货
+            throw new YamiShopBindException("yami.order.no.delivery");
+        }
+        if (Objects.equals(order.getRefundStatus(), RefundStatusEnum.APPLY.value())) {
+            // 订单退款中,无法确认收货
+            throw new YamiShopBindException("yami.order.receipt.refund");
+        }
+        List<OrderItem> orderItems = orderItemService.getOrderItemsByOrderNumber(orderNumber, I18nMessage.getDbLang());
+        order.setOrderItems(orderItems);
+        // 确认收货
+        orderService.receiptOrder(Collections.singletonList(order));
+
+        for (OrderItem orderItem : orderItems) {
+            productService.removeProdCacheByProdId(orderItem.getProdId());
+            skuService.removeSkuCacheBySkuId(orderItem.getSkuId(), orderItem.getProdId());
+        }
+        return ServerResponseEntity.success();
+    }
+
+    @DeleteMapping("/{orderNumber}")
+    @Operation(summary = "根据订单号删除订单" , description = "根据订单号删除订单")
+    @Parameter(name = "orderNumber", description = "订单号" , required = true)
+    public ServerResponseEntity<String> delete(@PathVariable("orderNumber") String orderNumber) {
+        String userId = SecurityUtils.getUser().getUserId();
+        Order order = orderService.getOrderByOrderNumberAndUserId(orderNumber, userId, true);
+        if (!Objects.equals(order.getStatus(), OrderStatus.SUCCESS.value()) && !Objects.equals(order.getStatus(), OrderStatus.CLOSE.value())) {
+            // 订单未完成或未关闭,无法删除订单
+            throw new YamiShopBindException("yami.order.no.success");
+        }
+        // 删除订单
+        orderService.deleteOrders(Collections.singletonList(order));
+        // 删除成功
+        return ServerResponseEntity.success(I18nMessage.getMessage("yami.delete.successfully"));
+    }
+
+    @GetMapping("/getOrderStatus")
+    @Operation(summary = "根据订单编号获取订单状态")
+    public ServerResponseEntity<Order> getOrderStatus(@RequestParam("orderNumber") String orderNumber) {
+        Order order = orderService.getOne(new LambdaQueryWrapper<Order>().select(Order::getStatus, Order::getRefundStatus).eq(Order::getOrderNumber, orderNumber));
+        return ServerResponseEntity.success(order);
+    }
+
+
+//    /**
+//     * 获取我的订单订单数量
+//     */
+//    @GetMapping("/orderCount")
+//    @Operation(summary = "获取我的订单订单数量" , description = "获取我的订单订单数量")
+//    public ServerResponseEntity<OrderCountData> getOrderCount() {
+//        String userId = SecurityUtils.getUser().getUserId();
+//        OrderCountData orderCountMap = orderService.getOrderCount(userId);
+//        return ServerResponseEntity.success(orderCountMap);
+//    }
+
+
+}

--
Gitblit v1.9.3