diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index dc3fb232bc..580a8d97e1 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -640,4 +640,59 @@ public class RedisKeys { public static String getHouseInfoCacheKey(String houseId,String customerId){ return rootPrefix.concat("house:").concat(customerId).concat(":").concat(houseId); } + + /** + * @Description 临时房屋缓存key + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 9:38 上午 + */ + public static String getTemporaryHouseInfoCacheKey(String customerId,String userId){ + return rootPrefix.concat("temporary:").concat("temporaryHouse:").concat(customerId).concat(":").concat(userId); + } + + /** + * @Description 临时网格缓存key + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 9:38 上午 + */ + public static String getTemporaryGridInfoCacheKey(String customerId,String userId){ + return rootPrefix.concat("temporary:").concat("temporaryGrid:").concat(customerId).concat(":").concat(userId); + } + + /** + * @Description 临时小区缓存key + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 9:39 上午 + */ + public static String getTemporaryNeighborHoodInfoCacheKey(String customerId,String userId){ + return rootPrefix.concat("temporary:").concat("temporaryNeighborHood:").concat(customerId).concat(":").concat(userId); + } + + /** + * @Description 临时楼栋缓存key + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 9:39 上午 + */ + public static String getTemporaryBuildingInfoCacheKey(String customerId,String userId){ + return rootPrefix.concat("temporary:").concat("temporaryBuilding:").concat(customerId).concat(":").concat(userId); + } + + /** + * @Description 临时楼栋单元缓存key + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 1:54 下午 + */ + public static String getTemporaryBuildingUnitInfoCacheKey(String customerId,String userId){ + return rootPrefix.concat("temporary:").concat("temporaryBuildingUnit:").concat(customerId).concat(":").concat(userId); + } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcSocietyOrgController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcSocietyOrgController.java index 786fc77928..2b07959e33 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcSocietyOrgController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcSocietyOrgController.java @@ -20,6 +20,7 @@ package com.epmet.controller; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelPoiUtils; import com.epmet.commons.tools.utils.ExcelUtils; @@ -27,10 +28,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.AddSocietyOrgFormDTO; import com.epmet.dto.form.EditSocietyOrgFormDTO; -import com.epmet.dto.form.GetListPlaceOrgFormDTO; import com.epmet.dto.form.GetListSocietyOrgFormDTO; import com.epmet.dto.form.demand.ServiceQueryFormDTO; -import com.epmet.dto.result.GetListPlaceOrgResultDTO; import com.epmet.dto.result.GetListSocietyOrgResultDTO; import com.epmet.dto.result.demand.OptionDTO; import com.epmet.excel.IcSocietyOrgExcel; @@ -164,9 +163,9 @@ public class IcSocietyOrgController { Collections.sort(resultList); String subList = resultList.stream().map(String::valueOf).collect(Collectors.joining("、")); log.warn(str + "第" + subList + "行未成功!"); - return new Result().error(9999, str + "第" + subList + "行未成功!"); + return new Result().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), str + "第" + subList + "行未成功!"); } return new Result().ok(str); } -} \ No newline at end of file +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java index cdfa84d5e2..4cea3f9136 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java @@ -24,6 +24,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.TokenDto; @@ -267,7 +268,7 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl list = result.stream().map(item -> { @@ -296,7 +297,7 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl list = result.stream().map(item -> { @@ -405,7 +405,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl2.0.0 compile + + com.alibaba + easyexcel + 3.0.3 + compile + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerGridConstant.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerGridConstant.java index 4374038f6f..5b8289ffa1 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerGridConstant.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerGridConstant.java @@ -16,4 +16,6 @@ public interface CustomerGridConstant { String DEPT = "dept"; String GRID = "grid"; + + String NEIGHBORHOOD = "neighborHood"; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java index a3f5fb6d8e..628a3d5c62 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/BuildingController.java @@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -195,7 +196,7 @@ public class BuildingController { Collections.sort(resultList); String subList = resultList.stream().map(String::valueOf).collect(Collectors.joining("、")); log.warn(str + "第" + subList + "行未成功!"); - return new Result().error(9999, str+"第"+subList+"行未成功!"); + return new Result().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), str+"第"+subList+"行未成功!"); } return new Result().ok(str); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index cd54f15e64..ed586e0fdb 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -19,6 +19,9 @@ package com.epmet.controller; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelReader; +import com.alibaba.excel.read.metadata.ReadSheet; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; @@ -28,16 +31,17 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; -import com.epmet.dto.form.IcHouseFormDTO; -import com.epmet.dto.form.IcNeighborHoodFormDTO; -import com.epmet.dto.form.ListIcNeighborHoodFormDTO; -import com.epmet.dto.form.LoginUserDetailsFormDTO; +import com.epmet.dao.IcBuildingDao; +import com.epmet.dto.form.*; import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.dto.result.LoginUserDetailsResultDTO; import com.epmet.excel.IcHouseExcel; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.model.HouseInfoModel; +import com.epmet.model.ImportHouseInfoListener; +import com.epmet.redis.IcHouseRedis; import com.epmet.service.HouseService; import com.epmet.util.ExcelPoiUtils; import lombok.extern.slf4j.Slf4j; @@ -49,6 +53,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.io.InputStream; import java.util.*; import java.util.stream.Collectors; @@ -69,6 +74,10 @@ public class HouseController implements ResultDataResolver { @Autowired private EpmetUserOpenFeignClient userOpenFeignClient; + @Autowired + private IcBuildingDao icBuildingDao; + @Autowired + private IcHouseRedis icHouseRedis; @PostMapping("houselist") @@ -223,7 +232,7 @@ public class HouseController implements ResultDataResolver { Collections.sort(resultList); String subList = resultList.stream().map(String::valueOf).collect(Collectors.joining("、")); log.warn(str + "第" + subList + "行未成功!"); - return new Result().error(9999, str+"第"+subList+"行未成功!"); + return new Result().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), str+"第"+subList+"行未成功!"); } return new Result().ok(str); } @@ -232,4 +241,36 @@ public class HouseController implements ResultDataResolver { Result> queryListHouseInfo(@RequestBody Set houseIds, @RequestParam("customerId") String customerId){ return new Result>().ok(houseService.queryListHouseInfo(houseIds,customerId)); } + + @PostMapping("houseimport") + public Result houseImport(@LoginUser TokenDto tokenDTO, @RequestParam("file") MultipartFile file, + @RequestParam("orgId")String orgId, + @RequestParam("orgType")String orgType){ + ImportInfoFormDTO formDTO = new ImportInfoFormDTO(); + formDTO.setCustomerId(tokenDTO.getCustomerId()); + formDTO.setOrgType(orgType); + formDTO.setOrgId(orgId); + formDTO.setUserId(tokenDTO.getUserId()); + ExcelReader excelReader = null; + try { + InputStream inputStream = null; + try { + inputStream = file.getInputStream(); + } catch (IOException e) { + return new Result().error("读取文件失败"); + } + excelReader = EasyExcel.read(inputStream).build(); + // 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener + ReadSheet readSheet = EasyExcel.readSheet(0).head(HouseInfoModel.class) + .registerReadListener(new ImportHouseInfoListener(formDTO,icBuildingDao,icHouseRedis)) + .build(); + excelReader.read(readSheet); + } finally { + if (excelReader != null) { + excelReader.finish(); + } + } + return new Result<>(); + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java index 60c1651315..da7f783c1e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/NeighborHoodController.java @@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -223,7 +224,7 @@ public class NeighborHoodController { Collections.sort(resultList); String subList = resultList.stream().map(String::valueOf).collect(Collectors.joining("、")); log.warn(str + "第" + subList + "行未成功!"); - return new Result().error(9999, str + "第" + subList + "行未成功!"); + return new Result().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), str + "第" + subList + "行未成功!"); } return new Result().ok(str); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java index 6d029cb291..4a04c1ee71 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java @@ -19,6 +19,7 @@ package com.epmet.dao; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.ImportHouseGeneralDTO; import com.epmet.dto.result.BaseInfoFamilyBuildingResultDTO; import com.epmet.dto.result.BuildingResultDTO; import com.epmet.entity.CustomerAgencyEntity; @@ -73,4 +74,68 @@ public interface IcBuildingDao extends BaseDao { List buildingListByIds(@Param("buildingIdList") List buildingIdList); IPage buildingListByIds(IPage page,@Param("buildingIdList") List buildingIdList); + /** + * @Description 根据ID查询楼栋名 + * @param orgId + * @author zxc + * @date 2022/2/13 2:32 下午 + */ + String selectBuildingNameById(@Param("orgId")String orgId); + + /** + * @Description 根据ID查询小区名 + * @param orgId + * @author zxc + * @date 2022/2/13 4:21 下午 + */ + String selectNeighborHoodNameById(@Param("orgId")String orgId); + + /** + * @Description 根据ID查询网格名 + * @param orgId + * @author zxc + * @date 2022/2/13 4:26 下午 + */ + String selectGridNameById(@Param("orgId")String orgId); + + /** + * @Description 根据ID查询组织名 + * @param orgId + * @author zxc + * @date 2022/2/13 4:29 下午 + */ + String selectAgencyNameById(@Param("orgId")String orgId); + + /** + * @Description 查询组织下所有网格信息 + * @param orgId + * @author zxc + * @date 2022/2/14 9:48 上午 + */ + List selectAllGridByOrgId(@Param("orgId")String orgId); + + /** + * @Description 查询网格下所有的小区 + * @param orgId + * @author zxc + * @date 2022/2/14 10:21 上午 + */ + List selectAllNeighborHoodByGridIds(@Param("orgIds")List orgId); + + /** + * @Description 根据小区ID查询楼栋 + * @param neighborHoodId + * @author zxc + * @date 2022/2/14 1:25 下午 + */ + List selectAllBuildingByNeighborHoodId(@Param("neighborHoodId")String neighborHoodId); + + /** + * @Description 根据楼栋ID查询楼栋单元 + * @param building + * @author zxc + * @date 2022/2/14 1:58 下午 + */ + List selectAllBuildingUnitByBuildingId(@Param("building")String building); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModel.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModel.java new file mode 100644 index 0000000000..db6078ba53 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModel.java @@ -0,0 +1,52 @@ +package com.epmet.model; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * @Author zxc + * @DateTime 2022/2/13 1:26 下午 + * @DESC + */ +@Data +public class HouseInfoModel { + + @ExcelProperty(value = "所属组织") + private String agencyName; + + @ExcelProperty(value = "所属网格") + private String gridName; + + @ExcelProperty(value = "所属小区") + @Length(max=50,message = "不能超过50个字") + private String neighborHoodName; + + @ExcelProperty(value = "所属楼栋") + private String buildingName; + + @ExcelProperty(value = "单元号") + private Integer buildingUnit; + + @ExcelProperty(value = "门牌号") + private String doorName; + + @ExcelProperty(value = "房屋类型") + private String houseType; + + @ExcelProperty(value = "房屋用途") + private String purpose; + + @ExcelProperty(value = "出租") + private String rentFlag; + + @ExcelProperty(value = "房主姓名") + private String ownerName; + + @ExcelProperty(value = "房主电话") + private String ownerPhone; + + @ExcelProperty(value = "房主身份证") + private String ownerIdCard; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModelDTO.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModelDTO.java new file mode 100644 index 0000000000..2193e9cf2d --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/HouseInfoModelDTO.java @@ -0,0 +1,41 @@ +package com.epmet.model; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * @Author zxc + * @DateTime 2022/2/13 1:26 下午 + * @DESC + */ +@Data +public class HouseInfoModelDTO { + + private String agencyName; + + private String gridName; + + private String neighborHoodName; + + private String buildingName; + + private Integer buildingUnit; + + private String doorName; + + private String houseType; + + private String purpose; + + private String rentFlag; + + private String ownerName; + + private String ownerPhone; + + private String ownerIdCard; + + private Integer num; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java new file mode 100644 index 0000000000..3d2aed1a32 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java @@ -0,0 +1,253 @@ +package com.epmet.model; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.bean.GridInfoCache; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.IcBuildingDao; +import com.epmet.dto.ImportHouseGeneralDTO; +import com.epmet.dto.form.ImportInfoFormDTO; +import com.epmet.redis.IcHouseRedis; +import org.apache.commons.lang3.StringUtils; +import org.springframework.util.CollectionUtils; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @Author zxc + * @DateTime 2022/2/13 1:25 下午 + * @DESC + */ +public class ImportHouseInfoListener extends AnalysisEventListener { + + List nums = new ArrayList<>(); + Integer num = NumConstant.ZERO; + + List needDisposeList = new ArrayList<>(); + List needInsertList = new ArrayList<>(); + + String buildingName = null; + String neighborHoodName = null; + String gridName = null; + String agencyName = null; + + Map gridInfos = null; + List gridInfoDTOs = null; + Map neighborHoodInfos = null; + List neighborHoodInfoDTOs = null; + Map buildingInfos = null; + List buildingInfoDTOs = null; + Map buildingUnitInfos = null; + List buildingUnitInfoDTOs = null; + + private ImportInfoFormDTO formDTO; + private IcBuildingDao icBuildingDao; + private IcHouseRedis icHouseRedis; + + public ImportHouseInfoListener(ImportInfoFormDTO formDTO,IcBuildingDao icBuildingDao, IcHouseRedis icHouseRedis){ + this.formDTO = formDTO; + this.icBuildingDao = icBuildingDao; + this.icHouseRedis = icHouseRedis; + } + + @Override + public void invoke(HouseInfoModel data, AnalysisContext context) { + if (null == data){ + return; + } + num = num + NumConstant.ONE; + ImportHouseGeneralDTO dto = ConvertUtils.sourceToTarget(data, ImportHouseGeneralDTO.class); + dto.setNum(num); + if (formDTO.getOrgType().equals("building")){ + buildingName = null == buildingName ? icBuildingDao.selectBuildingNameById(formDTO.getOrgId()) : buildingName; + // 不是本楼的 + if (!data.getBuildingName().equals(buildingName)){ + nums.add(num); + }else { + /** + * 1。根据楼宇查询 + */ + needDisposeList.add(dto); + Map collect = needDisposeList.stream().collect(Collectors.toMap(n -> n.getBuildingId() + "_" + n.getBuildingUnitId() + "_" + n.getDoorName(), n -> StringUtils.isNotBlank(n.getHouseId()) ? n.getHouseId() : "")); + icHouseRedis.setTemporaryCacheHouse(formDTO.getCustomerId(), collect, formDTO.getUserId()); +// Map temporaryCacheHouses = icHouseRedis.getTemporaryCacheHouses(formDTO.getCustomerId(), formDTO.getUserId()); + // TODO 等待方法 + List result = new ArrayList<>(); + //把房屋ID不为空的行号加入nums,说明已存在 + result.forEach(r -> { + if (StringUtils.isNotBlank(r.getHouseId())){ + nums.add(r.getNum()); + } + }); + } + }else if (formDTO.getOrgType().equals("neighborHood")){ + disposeNeighborHoodHouse(dto); + }else if (formDTO.getOrgType().equals("grid")){ + disposeGridHouse(dto); + }else if (formDTO.getOrgType().equals("agency")){ + disposeAgencyHouse(dto); + } + } + + public void disposeNeighborHoodHouse(ImportHouseGeneralDTO dto){ + neighborHoodName = null == neighborHoodName ? icBuildingDao.selectNeighborHoodNameById(formDTO.getOrgId()) : neighborHoodName; + //不是本小区的 + if (!dto.getNeighborHoodName().equals(neighborHoodName)){ + nums.add(num); + }else { + + } + } + + /** + * @Description 左侧树点击网格时调用 + * @param dto + * @author zxc + * @date 2022/2/14 2:14 下午 + */ + public void disposeGridHouse(ImportHouseGeneralDTO dto){ + gridName = null == gridName ? icBuildingDao.selectGridNameById(formDTO.getOrgId()) : gridName; + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(formDTO.getOrgId()); + if (null == gridInfo){ + throw new EpmetException("查询网格失败..."); + } + //排除不是本网格的 gridName不一样排除,gridName一样但是agencyName不一样也得排除 + if (!dto.getGridName().equals(gridName) || (!dto.getAgencyName().equals(gridInfo.getAgencyName()) && dto.getGridName().equals(gridName))){ + nums.add(num); + }else { + // + dto.setGridId(formDTO.getOrgId()); + dto.setAgencyId(gridInfo.getPid()); + fillData(dto); + } + } + + /** + * @Description 左侧树点击组织时调用 + * @param dto + * @author zxc + * @date 2022/2/14 1:35 下午 + */ + public void disposeAgencyHouse(ImportHouseGeneralDTO dto){ + agencyName = null == agencyName ? icBuildingDao.selectAgencyNameById(formDTO.getOrgId()) : agencyName; + //排除不是本组织的 + if (!dto.getAgencyName().equals(agencyName)){ + nums.add(num); + }else { + // 根据组织查询出所有网格,甩出不是本组织下的网格 + gridInfos = null == gridInfos ? getGridInfos(formDTO.getOrgId()) : gridInfos; + if (null == gridInfos){ + // 组织下确实不存在网格 + nums.add(num); + return; + } + // 根据网格名对比,没有找到的就把行号加入到未执行成功队列中 + Object cacheGridName = icHouseRedis.getTemporaryCacheGrid(formDTO.getCustomerId(), formDTO.getUserId(), dto.getGridName()); + if (null == cacheGridName){ + nums.add(num); + return; + } + dto.setGridId(cacheGridName.toString()); + dto.setAgencyId(formDTO.getOrgId()); + fillData(dto); + } + } + + public void fillData(ImportHouseGeneralDTO dto){ + neighborHoodInfos = null == neighborHoodInfos ? getNeighborHoodInfos(Arrays.asList(formDTO.getOrgId())) : neighborHoodInfos; + Object cacheNeighBorHood = icHouseRedis.getTemporaryCacheNeighBorHood(formDTO.getCustomerId(), formDTO.getUserId(), formDTO.getOrgId() + "_" + dto.getNeighborHoodName()); + // 赋值小区ID + dto.setNeighborHoodId(null == cacheNeighBorHood ? "" : cacheNeighBorHood.toString()); + if (StringUtils.isNotBlank(dto.getNeighborHoodId())){ + //小区ID不为空赋值楼栋ID + buildingInfos = null == buildingInfos ? getBuildingInfos(dto.getNeighborHoodId()) : buildingInfos; + Object cacheBuilding = icHouseRedis.getTemporaryCacheBuilding(formDTO.getCustomerId(), formDTO.getUserId(), dto.getNeighborHoodId() + "_" + dto.getBuildingName()); + dto.setBuildingId(null == cacheBuilding ? "" : cacheBuilding.toString()); + if (StringUtils.isNotBlank(dto.getBuildingId())){ + // 楼栋ID不为空赋值单元ID + buildingUnitInfos = null == buildingUnitInfos ? getBuildingUnitInfos(dto.getBuildingId()) : buildingUnitInfos; + Object cacheBuildingUnit = icHouseRedis.getTemporaryCacheBuildingUnit(formDTO.getCustomerId(), formDTO.getUserId(), dto.getBuildingId() + "_" + dto.getBuildingUnit()); + dto.setBuildingUnitId(null == cacheBuildingUnit ? "" : cacheBuildingUnit.toString()); + if (StringUtils.isNotBlank(dto.getBuildingUnitId())){ + // 所有ID补充完毕,不需调用补用方法 + needInsertList.add(dto); + }else { + needDisposeList.add(dto); + } + }else { + needDisposeList.add(dto); + } + }else { + needDisposeList.add(dto); + } + } + + /** + * @Description 获取网格信息 + * @param orgId + * @author zxc + * @date 2022/2/14 9:57 上午 + */ + public Map getGridInfos(String orgId){ + gridInfoDTOs = icBuildingDao.selectAllGridByOrgId(orgId); + gridInfos = gridInfoDTOs.stream().collect(Collectors.toMap(n -> n.getGridName(), n -> n.getGridId())); + icHouseRedis.setTemporaryCacheGrid(formDTO.getCustomerId(), gridInfos, formDTO.getUserId()); + return gridInfos; + } + + /** + * @Description 获取网格下的小区 + * @param gridIds + * @author zxc + * @date 2022/2/14 10:16 上午 + */ + public Map getNeighborHoodInfos(List gridIds){ + neighborHoodInfoDTOs = icBuildingDao.selectAllNeighborHoodByGridIds(gridIds); + neighborHoodInfos = neighborHoodInfoDTOs.stream().collect(Collectors.toMap(n -> n.getGridId() + "_" + n.getNeighborHoodName(), n -> n.getNeighborHoodId())); + icHouseRedis.setTemporaryCacheNeighBorHood(formDTO.getCustomerId(), neighborHoodInfos, formDTO.getUserId()); + return neighborHoodInfos; + } + + /** + * @Description 获取小区下的楼栋 + * @param neighborHoodId + * @author zxc + * @date 2022/2/14 1:32 下午 + */ + public Map getBuildingInfos(String neighborHoodId){ + buildingInfoDTOs = icBuildingDao.selectAllBuildingByNeighborHoodId(neighborHoodId); + buildingInfos = buildingInfoDTOs.stream().collect(Collectors.toMap(n -> n.getNeighborHoodId() + "_" + n.getBuildingName(), n -> n.getBuildingId())); + icHouseRedis.setTemporaryCacheBuilding(formDTO.getCustomerId(), buildingInfos, formDTO.getUserId()); + return buildingInfos; + } + + /** + * @Description 获取楼栋下的单元 + * @param buildingId + * @author zxc + * @date 2022/2/14 2:04 下午 + */ + public Map getBuildingUnitInfos(String buildingId){ + buildingUnitInfoDTOs = icBuildingDao.selectAllBuildingUnitByBuildingId(buildingId); + buildingUnitInfos = buildingInfoDTOs.stream().collect(Collectors.toMap(n -> n.getBuildingId() + "_" + n.getBuildingUnit(), n -> n.getBuildingUnitId())); + icHouseRedis.setTemporaryCacheBuildingUnit(formDTO.getCustomerId(), buildingUnitInfos, formDTO.getUserId()); + return buildingInfos; + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + + // 删除缓存 + icHouseRedis.delTemporaryCacheGrids(formDTO.getCustomerId(), formDTO.getUserId()); + icHouseRedis.delTemporaryCacheNeighBorHood(formDTO.getCustomerId(), formDTO.getUserId()); + icHouseRedis.delTemporaryCacheBuilding(formDTO.getCustomerId(), formDTO.getUserId()); + icHouseRedis.delTemporaryCacheBuildingUnit(formDTO.getCustomerId(), formDTO.getUserId()); + icHouseRedis.delTemporaryCacheHouses(formDTO.getCustomerId(), formDTO.getUserId()); + } + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java index 4f3ece54a8..705566ea5e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java @@ -18,15 +18,23 @@ package com.epmet.redis; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IcHouseDao; +import com.epmet.dto.ImportHouseGeneralDTO; import com.epmet.dto.result.HouseInfoDTO; +import com.epmet.model.HouseInfoModel; +import com.epmet.model.HouseInfoModelDTO; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -43,6 +51,9 @@ public class IcHouseRedis { @Autowired private IcHouseDao icHouseDao; + @Autowired + private RedisTemplate redisTemplate; + public void delete(Object[] ids) { } @@ -79,4 +90,206 @@ public class IcHouseRedis { return houseInfo; } + /** + * @Description 存放房屋临时缓存 + * @param customerId + * @param map + * @param userId + * @author zxc + * @date 2022/2/14 9:04 上午 + */ + public void setTemporaryCacheHouse(String customerId, Map map,String userId){ + String key = RedisKeys.getTemporaryHouseInfoCacheKey(customerId,userId); + redisUtils.hMSet(key,map,RedisUtils.NOT_EXPIRE); + } + + /** + * @Description 获取房屋临时缓存 + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 9:28 上午 + */ + public Object getTemporaryCacheHouse(String customerId,String userId,String buildingIdAndUnitIdAndHouseName){ + String key = RedisKeys.getTemporaryHouseInfoCacheKey(customerId,userId); + return redisUtils.hGet(key, buildingIdAndUnitIdAndHouseName); + } + + /** + * @Description 删除房屋临时缓存 + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 9:29 上午 + */ + public void delTemporaryCacheHouses(String customerId,String userId){ + String key = RedisKeys.getTemporaryHouseInfoCacheKey(customerId,userId); + redisUtils.delete(key); + } + + /** + * @Description 保存网格临时缓存 + * @param customerId + * @param map + * @param userId + * @author zxc + * @date 2022/2/14 1:49 下午 + */ + public void setTemporaryCacheGrid(String customerId, Map map,String userId) { + String key = RedisKeys.getTemporaryGridInfoCacheKey(customerId, userId); + redisUtils.hMSet(key, map, RedisUtils.NOT_EXPIRE); + } + + /** + * @Description 获取网格临时缓存【单个】 + * @param customerId + * @param userId + * @param gridName + * @author zxc + * @date 2022/2/14 1:49 下午 + */ + public Object getTemporaryCacheGrid(String customerId,String userId,String gridName){ + String key = RedisKeys.getTemporaryGridInfoCacheKey(customerId,userId); + Object o = redisUtils.hGet(key, gridName); + return o; + } + + /** + * @Description 获取网格临时缓存【多个】 + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 1:50 下午 + */ + public Map getTemporaryCacheGrids(String customerId,String userId){ + String key = RedisKeys.getTemporaryGridInfoCacheKey(customerId,userId); + return redisUtils.hGetAll(key); + } + + /** + * @Description 删除网格临时缓存 + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 1:50 下午 + */ + public void delTemporaryCacheGrids(String customerId,String userId){ + String key = RedisKeys.getTemporaryGridInfoCacheKey(customerId,userId); + redisUtils.delete(key); + } + + /** + * @Description 保存临时小区缓存 + * @param customerId + * @param map + * @param userId + * @author zxc + * @date 2022/2/14 1:50 下午 + */ + public void setTemporaryCacheNeighBorHood(String customerId, Map map,String userId) { + String key = RedisKeys.getTemporaryNeighborHoodInfoCacheKey(customerId, userId); + redisUtils.hMSet(key, map, RedisUtils.NOT_EXPIRE); + } + + /** + * @Description 获取临时小区缓存【单个】 + * @param customerId + * @param userId + * @param gridIdAndNeighborHoodName + * @author zxc + * @date 2022/2/14 1:50 下午 + */ + public Object getTemporaryCacheNeighBorHood(String customerId,String userId,String gridIdAndNeighborHoodName){ + String key = RedisKeys.getTemporaryNeighborHoodInfoCacheKey(customerId,userId); + return redisUtils.hGet(key, gridIdAndNeighborHoodName); + } + + /** + * @Description 删除临时小区缓存 + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 1:51 下午 + */ + public void delTemporaryCacheNeighBorHood(String customerId,String userId){ + String key = RedisKeys.getTemporaryNeighborHoodInfoCacheKey(customerId,userId); + redisUtils.delete(key); + } + + /** + * @Description 保存临时楼栋缓存 + * @param customerId + * @param map + * @param userId + * @author zxc + * @date 2022/2/14 1:51 下午 + */ + public void setTemporaryCacheBuilding(String customerId, Map map,String userId) { + String key = RedisKeys.getTemporaryBuildingInfoCacheKey(customerId, userId); + redisUtils.hMSet(key, map, RedisUtils.NOT_EXPIRE); + } + + /** + * @Description 获取临时楼栋缓存【单个】 + * @param customerId + * @param userId + * @param neighborHoodIdAndBuildingName + * @author zxc + * @date 2022/2/14 1:51 下午 + */ + public Object getTemporaryCacheBuilding(String customerId,String userId,String neighborHoodIdAndBuildingName){ + String key = RedisKeys.getTemporaryBuildingInfoCacheKey(customerId,userId); + return redisUtils.hGet(key, neighborHoodIdAndBuildingName); + } + + /** + * @Description 删除临时楼栋缓存 + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 1:51 下午 + */ + public void delTemporaryCacheBuilding(String customerId,String userId){ + String key = RedisKeys.getTemporaryBuildingInfoCacheKey(customerId,userId); + redisUtils.delete(key); + } + + /** + * @Description 保存临时楼栋单元缓存 + * @param customerId + * @param map + * @param userId + * @author zxc + * @date 2022/2/14 1:51 下午 + */ + public void setTemporaryCacheBuildingUnit(String customerId, Map map,String userId) { + String key = RedisKeys.getTemporaryBuildingUnitInfoCacheKey(customerId, userId); + redisUtils.hMSet(key, map, RedisUtils.NOT_EXPIRE); + } + + /** + * @Description 获取临时楼栋单元缓存【单个】 + * @param customerId + * @param userId + * @param buildingIdAndUnitName + * @author zxc + * @date 2022/2/14 1:51 下午 + */ + public Object getTemporaryCacheBuildingUnit(String customerId,String userId,String buildingIdAndUnitName){ + String key = RedisKeys.getTemporaryBuildingUnitInfoCacheKey(customerId,userId); + return redisUtils.hGet(key, buildingIdAndUnitName); + } + + /** + * @Description 删除临时楼栋单元缓存 + * @param customerId + * @param userId + * @author zxc + * @date 2022/2/14 1:51 下午 + */ + public void delTemporaryCacheBuildingUnit(String customerId,String userId){ + String key = RedisKeys.getTemporaryBuildingUnitInfoCacheKey(customerId,userId); + redisUtils.delete(key); + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java index dc75b51ce1..34b6723f34 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/BuildingServiceImpl.java @@ -329,7 +329,7 @@ public class BuildingServiceImpl implements BuildingService { icBuildingUnitService.insertBatch(icBuildingUnitEntityList); /* if(!"".equals(str)){ - return new Result().error(9999, str.append("不存在").toString()); + return new Result().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), str.append("不存在").toString()); }*/ return numList; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index 5edf3b870a..47b033f4ff 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.OptionResultDTO; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; @@ -45,7 +46,6 @@ import com.epmet.dto.result.InfoByNamesResultDTO; import com.epmet.entity.IcNeighborHoodEntity; import com.epmet.entity.IcNeighborHoodPropertyEntity; import com.epmet.entity.IcPropertyManagementEntity; -import com.epmet.excel.IcBuildingExcel; import com.epmet.excel.IcNeighborHoodExcel; import com.epmet.service.IcNeighborHoodPropertyService; import com.epmet.service.IcNeighborHoodService; @@ -226,10 +226,10 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl result){ if (CollectionUtils.isEmpty(result)){ - return new Result().error(9999,"excel表格内没有数据"); + return new Result().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"excel表格内没有数据"); } List nums = new ArrayList<>(); - List gridNames = result.stream().map(m -> m.getGridName()).distinct().collect(Collectors.toList()); + List gridNames = result.stream().map(IcNeighborHoodExcel::getGridName).distinct().collect(Collectors.toList()); // 1. 查询数据网格是否存在 List gridInfos = customerGridDao.selectGridInfoByNames(gridNames, formDTO.getCustomerId()); if (CollectionUtils.isEmpty(gridInfos)){ @@ -238,7 +238,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl { for (InfoByNamesResultDTO g : gridInfos) { @@ -253,7 +253,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl neighborHoods = groupStatus.get(true); // 2. 查询组织选中组织下存在的小区 - List existNames = baseDao.selectNeighborhoodNameByNames(neighborHoods.stream().map(m -> m.getNeighborHoodName()).distinct().collect(Collectors.toList()), formDTO.getCustomerId()); + List existNames = baseDao.selectNeighborhoodNameByNames(neighborHoods.stream().map(IcNeighborHoodExcel::getNeighborHoodName).distinct().collect(Collectors.toList()), formDTO.getCustomerId()); // 为了显示多少行插入成功,未成功 result.forEach(r -> { for (String s : existNames) { @@ -272,7 +272,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl collect = finalNeedInsert.stream().collect(Collectors.groupingBy(o -> o.getGridName() + "_" + o.getNeighborHoodName(), Collectors.counting())); collect.forEach((k,v) -> { @@ -368,7 +368,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartymemberStyleImportExcel.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartymemberStyleImportExcel.java index 722f994d92..38da34f534 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartymemberStyleImportExcel.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/excel/IcPartymemberStyleImportExcel.java @@ -44,9 +44,6 @@ public class IcPartymemberStyleImportExcel extends ExcelVerifyInfo { @NotBlank(message = "此列不能为空") private String mainDeed; - @Excel(name = "照片") - private String imageUrl; - @Excel(name="所属分类") @NotBlank(message = "此列不能为空") private String categoryName; diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java index be22a71067..e16fdd1384 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java @@ -18,7 +18,6 @@ package com.epmet.modules.partymember.service.impl; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -27,6 +26,7 @@ import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; @@ -197,6 +197,7 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl list = baseDao.selectList(wrapper); PageInfo pageInfo = new PageInfo<>(list); List dtoList = ConvertUtils.sourceToTarget(list, IcPartymemberStyleDTO.class); @@ -232,7 +233,6 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl importResult = ExcelPoiUtils.importExcelMore(file, 0, 1, IcPartymemberStyleImportExcel.class); List failList = importResult.getFailList(); - log.info("excel中的数据校验失败:"+JSON.toJSONString(failList,true)); //存放错误数据行号 List numList = new ArrayList<>(); if (!org.springframework.util.CollectionUtils.isEmpty(failList)) { @@ -275,7 +275,7 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl imageList = new ArrayList<>(); List list = result.stream().map(item -> { @@ -290,22 +290,6 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl { - IcPartymemberStyleImageEntity urlEntity = new IcPartymemberStyleImageEntity(); - urlEntity.setImageUrl(url); - urlEntity.setCustomerId(tokenDto.getCustomerId()); - urlEntity.setStyleId(entity.getId()); - urlEntity.setSort(i.getAndIncrement()); - urlEntity.setRevision(NumConstant.ZERO); - urlEntity.setDelFlag(NumConstant.ZERO_STR); - urlEntity.setCreatedBy(tokenDto.getUserId()); - urlEntity.setUpdatedBy(tokenDto.getUserId()); - urlEntity.setCreatedTime(new Date()); - urlEntity.setUpdatedTime(new Date()); - imageList.add(urlEntity); - }); - } return entity; }).collect(Collectors.toList()); @@ -317,9 +301,9 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl