From e4825dee6a3f6ff12cef2b8efcfbc7a8644aeaa2 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 25 Nov 2021 10:40:47 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=201.=E5=B1=85?= =?UTF-8?q?=E6=B0=91=E4=BF=A1=E6=81=AF=E5=AF=BC=E5=85=A5=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=9C=AC=E5=9C=B0=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IcResiUserImportServiceImpl.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index f36d746475..9b50c237dd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -29,6 +29,8 @@ import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.IcResiUserImportService; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -59,6 +61,15 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res public static final ThreadLocal>> errorRows = new ThreadLocal<>(); public static final ThreadLocal>> skipedRows = new ThreadLocal<>(); + /** + * key: itemId + * value: + * key: option的中文 + * value: options的英文key,也可能是数据id + */ + Cache> itemIdAndOptionsCache = CacheBuilder.newBuilder().maximumSize(500).build(); + + @Autowired private LoginUserUtil loginUserUtil; @@ -212,6 +223,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res } finally { skipedRows.remove(); errorRows.remove(); + itemIdAndOptionsCache.invalidateAll(); } } @@ -562,10 +574,13 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res String colValue = options.get(cellContent); columnWrapper.setColValue(colValue); } else { - // remote类型 - - Map options = listRemoteOptions(headerColumnWrapper, columnWrapper.getOptionSourceValue(), currUserAgencyId, "saveorupdate"); - String colValue = options.get(cellContent); + // remote类型。优先从缓存取 + Map optionsOfItem = itemIdAndOptionsCache.getIfPresent(columnWrapperEntry.getKey()); + if (optionsOfItem == null || optionsOfItem.size() == 0) { + optionsOfItem = listRemoteOptions(headerColumnWrapper, columnWrapper.getOptionSourceValue(), currUserAgencyId, "saveorupdate"); + itemIdAndOptionsCache.put(columnWrapperEntry.getKey(), optionsOfItem); + } + String colValue = optionsOfItem.get(cellContent); columnWrapper.setColValue(colValue); } } else if ("checkbox".equals(columnWrapper.getItemType())) { From db819d6bccdddc6f7990184a707ef80fe0857123 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 25 Nov 2021 10:42:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=9C=80=E6=B1=82?= =?UTF-8?q?=EF=BC=9A=E6=96=B0=E5=A2=9E=E3=80=81=E4=BF=AE=E6=94=B9=E5=B1=85?= =?UTF-8?q?=E6=B0=91=E4=BF=A1=E6=81=AF=EF=BC=8C=E8=BA=AB=E4=BB=BD=E8=AF=81?= =?UTF-8?q?=E5=8F=B7=E5=94=AF=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dao/IcResiUserDao.java | 6 +++++ .../service/impl/IcResiUserServiceImpl.java | 27 ++++++++++++++++--- .../main/resources/mapper/IcResiUserDao.xml | 13 +++++++++ 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 9897d01be7..81cd7bf54e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.ResiUserQueryValueDTO; import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.PersonDataResultDTO; @@ -145,4 +146,9 @@ public interface IcResiUserDao extends BaseDao { Map selectPersonType(@Param("columns")List columns,@Param("customerId")String customerId, @Param("tableName")String tableName,@Param("userId")String userId); + /** + * @Author sun + * @Description 查询居民信息 + **/ + IcResiUserDTO getResiUser(IcResiUserDTO dto); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 8b73150513..26d9810d03 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -49,10 +49,7 @@ import com.epmet.constant.IcResiUserConstant; import com.epmet.constant.SystemMessageType; import com.epmet.constant.UserConstant; import com.epmet.dao.IcResiUserDao; -import com.epmet.dto.CustomerAgencyDTO; -import com.epmet.dto.IcHouseDTO; -import com.epmet.dto.IcNeighborHoodDTO; -import com.epmet.dto.IcResiCategoryStatsConfigDTO; +import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO; import com.epmet.dto.result.*; @@ -169,6 +166,17 @@ public class IcResiUserServiceImpl extends BaseServiceImpl result = govOrgOpenFeignClient.getAgencyById(agencyId); @@ -216,6 +224,17 @@ public class IcResiUserServiceImpl extends BaseServiceImpl + From 2ff6be80a273f401741645f86219e62a6588298f Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 25 Nov 2021 11:17:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=98=B2=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/IcResiUserController.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 73d97faf60..f703d7304b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -144,6 +144,7 @@ public class IcResiUserController { IC_RESI_DOWNLOAD_DIR = exportDir; } + @NoRepeatSubmit @PostMapping("delete") public Result delete(@LoginUser TokenDto tokenDto, @RequestBody DelIcResiUserFormDTO formDTO) { formDTO.setCustomerId(tokenDto.getCustomerId()); @@ -165,6 +166,7 @@ public class IcResiUserController { * @Author sun * @Description 党建互联平台--保存居民信息 **/ + @NoRepeatSubmit @PostMapping("add") public Result add(@LoginUser TokenDto tokenDto, @RequestBody List formDTO) { String resiUserId = icResiUserService.add(tokenDto, formDTO); @@ -183,6 +185,7 @@ public class IcResiUserController { * @Author sun * @Description 党建互联平台--修改居民信息 **/ + @NoRepeatSubmit @PostMapping("edit") public Result edit(@LoginUser TokenDto tokenDto, @RequestBody List formDTO) { String resiUserId = icResiUserService.edit(tokenDto, formDTO); @@ -395,6 +398,7 @@ public class IcResiUserController { * @date 2021/11/19 4:24 下午 * @remark:分页批量导出 */ + @NoRepeatSubmit @RequestMapping(value = "/exportExcel") public void exportExcelByEasyExcel(@RequestHeader String customerId,@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { //tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02");