From 9f92aa108c24a67fabe80977cede0e0352318681 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期三, 10 九月 2025 19:11:17 +0800
Subject: [PATCH] 扫码修改地址

---
 buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java |   86 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
index c192d36..23db668 100644
--- a/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
+++ b/buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
@@ -7,27 +7,41 @@
 import cn.lili.common.security.AuthUser;
 import cn.lili.common.security.OperationalJudgment;
 import cn.lili.common.security.context.UserContext;
+import cn.lili.common.utils.StringUtils;
 import cn.lili.common.vo.ResultMessage;
+import cn.lili.modules.lmk.enums.general.AdminRoleEnum;
+import cn.lili.modules.member.entity.dto.MemberAddressDTO;
 import cn.lili.modules.order.order.entity.dos.Order;
 import cn.lili.modules.order.order.entity.dos.OrderPackage;
 import cn.lili.modules.order.order.entity.dto.OrderSearchParams;
+import cn.lili.modules.order.order.entity.dto.OrderSearchXcxParams;
+import cn.lili.modules.order.order.entity.enums.ModifyAddressEnums;
 import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
 import cn.lili.modules.order.order.entity.vo.OrderDetailVO;
 import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
+import cn.lili.modules.order.order.entity.vo.OrderSimpleXcxVO;
+import cn.lili.modules.order.order.service.OrderItemService;
 import cn.lili.modules.order.order.service.OrderPackageService;
 import cn.lili.modules.order.order.service.OrderService;
+import cn.lili.modules.permission.service.AdminUserService;
 import cn.lili.modules.system.entity.vo.Traces;
+import cn.lili.utils.COSUtil;
+import cn.lili.utils.CommonUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.validation.Valid;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -36,6 +50,7 @@
  * @author Chopper
  * @since 2020/11/16 10:08 涓嬪崍
  */
+@Slf4j
 @RestController
 @Api(tags = "涔板绔�,璁㈠崟鎺ュ彛")
 @RequestMapping("/buyer/order/order")
@@ -50,12 +65,43 @@
     @Autowired
     private OrderPackageService orderPackageService;
 
+    @Autowired
+    private COSUtil cosUtil;
+    @Autowired
+    private AdminUserService adminUserService;
+
     @ApiOperation(value = "鏌ヨ浼氬憳璁㈠崟鍒楄〃")
     @GetMapping
     public ResultMessage<IPage<OrderSimpleVO>> queryMineOrder(OrderSearchParams orderSearchParams) {
         AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
         orderSearchParams.setMemberId(currentUser.getId());
-        return ResultUtil.data(orderService.queryByParams(orderSearchParams));
+        Boolean needHide = false;
+        IPage<OrderSimpleVO> t = orderService.queryByParams(orderSearchParams,needHide);
+
+        t.getRecords().forEach(orderSimpleVO -> {
+            String groupImages = orderSimpleVO.getGroupImages();
+            if (StringUtils.isNotBlank(groupImages)) {
+                String[] split = groupImages.split(",");
+               List<String> groupImg = new ArrayList<>();
+                for (String s : split) {
+                    if (StringUtils.isNotBlank(s)&&!s.contains("http")) {
+                        groupImg.add(cosUtil.getPreviewUrl(s));
+                    }
+                }
+                orderSimpleVO.setGroupImages(
+                        String.join(",", groupImg)
+                );
+            }
+        });
+        return ResultUtil.data(t);
+    }
+
+    @ApiOperation(value = "鏌ヨ浼氬憳璁㈠崟鍒楄〃")
+    @GetMapping("/xcx")
+    public ResultMessage<IPage<OrderSimpleXcxVO>> queryXcxMineOrder(OrderSearchXcxParams orderSearchParams) {
+        AuthUser currentUser = Objects.requireNonNull(UserContext.getCurrentUser());
+        orderSearchParams.setMemberId(currentUser.getId());
+        return ResultUtil.data(orderService.queryByXcxParams(orderSearchParams));
     }
 
     @ApiOperation(value = "璁㈠崟鏄庣粏")
@@ -66,9 +112,45 @@
     public ResultMessage<OrderDetailVO> detail(@NotNull(message = "璁㈠崟缂栧彿涓嶈兘涓虹┖") @PathVariable("orderSn") String orderSn) {
         OrderDetailVO orderDetailVO = orderService.queryDetail(orderSn);
         OperationalJudgment.judgment(orderDetailVO.getOrder());
+        orderDetailVO.getOrderItems().forEach(orderItem -> {
+            String image = orderItem.getImage();
+            if (StringUtils.isNotBlank(image)&&!image.contains("http")) {
+                orderItem.setImage(cosUtil.getPreviewUrl(image));
+            }
+        });
         return ResultUtil.data(orderDetailVO);
     }
-
+    @ApiOperation(value = "璁㈠崟鏄庣粏")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "orderSn", value = "璁㈠崟缂栧彿", required = true, paramType = "path")
+    })
+    @GetMapping(value = "/editAddress/{orderSn}")
+    public ResultMessage<OrderDetailVO> editAddress(@NotNull(message = "璁㈠崟缂栧彿涓嶈兘涓虹┖") @PathVariable("orderSn") String orderSn) {
+        OrderDetailVO orderDetailVO = orderService.queryEditAddressDetail(orderSn);
+        Order order = orderDetailVO.getOrder();
+        if (!OrderStatusEnum.UNDELIVERED.name().equals(order.getOrderStatus())) {
+            log.error("璁㈠崟鍙蜂负{}------------------->鐘舵�佸紓甯镐负{}",orderSn,order.getOrderStatus());
+            throw new ServiceException("璁㈠崟鐘舵�佸紓甯告棤娉曢鍙�");
+        }
+        String modifyAddressFlag = order.getModifyAddressFlag();
+        if (ModifyAddressEnums.USED.name().equals(modifyAddressFlag)) {
+            throw new ServiceException("璁㈠崟宸茶棰嗗彇");
+        }
+        orderDetailVO.getOrderItems().forEach(orderItem -> {
+            String image = orderItem.getImage();
+            if (StringUtils.isNotBlank(image)&&!image.contains("http")) {
+                orderItem.setImage(cosUtil.getPreviewUrl(image));
+            }
+        });
+        return ResultUtil.data(orderDetailVO);
+    }
+    @ApiOperation(value = "淇敼鏀惰揣浜轰俊鎭�")
+    @ApiImplicitParam(name = "orderSn", value = "璁㈠崟sn", required = true, dataType = "String", paramType = "path")
+    @PostMapping(value = "/update/editAddress/{orderSn}/consignee")
+    public ResultMessage<Object> consignee(@NotNull(message = "鍙傛暟闈炴硶") @PathVariable String orderSn,
+                                           @Valid @RequestBody MemberAddressDTO memberAddressDTO) {
+        return ResultUtil.data(orderService.updateAddressConsignee(orderSn, memberAddressDTO));
+    }
     @PreventDuplicateSubmissions
     @ApiOperation(value = "纭鏀惰揣")
     @ApiImplicitParams({

--
Gitblit v1.8.0