zhongrj
2024-05-15 5bdf555469ad4cae4059f23dbb1692b9b0336350
住户导入调整
4 files modified
26 ■■■■■ changed files
src/main/java/org/springblade/modules/house/controller/HouseholdController.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/IHouseholdService.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java 17 ●●●● patch | view | raw | blame | history
src/main/resources/application-test.yml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/house/controller/HouseholdController.java
@@ -231,9 +231,8 @@
    @ApiOperationSupport(order = 12)
    @ApiOperation(value = "导入住户", notes = "传入excel")
    public R importUser(MultipartFile file, Integer isCovered) {
        HouseHoldImporter houseHoldImporter = new HouseHoldImporter(householdService, isCovered==1);
        ExcelUtil.save(file, houseHoldImporter, ImportHouseholdExcel.class);
        return R.success("操作成功");
        String data = householdService.importUserHouseHold(ExcelUtil.read(file, ImportHouseholdExcel.class),isCovered==1);
        return R.data(200,data,null);
    }
    /**
src/main/java/org/springblade/modules/house/service/IHouseholdService.java
@@ -73,7 +73,7 @@
    List<ImportHouseholdExcel> export(HouseholdVO household);
    void importUserHouseHold(List<ImportHouseholdExcel> data, Boolean isCovered);
    String importUserHouseHold(List<ImportHouseholdExcel> data, Boolean isCovered);
    Integer statistics(Long userId,String neiCode,Integer confirmFlag);
src/main/java/org/springblade/modules/house/service/impl/HouseholdServiceImpl.java
@@ -313,9 +313,12 @@
     * @param isCovered
     */
    @Override
//    @Transactional(rollbackFor = Exception.class)
    public void importUserHouseHold(List<ImportHouseholdExcel> data, Boolean isCovered) {
    @Transactional(rollbackFor = Exception.class)
    public String importUserHouseHold(List<ImportHouseholdExcel> data, Boolean isCovered) {
        IHouseService houseService = SpringUtils.getBean(IHouseService.class);
        int totalNum = data.size();
        int importNum = 0;
        int updateNum = 0;
        int errorNum = 0;
        for (ImportHouseholdExcel houseHoldExcel : data) {
            HouseholdEntity householdEntity = Objects.requireNonNull(BeanUtil.copy(houseHoldExcel, HouseholdEntity.class));
@@ -395,22 +398,30 @@
            if (one==null){
                // 新增
                this.save(householdEntity);
                importNum++;
                // 处理标签
                handleLabel(householdEntity,houseHoldExcel);
            }else {
                updateNum++;
                if (isCovered){
                    // 覆盖更新
                    householdEntity.setId(one.getId());
                    // 更新
                    updateById(householdEntity);
                    importNum++;
                    // 处理标签
                    handleLabel(householdEntity,houseHoldExcel);
                }
            }
        }
        StringBuilder builder = new StringBuilder("导入完成!");
        builder.append("其中本次表格共有 ").append(totalNum).append(" 条数据,")
            .append("成功导入 ").append(importNum).append(" 条数据,")
            .append("其中有 ").append(updateNum).append(" 条数据已存在。");
        if (errorNum>0){
            throw new ServiceException("导入完成,其中共有 " + errorNum + " 条数据由于无姓名或手机号信息未导入!");
            builder.append("共有 ").append(errorNum).append(" 条数据由于无姓名或手机号信息未导入!");
        }
        return builder.toString();
    }
    /**
src/main/resources/application-test.yml
@@ -7,7 +7,7 @@
    host: 127.0.0.1
    port: 6379
    password:
    database: 0
    database: 10
    ssl: false
    ##redis 集群环境配置
    #cluster: