From de2ba205c3752992c27777a93823f6292e58d7c3 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 14 九月 2023 15:54:15 +0800
Subject: [PATCH] zjh 2023/09/14---2

---
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java      |    5 ++
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java                 |   31 +++++++++++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java              |    2 +
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java           |   32 ++++++++++++++++
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java                    |    3 +
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java |    5 ++
 6 files changed, 77 insertions(+), 1 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
index aed625b..657b289 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java
@@ -27,6 +27,7 @@
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import com.ltkj.common.core.controller.BaseController;
 import com.ltkj.common.core.domain.AjaxResult;
@@ -528,6 +529,7 @@
 
     @PostMapping("/newReservationConfirm")
     @ApiOperation(value = "鍥綋棰勭害纭鎺ュ彛 (鏂扮増鏈�)")
+    @Transactional
     public AjaxResult newReservationConfirm(@RequestBody ConfirmDto dto) {
         //棰勭害鐨勬墍鏈変汉
         List<TjReservation> rightList = dto.getReservations();
@@ -544,7 +546,8 @@
         TjDwDept dwDept = dwDeptService.getById(dto.getDwDeptId());
 
         //寮傛鏁版嵁
-        asyncService.addNewReservationConfirm(rightList);
+//        asyncService.addNewReservationConfirm(rightList);
+        asyncService.saveNewReservationConfirm(rightList);
 
         //鍥綋浜烘暟鍚堣浠锋牸
         BigDecimal compPay=new BigDecimal("0.00");
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
index f2a01c9..28116d3 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -165,4 +165,35 @@
             "WHERE\n" +
             "\ta.pro_id = #{proId} ")
     void saveRedisTransitionByProId(@Param("cusId")String cusId,@Param("proId") Long proId);
+
+
+    @Insert("INSERT INTO tb_transition(\n" +
+            "   cus_id,\n" +
+            "   pro_id,\n" +
+            "   pro_name,\n" +
+            "   parent_pro_id,\n" +
+            "   parent_pro_name,\n" +
+            "   ord_price,\n" +
+            "   now_price,\n" +
+            "   create_time,\n" +
+            "   pro_check_method,\n" +
+            "   pro_type\n" +
+            ")\n" +
+            "SELECT\n" +
+            "#{cusId},\n" +
+            "c.pro_id,\n" +
+            "c.pro_name,\n" +
+            "b.pro_id,\n" +
+            "b.pro_name,\n" +
+            "c.pro_price * (a.limits/10),\n" +
+            "c.pro_price * (a.limits/10),\n" +
+            "SYSDATE(),\n" +
+            "c.pro_check_method,\n" +
+            "c.pro_type\n" +
+            "FROM\n" +
+            "\ttj_grouping_pro a\n" +
+            "\tLEFT JOIN tj_project b ON a.pro_id = b.pro_id \n" +
+            "\tLEFT JOIN tj_project c ON c.pro_parent_id=b.pro_id\n" +
+            "WHERE 1=1 AND a.grouping_id =#{groupingId} ")
+    boolean saveTemoTransitionByGroupingId(@Param("cusId")String cusId,@Param("groupingId")String groupingId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
index 5b19339..d6aaf97 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
@@ -97,4 +97,6 @@
     void saveRedisTransitionByPacId(String cusId, Long pacId);
 
     void saveRedisTransitionByProId(String cusId, Long proId);
+
+    boolean saveTemoTransitionByGroupingId(String cusId,String groupingId);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
index 1e1612e..de358f5 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
@@ -67,5 +67,8 @@
     //鎸夌収鎬у埆鏌ヨ浣撴濂楅鍒楄〃
      void getTjPackageList();
 
+
+     //鍥綋棰勭害鏃跺悜涓存椂琛ㄦ坊鍔犳暟鎹�
     void addNewReservationConfirm(List<TjReservation> rightList);
+    void saveNewReservationConfirm(List<TjReservation> rightList);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
index d1ef082..4d9334d 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
@@ -145,4 +145,9 @@
     public void saveRedisTransitionByProId(String cusId, Long proId) {
         tbTransitionMapper.saveRedisTransitionByProId(cusId,proId);
     }
+
+    @Override
+    public boolean saveTemoTransitionByGroupingId(String cusId,String groupingId) {
+        return tbTransitionMapper.saveTemoTransitionByGroupingId(cusId,groupingId);
+    }
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java
index d1e678d..fb094cd 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjAsyncServiceImpl.java
@@ -24,6 +24,8 @@
 import java.math.RoundingMode;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
@@ -857,6 +859,36 @@
         }
     }
 
+    @Override
+    @Async("async")
+    public void saveNewReservationConfirm(List<TjReservation> rightList) {
+        long l = System.currentTimeMillis();
+        if(null !=rightList && rightList.size()>0){
+            //鍒涘缓绾跨▼姹�
+            ExecutorService threadPool = Executors.newFixedThreadPool(rightList.size());
+            for (TjReservation reservation : rightList) {
+                //鍒犻櫎涔嬪墠鐨勬暟鎹�
+                transitionService.deletedTbTransitionByCusId(reservation.getIdCard());
+                //鑾峰彇绾跨▼
+                threadPool.execute(new Runnable() {
+                    @Override
+                    public void run() {
+                        try {
+                            transitionService.saveTemoTransitionByGroupingId(reservation.getIdCard(),reservation.getGroupingId());
+
+                            threadPool.shutdown();
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+            }
+        }
+        long ll = System.currentTimeMillis();
+
+        System.out.println("杩欐浠g爜鎵ц鏃堕棿涓�"+ (ll-l));
+    }
+
     private void getTjPackageListsByMan(List<TjPackage> tjPackageList) {
         if (null != tjPackageList && tjPackageList.size() > 0) {
             for (TjPackage aPackage : tjPackageList) {

--
Gitblit v1.8.0