From d9e75c8c09738b31c375e3b843a3f2d4927f325f Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期三, 26 七月 2023 09:13:29 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java |   72 +++++++++++++++++++++++++++++++----
 1 files changed, 63 insertions(+), 9 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
index a4746a7..95526fe 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
@@ -2,20 +2,20 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.redis.service.RedisService;
 import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.order.domain.dto.AppPlaceOrderDto;
-import com.ruoyi.order.domain.dto.AppSureOrderDto;
-import com.ruoyi.order.domain.dto.AppUserOrderPageDto;
+import com.ruoyi.order.domain.dto.*;
 import com.ruoyi.order.domain.pojo.order.Order;
-import com.ruoyi.order.domain.vo.AppPlaceOrderVo;
-import com.ruoyi.order.domain.vo.AppSureOrderVo;
-import com.ruoyi.order.domain.vo.AppUserOrderGetVo;
-import com.ruoyi.order.domain.vo.AppUserOrderPageVo;
+import com.ruoyi.order.domain.vo.*;
 import com.ruoyi.order.service.order.OrderService;
+import com.ruoyi.system.api.constant.DelayTaskEnum;
+import com.ruoyi.system.api.constant.SecurityConstant;
 import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
 import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
 import com.ruoyi.system.api.domain.poji.member.Member;
+import com.ruoyi.system.api.service.RemoteConfigService;
 import com.ruoyi.system.api.service.RemoteMemberService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -45,6 +45,12 @@
     @Resource
     private OrderService orderService;
 
+    @Resource
+    private RedisService redisService;
+
+    @Resource
+    private RemoteConfigService remoteConfigService;
+
 
     @RequestMapping(value = "/buyGoods", method = RequestMethod.POST)
     @ApiOperation(value = "购买商品")
@@ -59,6 +65,22 @@
         }
         AppSureOrderVo appSureOrderVo = orderService.buyGoods(appSureOrderDto);
         return R.ok(appSureOrderVo);
+    }
+
+
+    @RequestMapping(value = "/panicBuyGoods", method = RequestMethod.POST)
+    @ApiOperation(value = "抢购商品")
+    public R<AppPanicBuyVo> panicBuyGoods(@RequestBody AppPanicBuyDto appPanicBuyDto) {
+        Long userId = SecurityUtils.getUserId();
+        if(userId!=null){
+            Member member = memberService.getMember(userId).getData();
+            appPanicBuyDto.setUserId(userId);
+            if(member!=null&&member.getRelationShopId()!=null){
+                appPanicBuyDto.setShopId(member.getRelationShopId());
+            }
+        }
+        AppPanicBuyVo panicBuyGoods = orderService.panicBuyGoods(appPanicBuyDto);
+        return R.ok(panicBuyGoods);
     }
 
     @RequestMapping(value = "/placeOrder", method = RequestMethod.POST)
@@ -81,6 +103,29 @@
             }
         }
         AppPlaceOrderVo appPlaceOrderVo = orderService.placeOrder(appPlaceOrderDto);
+        return R.ok(appPlaceOrderVo);
+    }
+
+    @RequestMapping(value = "/placeActivityOrder", method = RequestMethod.POST)
+    @ApiOperation(value = "创建活动订单")
+    public R<AppPlaceOrderVo> placeActivityOrder(@RequestBody AppPlaceActivityDto appPlaceActivityDto) {
+        Long userId = SecurityUtils.getUserId();
+        if(userId!=null){
+            Member member = memberService.getMember(userId).getData();
+            appPlaceActivityDto.setUserId(userId);
+            if(member!=null&&member.getRelationShopId()!=null){
+                appPlaceActivityDto.setShopId(member.getRelationShopId());
+            }
+            if(member.getBindingFlag()!=1){
+                //绑定商户
+                AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto();
+                appMemberBindingDto.setShopId(appPlaceActivityDto.getShopId());
+                appMemberBindingDto.setUserId(userId);
+                appMemberBindingDto.setBindingFlag(1);
+                memberService.updateMemberBinding(appMemberBindingDto);
+            }
+        }
+        AppPlaceOrderVo appPlaceOrderVo = orderService.placeActivityOrder(appPlaceActivityDto);
         return R.ok(appPlaceOrderVo);
     }
 
@@ -130,10 +175,19 @@
         Long userId = SecurityUtils.getUserId();
         AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo();
         Order order = orderService.getById(appBaseGetDto.getId());
+        order.setOrderStatus(2);
+        orderService.saveOrUpdate(order);
         appPlaceOrderVo.setOrderId(order.getOrderId());
         appPlaceOrderVo.setOrderNo(order.getOrderNo());
-        appPlaceOrderVo.setPayMoney(order.getPayMoney());
-        appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney()));
+        appPlaceOrderVo.setPayType(order.getPayType());
+        appPlaceOrderVo.setUnpaidMoney(order.getPayMoney());
+        Integer delayTime = 30;
+        if(redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)){
+            delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
+        }
+        redisService.deleteObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId());
+        remoteConfigService.deleteDelayTask(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId());
+        appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(),delayTime));
         return R.ok(appPlaceOrderVo);
     }
 

--
Gitblit v1.7.1