Browse Source

房屋导入

dev
zxc 4 years ago
parent
commit
39b4f7c1ad
  1. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  2. 31
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ImportResultDTO.java
  3. 15
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  4. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java
  5. 16
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -695,4 +695,9 @@ public class RedisKeys {
public static String getTemporaryBuildingUnitInfoCacheKey(String customerId,String userId){ public static String getTemporaryBuildingUnitInfoCacheKey(String customerId,String userId){
return rootPrefix.concat("temporary:").concat("temporaryBuildingUnit:").concat(customerId).concat(":").concat(userId); return rootPrefix.concat("temporary:").concat("temporaryBuildingUnit:").concat(customerId).concat(":").concat(userId);
} }
public static String getTemporaryImportResultCacheKey(String customerId,String userId){
return rootPrefix.concat("temporary:").concat("temporaryResult:").concat(customerId).concat(":").concat(userId);
}
} }

31
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/ImportResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author zxc
* @DateTime 2022/2/15 9:25 上午
* @DESC
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ImportResultDTO implements Serializable {
private static final long serialVersionUID = -5817164530837181890L;
/**
* 未导入的行号
*/
private List<Integer> nums;
/**
* 总条数
*/
private Integer num;
}

15
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -35,6 +35,7 @@ import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO;
import com.epmet.dto.result.ImportResultDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO; import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.excel.IcHouseExcel; import com.epmet.excel.IcHouseExcel;
import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient;
@ -276,7 +277,19 @@ public class HouseController implements ResultDataResolver {
excelReader.finish(); excelReader.finish();
} }
} }
return new Result<>(); ImportResultDTO dto = icHouseRedis.getImportResultDTO(formDTO.getCustomerId(), formDTO.getUserId());
if (null == dto){
return new Result<>();
}
List<Integer> nums = dto.getNums();
Integer num = dto.getNum();
String s = "共%s条数据,导入成功%s条。";
if (nums.size() > NumConstant.ZERO){
Collections.sort(nums);
s = s + "第"+nums.stream().map(String::valueOf).collect(Collectors.joining("、"))+"条导入失败";
return new Result<>().error(9999,String.format(s,num,num - nums.size()));
}
return new Result<>().ok(String.format(s,num,num));
} }
} }

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java

@ -14,6 +14,7 @@ import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.IcBuildingDao; import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.ImportHouseGeneralDTO; import com.epmet.dto.ImportHouseGeneralDTO;
import com.epmet.dto.form.ImportInfoFormDTO; import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.dto.result.ImportResultDTO;
import com.epmet.entity.IcHouseEntity; import com.epmet.entity.IcHouseEntity;
import com.epmet.enums.HousePurposeEnums; import com.epmet.enums.HousePurposeEnums;
import com.epmet.enums.HouseRentFlagEnums; import com.epmet.enums.HouseRentFlagEnums;
@ -399,6 +400,8 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
icHouseRedis.delTemporaryCacheBuilding(formDTO.getCustomerId(), formDTO.getUserId()); icHouseRedis.delTemporaryCacheBuilding(formDTO.getCustomerId(), formDTO.getUserId());
icHouseRedis.delTemporaryCacheBuildingUnit(formDTO.getCustomerId(), formDTO.getUserId()); icHouseRedis.delTemporaryCacheBuildingUnit(formDTO.getCustomerId(), formDTO.getUserId());
icHouseRedis.delTemporaryCacheHouses(formDTO.getCustomerId(), formDTO.getUserId()); icHouseRedis.delTemporaryCacheHouses(formDTO.getCustomerId(), formDTO.getUserId());
// 放结果
icHouseRedis.setImportResultDTO(formDTO.getCustomerId(), formDTO.getUserId(), new ImportResultDTO(nums,num));
} }
@ -410,7 +413,9 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void houseInsert(List<ImportHouseGeneralDTO> houses){ public void houseInsert(List<ImportHouseGeneralDTO> houses){
icHouseService.insertBatch(ConvertUtils.sourceToTarget(houses, IcHouseEntity.class)); if (!CollectionUtils.isEmpty(houses)){
icHouseService.insertBatch(ConvertUtils.sourceToTarget(houses, IcHouseEntity.class));
}
} }
} }

16
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java

@ -25,6 +25,7 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcHouseDao; import com.epmet.dao.IcHouseDao;
import com.epmet.dto.ImportHouseGeneralDTO; import com.epmet.dto.ImportHouseGeneralDTO;
import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.ImportResultDTO;
import com.epmet.model.HouseInfoModel; import com.epmet.model.HouseInfoModel;
import com.epmet.model.HouseInfoModelDTO; import com.epmet.model.HouseInfoModelDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -292,4 +293,19 @@ public class IcHouseRedis {
redisUtils.delete(key); redisUtils.delete(key);
} }
public void setImportResultDTO(String customerId, String userId, ImportResultDTO dto){
String key = RedisKeys.getTemporaryImportResultCacheKey(customerId,userId);
Map<String, Object> result = BeanUtil.beanToMap(dto, false, true);
redisUtils.hMSet(key,result,RedisUtils.MINUTE_ONE_EXPIRE);
}
public ImportResultDTO getImportResultDTO(String customerId, String userId){
String key = RedisKeys.getTemporaryImportResultCacheKey(customerId,userId);
Map<String, Object> map = redisUtils.hGetAll(key);
if (CollectionUtils.isEmpty(map)){
return null;
}
return ConvertUtils.mapToEntity(map,ImportResultDTO.class);
}
} }
Loading…
Cancel
Save