From f2187e1fde463c5d8c99fa02ca13eb9240eea33e Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 23 Jul 2021 10:17:24 +0800
Subject: [PATCH] fix

---
 gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java   |    3 +++
 gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml          |    8 ++++++++
 gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java |   12 ++++++++++++
 3 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
index c9d1739..cbe3cad 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/mapper/JhyOrderMapper.java
@@ -1,5 +1,6 @@
 package com.xzx.gc.order.mapper;
 
+import com.xzx.gc.entity.JhyInfo;
 import com.xzx.gc.entity.JhyOrder;
 import com.xzx.gc.order.dto.JhyOrderListDto;
 import com.xzx.gc.order.vo.JhyOrderListVo;
@@ -16,4 +17,6 @@
     List<JhyOrderListVo> selectJhyOrderList(@Param("record") JhyOrderListDto jhyOrderListDto);
 
     List<JhyStatusCountVo> selectOrderStatusCount(@Param("type") Integer type, @Param("userId") String userId);
+
+    List<JhyOrder> selectJhyOrderListByStatus(@Param("list") List<String> list, @Param("userId") String userId);
 }
diff --git a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
index 0dba707..914812b 100644
--- a/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
+++ b/gc-order/src/main/java/com/xzx/gc/order/service/JhyOrderService.java
@@ -91,6 +91,18 @@
                 address.append(StrUtil.isNotBlank(addressInfo.getUnitName()) ? addressInfo.getUnitName() : "");
             }
         }
+
+        List<JhyOrder> addressExist = jhyOrderMapper.selectJhyOrderListByStatus(StrUtil.split("1,2", ','), jhyOrder.getUserId());
+        if (CollUtil.isNotEmpty(addressExist)) {
+            for (JhyOrder order : addressExist) {
+                String orderAddr = order.getArea() + order.getAddress();
+
+                if (orderAddr.equals(address.toString())) {
+                    throw new RestException(-3, "同一地址仅能有一单在进行中");
+                }
+            }
+        }
+
         jhyOrder.setAddress(address.toString());
 
         jhyOrder.setUsername(addressInfo.getRelaName());
diff --git a/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml b/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
index dac82a6..c4f1b8c 100644
--- a/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
+++ b/gc-order/src/main/resources/mapper/order/JhyOrderMapper.xml
@@ -71,4 +71,12 @@
         </where>
         group by status
     </select>
+
+    <select id="selectJhyOrderListByStatus" resultType="com.xzx.gc.entity.JhyOrder">
+        select * from xzx_jhy_order
+        where user_id=#{userId} and status in
+        <foreach collection="list" index="index" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1