From 3f28b46171934066aeeff9af80d3f0ce6afb3adf Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期四, 30 十一月 2023 17:55:27 +0800
Subject: [PATCH] 优化

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/DictSfxmController.java |   42 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/DictSfxmController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/DictSfxmController.java
index f368421..745eab7 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/DictSfxmController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/DictSfxmController.java
@@ -1,18 +1,19 @@
 package com.ltkj.web.controller.system;
 
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.hutool.extra.pinyin.PinyinUtil;
+import com.ltkj.common.core.redis.RedisCache;
+import com.ltkj.framework.config.MatchUtils;
 import com.ltkj.hosp.domain.DictHosp;
 import com.ltkj.hosp.domain.DictSfxm;
 import com.ltkj.hosp.domain.TjCustomer;
 import com.ltkj.hosp.service.IDictHospService;
 import com.ltkj.hosp.service.IDictSfxmService;
+import com.ltkj.hosp.service.TjAsyncService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -41,6 +42,10 @@
     private IDictSfxmService dictSfxmService;
     @Resource
     private IDictHospService dictHospService;
+    @Resource
+    private RedisCache redisCache;
+    @Resource
+    private TjAsyncService asyncService;
 
     /**
      * 鏌ヨ鏀惰垂椤圭洰鍒楄〃
@@ -50,6 +55,11 @@
     @ApiOperation(value = "鏌ヨ")
     public TableDataInfo list(DictSfxm dictSfxm) {
         startPage();
+        String pym = dictSfxm.getPym();
+        if(null !=pym && !"".equals(pym)) {
+            pym=dictSfxm.getPym().toUpperCase(Locale.ROOT);
+            dictSfxm.setPym(pym);
+        }
         List<DictSfxm> list = dictSfxmService.selectDictSfxmList(dictSfxm);
         if (null != list && list.size() > 0) {
             for (DictSfxm sfxm : list) {
@@ -93,6 +103,9 @@
     @PostMapping
     @ApiOperation(value = "鏂板")
     public AjaxResult add(@RequestBody DictSfxm dictSfxm) {
+        asyncService.getDictSfxms();
+        dictSfxm.setWbm(MatchUtils.toWubi(dictSfxm.getXmmc()));
+        dictSfxm.setPym(PinyinUtil.getFirstLetter(dictSfxm.getXmmc(),"").toUpperCase(Locale.ROOT));
         return toAjax(dictSfxmService.insertDictSfxm(dictSfxm));
     }
 
@@ -104,6 +117,7 @@
     @PutMapping
     @ApiOperation(value = "淇敼")
     public AjaxResult edit(@RequestBody DictSfxm dictSfxm) {
+        asyncService.getDictSfxms();
         return toAjax(dictSfxmService.updateDictSfxm(dictSfxm));
     }
 
@@ -115,6 +129,7 @@
     @DeleteMapping("/{ids}")
     @ApiOperation(value = "鍒犻櫎")
     public AjaxResult remove(@PathVariable Long[] ids) {
+        asyncService.getDictSfxms();
         return toAjax(dictSfxmService.deleteDictSfxmByIds(ids));
     }
 
@@ -122,6 +137,15 @@
     @GetMapping("/getList")
     @ApiOperation(value = "鎸夌収椤圭洰缂栫爜鏍戝舰鏌ヨ")
     public AjaxResult getList() {
+        if(redisCache.hasKey("getDictSfxms")){
+            List<DictSfxm> getDictSfxms = redisCache.getCacheObject("getDictSfxms");
+            return AjaxResult.success(getDictSfxms);
+        }
+        List<DictSfxm> dictSfxms = getDictSfxms();
+        return AjaxResult.success(dictSfxms);
+    }
+
+    private List<DictSfxm> getDictSfxms() {
         List<DictSfxm> dictSfxms = dictSfxmService.getYjDictSfxmList();
         if (null != dictSfxms && dictSfxms.size() > 0) {
             for (DictSfxm dictSfxm : dictSfxms) {
@@ -135,7 +159,7 @@
                 dictSfxm.setDictSfxms(sfxms);
             }
         }
-        return AjaxResult.success(dictSfxms);
+        return dictSfxms;
     }
 
 
@@ -171,6 +195,14 @@
             List<DictSfxm> sfx = dictSfxmService.getSjDictSfxmList(service.getId());
             if (null != sfx && sfx.size() > 0) {
                 List<DictSfxm> sfxmList = sfx.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+                if (null != sfxmList && sfxmList.size() > 0) {
+                    for (DictSfxm sfxm : sfxmList) {
+                        DictHosp hosp = dictHospService.getById(sfxm.getYqid());
+                        if (null != hosp) {
+                            sfxm.setYqName(hosp.getHospAreaName());
+                        }
+                    }
+                }
                 Collections.reverse(sfxmList);
                 map.put("date", sfxmList);
                 map.put("total", sfx.size());

--
Gitblit v1.8.0