Просмотр исходного кода

feat(system):新增学校场地预约取消

wzq 2 недель назад
Родитель
Сommit
5aa86573af

+ 6 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/controller/OrderController.java

@@ -146,6 +146,12 @@ public class OrderController {
         return Result.ok(appOrderService.createOrderPlaceSchool(rulesId, userIds));
     }
 
+    @Operation(summary = "学校场地预约-取消")
+    @PutMapping("/cancelSchoolOrder")
+    public Result<Boolean> cancelSchoolOrder(@RequestParam("orderId") @Schema(description = "订单ID") String orderId) {
+        return Result.ok(appOrderService.cancelSchoolOrder(orderId));
+    }
+
     /**
      * @return OrderVO.PreviewOrderPlaceSchoolTime {@link OrderVO.PreviewOrderPlaceSchoolTime}
      * @Author SheepHy

+ 2 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/IOrderService.java

@@ -109,4 +109,6 @@ public interface IOrderService extends IService<AppOrder>{
     Map<String, String> wechatPayNotify(HttpServletRequest request, HttpServletResponse response);
 
     UserPayForm payOrder(String appOrderId);
+
+    Boolean cancelSchoolOrder(String orderId);
 }

+ 23 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/app/service/impl/OrderServiceImpl.java

@@ -2555,6 +2555,29 @@ public class OrderServiceImpl extends ServiceImpl<AppOrderMapper, AppOrder> impl
         return payForm;
     }
 
+    @Override
+    public Boolean cancelSchoolOrder(String orderId) {
+
+        AppOrder appOrder = appOrderMapper.selectById(orderId);
+        if (ObjectUtil.isEmpty(appOrder)) {
+            throw new JeecgBootException("当前订单不存在!");
+        }
+
+        if (!Objects.equals(appOrder.getOrderType(), CommonConstant.ORDER_PRO_INFO_TYPE_0)){
+            throw new JeecgBootException("只能主动取消学校场地预约订单!");
+        }
+        List<AppOrderProInfo> orderProInfoList = appOrderProInfoMapper.selectList(Wrappers.<AppOrderProInfo>lambdaQuery().eq(AppOrderProInfo::getOrderId, orderId));
+        if (CollUtil.isNotEmpty(orderProInfoList)) {
+            for (AppOrderProInfo appOrderProInfo : orderProInfoList) {
+                appOrderProInfo.setOrderStatus(CommonConstant.ORDER_STATUS_4);
+                appOrderProInfoMapper.updateById(appOrderProInfo);
+            }
+        }
+        appOrder.setOrderStatus(CommonConstant.ORDER_STATUS_4);
+        appOrderMapper.updateById(appOrder);
+        return Boolean.TRUE;
+    }
+
 
     /**
      * @return String 订单号

+ 1 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppTeachingTimeController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.system.app.controller;
 
+import cn.hutool.core.collection.CollUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;