From c4b2a916399eee796bbf93d24bf41fd18c4d9f44 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 29 七月 2025 09:10:11 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java |  163 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 127 insertions(+), 36 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
index 01b334d..7fb8691 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -5,20 +5,20 @@
 import com.ruoyi.common.core.exception.ServiceException;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.domain.dto.*;
+import com.ruoyi.order.domain.pojo.order.Order;
 import com.ruoyi.order.domain.vo.*;
 import com.ruoyi.order.service.order.OrderService;
 import com.ruoyi.system.api.constant.AppErrorConstant;
+import com.ruoyi.system.api.domain.poji.goods.Goods;
+import com.ruoyi.system.api.model.AddOrderVo;
+import com.ruoyi.system.api.service.RemoteGoodsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
-
-import static org.reflections.Reflections.log;
 
 /**
  * @author jqs34
@@ -35,6 +35,9 @@
     @Resource
     private OrderService orderService;
 
+    @Resource
+    private RemoteGoodsService remoteGoodsService;
+
 
     @RequestMapping(value = "/verifyCode", method = RequestMethod.POST)
     @ApiOperation(value = "核销code")
@@ -42,28 +45,55 @@
         Long userId = SecurityUtils.getUserId();
         merVerifyCodeDto.setUserId(userId);
         String verifyCode = merVerifyCodeDto.getVerifyCode();
-        String[] verifyCodeArr = verifyCode.split("-");
         MerVerifyCodeVo merVerifyCodeVo = new MerVerifyCodeVo();
-        Integer type = Integer.valueOf(verifyCodeArr[0]);
-        verifyCode = verifyCodeArr[1];
-        merVerifyCodeVo.setVerifyType(type);
-        switch(type){
-            case 1:
-                MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode,merVerifyCodeDto.getShopId());
+        if(!verifyCode.contains("https")){
+            String[] verifyCodeArr = verifyCode.split("-");
+            Integer type = Integer.valueOf(verifyCodeArr[0]);
+            verifyCode = verifyCodeArr[1];
+            merVerifyCodeVo.setVerifyType(type);
+            switch(type){
+                case 1:
+                    MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode,merVerifyCodeDto.getShopId());
+                    merVerifyCodeVo.setMerVerifyOrderVo(merVerifyOrderVo);
+                    break;
+                case 2:
+                    MerVerifyCouponVo merVerifyCouponVo = orderService.verifyCoupon(verifyCode,merVerifyCodeDto.getShopId());
+                    merVerifyCouponVo.setCouponId(merVerifyCouponVo.getMemberCouponId().toString());
+                    merVerifyCodeVo.setMerVerifyCouponVo(merVerifyCouponVo);
+                    break;
+                case 3:
+                    MerVerifyAwardVo merVerifyAwardVo = orderService.verifyPrize(verifyCode,merVerifyCodeDto.getShopId());
+                    merVerifyCodeVo.setMerVerifyAwardVo(merVerifyAwardVo);
+                    break;
+                default:
+                    throw new ServiceException(AppErrorConstant.VERIFY_TYPE_MISS);
+            }
+        }else{
+            merVerifyCodeVo.setVerifyType(1);
+            //三方订单
+            //抖音
+            if (verifyCode.contains("douyin")) {
+                MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrderDouYin(verifyCode, merVerifyCodeDto.getShopId());
                 merVerifyCodeVo.setMerVerifyOrderVo(merVerifyOrderVo);
-                break;
-            case 2:
-                MerVerifyCouponVo merVerifyCouponVo = orderService.verifyCoupon(verifyCode,merVerifyCodeDto.getShopId());
-                merVerifyCodeVo.setMerVerifyCouponVo(merVerifyCouponVo);
-                break;
-            case 3:
-                MerVerifyAwardVo merVerifyAwardVo = orderService.verifyPrize(verifyCode,merVerifyCodeDto.getShopId());
-                merVerifyCodeVo.setMerVerifyAwardVo(merVerifyAwardVo);
-                break;
-            default:
-                throw new ServiceException(AppErrorConstant.VERIFY_TYPE_MISS);
+            }
+            //快手
+            if (verifyCode.contains("ksurl")) {
+                MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrderKuaiShou(verifyCode, merVerifyCodeDto.getShopId());
+                merVerifyCodeVo.setMerVerifyOrderVo(merVerifyOrderVo);
+            }
         }
+
         return R.ok(merVerifyCodeVo);
+    }
+
+    @RequestMapping(value = "/verifyOrder", method = RequestMethod.POST)
+    @ApiOperation(value = "核销code")
+    public R<MerVerifyOrderVo> verifyOrder(@RequestBody MerVerifyCodeDto merVerifyCodeDto) {
+        Long userId = SecurityUtils.getUserId();
+        merVerifyCodeDto.setUserId(userId);
+        String verifyCode = merVerifyCodeDto.getVerifyCode();
+        MerVerifyOrderVo merVerifyOrderVo = orderService.verifyOrder(verifyCode, merVerifyCodeDto.getShopId());
+        return R.ok(merVerifyOrderVo);
     }
 
     @RequestMapping(value = "/sureVerifyOrder", method = RequestMethod.POST)
@@ -71,7 +101,20 @@
     public R<MerVerifyOrderVo> sureVerifyOrder(@RequestBody MerVerifyOrderDto merVerifyOrderDto) {
         Long userId = SecurityUtils.getUserId();
         merVerifyOrderDto.setUserId(userId);
-        MerVerifyOrderVo merVerifyOrderVo = orderService.sureVerifyOrder(merVerifyOrderDto);
+        MerVerifyOrderVo merVerifyOrderVo = null;
+        if (!merVerifyOrderDto.getOrderId().contains("https")) {
+            merVerifyOrderVo = orderService.sureVerifyOrder(merVerifyOrderDto);
+        } else {
+            //三方订单
+            //抖音
+            if (merVerifyOrderDto.getOrderId().contains("douyin")) {
+                merVerifyOrderVo = orderService.sureVerifyOrderDouYin(merVerifyOrderDto);
+            }
+            //快手
+            if (merVerifyOrderDto.getOrderId().contains("ksurl")) {
+                merVerifyOrderVo = orderService.sureVerifyOrderKuaiShou(merVerifyOrderDto);
+            }
+        }
         return R.ok(merVerifyOrderVo);
     }
 
@@ -124,19 +167,44 @@
         orderService.createNewOrder(merNewOrderDto);
         return R.ok();
     }
-
+    
     @RequestMapping(value = "/pageMerOrder", method = RequestMethod.POST)
-    @ApiOperation(value = "获取商户端订单列表")
+    @ApiOperation(value = "获取商户端订单列表【2.0】")
     public R<Page<MerOrderPageVo>> pageMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) {
         Long userId = SecurityUtils.getUserId();
         merOrderPageDto.setUserId(userId);
         Page<MerOrderPageVo> page = new Page<>();
         page.setSize(merOrderPageDto.getPageSize());
         page.setCurrent(merOrderPageDto.getPageNum());
-        List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page,merOrderPageDto);
+        List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page, merOrderPageDto);
         return R.ok(page.setRecords(merOrderPageVoList));
     }
-
+    
+    
+    @RequestMapping(value = "/cancelMerOrder", method = RequestMethod.POST)
+    @ApiOperation(value = "商户端取消线下订单【2.0】")
+    public R cancelMerOrder(@RequestBody CancelMerOrderDto dto) {
+        Order order = orderService.getById(dto.getOrderId());
+        if (null == order) {
+            return R.fail("订单不存在");
+        }
+        if (order.getOrderStatus() == 0) {
+            return R.fail("订单已取消");
+        }
+        if (!order.getShopId().equals(dto.getShopId())) {
+            return R.fail("取消失败");
+        }
+        if (3 != order.getOrderFrom()) {
+            return R.fail("取消失败");
+        }
+        order.setOrderStatus(0);
+        order.setCancelType(2);
+        order.setCancelTime(new Date());
+        orderService.updateById(order);
+        return R.ok();
+    }
+    
+    
     @RequestMapping(value = "/totalMerOrder", method = RequestMethod.POST)
     @ApiOperation(value = "商户端订单管理统计")
     public R<MerTotalOrderVo> totalMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) {
@@ -145,19 +213,42 @@
         MerTotalOrderVo totalOrderVo = orderService.totalMerOrder(merOrderPageDto);
         return R.ok(totalOrderVo);
     }
-
+    
     @RequestMapping(value = "/pageMerMemberOrder", method = RequestMethod.POST)
-    @ApiOperation(value = "分页商户端用户收银记录")
-    public R<Page<MerMemberNoClearOrderVo>> pageMerMemberOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
+    @ApiOperation(value = "分页商户端用户收银记录【2.0】")
+    public R<Page<MerMemberOrderVo>> pageMerMemberOrder(@RequestBody MerMemberNoClearOrderDto merMemberNoClearOrderDto) {
         Long userId = SecurityUtils.getUserId();
         merMemberNoClearOrderDto.setUserId(userId);
-        Page<MerMemberNoClearOrderVo> page = new Page<>();
+        Page<MerMemberOrderVo> page = new Page<>();
         page.setSize(merMemberNoClearOrderDto.getPageSize());
         page.setCurrent(merMemberNoClearOrderDto.getPageNum());
-        log.info("merMemberNoClearOrderDto----"+merMemberNoClearOrderDto.toString());
-        List<MerMemberNoClearOrderVo> merMemberNoClearOrderVoList = orderService.pageMerMemberOrder(page,merMemberNoClearOrderDto);
+        List<MerMemberOrderVo> merMemberNoClearOrderVoList = orderService.pageMerMemberOrder(page,merMemberNoClearOrderDto);
         return R.ok(page.setRecords(merMemberNoClearOrderVoList));
     }
 
+    @RequestMapping(value = "/pageMerMemberPayOrder", method = RequestMethod.POST)
+    @ApiOperation(value = "获取商户端用户消费记录")
+    public R<Page<MerOrderPageVo>> pageMerMemberPayOrder(@RequestBody MerMemberNoClearOrderDto merOrderPageDto) {
+        Long userId = SecurityUtils.getUserId();
+        merOrderPageDto.setUserId(userId);
+        Page<MerOrderPageVo> page = new Page<>();
+        page.setSize(merOrderPageDto.getPageSize());
+        page.setCurrent(merOrderPageDto.getPageNum());
+        List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerMemberPayOrder(page,merOrderPageDto);
+        return R.ok(page.setRecords(merOrderPageVoList));
+    }
 
-}
+
+    /**
+     * 抽奖的平台商品生成订单--待审核
+     * @param orderVo
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/addOrder", method = RequestMethod.POST)
+    public R addOrder(@RequestBody AddOrderVo orderVo){
+        Goods goods = remoteGoodsService.getGoods(orderVo.getGoodsId()).getData();
+        orderService.addOrder(orderVo.getShopId(), orderVo.getUserId(), goods, orderVo.getGoodsNum(), orderVo.getId(), 2);
+        return R.ok();
+    }
+}
\ No newline at end of file

--
Gitblit v1.7.1