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