longz
2026-07-31 5199c1170b23b12afd5d93eae6eb38daa119b3a2
各类修复
3个文件已修改
54 ■■■■■ 已修改文件
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/dto/SiteExcelDTO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/dto/SiteExcelDTOTest.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/dto/SiteExcelDTO.java
@@ -32,10 +32,18 @@
    private Integer status;
    @Excel(name = "*建设场所", width = 24, readConverterExp = "0=其他,1=居民区,2=公共机构,3=企事业单位,4=写字楼,5=工业园区,6=交通枢纽,7=大型文体设施,8=城市绿地,9=大型建筑配建停车场,10=路边停车位,11=城际高速服务区,12=风景区,13=公交场站,14=加油加气站,15=出租车")
    private Integer constructionSite;
    @Excel(name = "高速路服务区号", width = 22)
    private String serAreaCode;
    @Excel(name = "*是否有储能设施", width = 22, readConverterExp = "0=无,1=有")
    private Integer isEnergyStorage;
    @Excel(name = "*变压器功率", width = 18)
    private BigDecimal transformerPower;
    @Excel(name = "*是否参与会员折扣", width = 22, readConverterExp = "0=否,1=是")
    private Integer memberDiscountFlag;
    @Excel(name = "*引流平台推送", width = 22, readConverterExp = "0=否,1=是")
    private Integer isOpenSynchronization;
    @Excel(name = "站点环境图", width = 40, prompt = "填写图片地址,多个地址使用英文逗号分隔")
    private String imgUrl;
    @Excel(name = "*所在区域", width = 20, prompt = "填写区县行政区划代码,如510903")
    private String areaCode;
    @Excel(name = "*详细地址", width = 35)
@@ -44,7 +52,7 @@
    private String lon;
    @Excel(name = "*纬度", width = 18)
    private String lat;
    @Excel(name = "*充电站国家代码", width = 20)
    @Excel(name = "充电站国家代码", width = 20)
    private String countryCode;
    @Excel(name = "*站点电话", width = 22)
    private String phone;
@@ -52,7 +60,7 @@
    private String servicePhone;
    @Excel(name = "站点引导", width = 30)
    private String guide;
    @Excel(name = "运营时间", width = 30)
    @Excel(name = "*运营时间", width = 30)
    private String startServiceTime;
    @Excel(name = "站内提供服务", width = 30)
    private String serviceDescription;
@@ -60,7 +68,7 @@
    private String vehicleDescription;
    @Excel(name = "*车位数量", width = 15)
    private Integer parkingSpace;
    @Excel(name = "*充电电费描述", width = 35)
    @Excel(name = "充电电费率描述", width = 35)
    private String rateDescription;
    @Excel(name = "超时占位费描述", width = 35)
    private String spaceChargeExplain;
@@ -86,9 +94,9 @@
    private String parkFee;
    @Excel(name = "服务车型描述", width = 30)
    private String swapMatchCars;
    @Excel(name = "支付方式", width = 18, readConverterExp = "1=刷卡,2=线上,3=现金")
    @Excel(name = "*支付方式", width = 18, readConverterExp = "1=刷卡,2=线上,3=现金")
    private Integer payment;
    @Excel(name = "是否支持预约", width = 20, readConverterExp = "1=支持,2=不支持")
    @Excel(name = "*是否支持预约", width = 20, readConverterExp = "1=支持,2=不支持")
    private Integer supportOrder;
    @Excel(name = "*电费类型", width = 22, readConverterExp = "0=其他用电,1=商业用电,2=普通工业用电,3=大工业用电")
    private Integer electricityType;
@@ -113,11 +121,11 @@
    private Integer videoMonitor;
    @Excel(name = "周边配套设施", width = 30)
    private String supportingFacilities;
    @Excel(name = "是否有小票机", width = 20, readConverterExp = "0=无,1=有")
    @Excel(name = "*是否有小票机", width = 20, readConverterExp = "0=无,1=有")
    private Integer printerFlag;
    @Excel(name = "是否有道闸", width = 18, readConverterExp = "0=无,1=有")
    @Excel(name = "*是否有道闸", width = 18, readConverterExp = "0=无,1=有")
    private Integer barrierFlag;
    @Excel(name = "是否有地锁", width = 18, readConverterExp = "0=无,1=有")
    @Excel(name = "*是否有地锁", width = 18, readConverterExp = "0=无,1=有")
    private Integer parkingLockFlag;
    @Excel(name = "*设备所属方名称", width = 28)
    private String equipmentOwnerName;
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java
@@ -282,8 +282,10 @@
        if (row.getBusinessCategory() == null) errors.add("经营类别不能为空");
        if (row.getStatus() == null) errors.add("站点状态不能为空");
        if (row.getConstructionSite() == null) errors.add("建设场所不能为空");
        if (row.getIsEnergyStorage() == null) errors.add("是否有储能设施不能为空");
        if (row.getTransformerPower() == null) errors.add("变压器功率不能为空");
        if (row.getMemberDiscountFlag() == null) errors.add("是否参与会员折扣不能为空");
        if (row.getIsOpenSynchronization() == null) errors.add("引流平台推送不能为空");
        if (StringUtils.isEmpty(row.getAreaCode()) || !regionByCode.containsKey(row.getAreaCode().trim())) {
            errors.add("所在区域行政区划代码不存在");
        } else {
@@ -295,15 +297,16 @@
        if (StringUtils.isEmpty(row.getAddress())) errors.add("详细地址不能为空");
        if (StringUtils.isEmpty(row.getLon())) errors.add("经度不能为空");
        if (StringUtils.isEmpty(row.getLat())) errors.add("纬度不能为空");
        if (StringUtils.isEmpty(row.getCountryCode())) errors.add("充电站国家代码不能为空");
        if (StringUtils.isEmpty(row.getPhone())) errors.add("站点电话不能为空");
        if (StringUtils.isEmpty(row.getServicePhone())) errors.add("服务电话不能为空");
        if (StringUtils.isEmpty(row.getStartServiceTime())) errors.add("运营时间不能为空");
        if (row.getParkingSpace() == null) errors.add("车位数量不能为空");
        if (StringUtils.isEmpty(row.getRateDescription())) errors.add("充电电费描述不能为空");
        if (row.getSort() == null) errors.add("排序不能为空");
        if (row.getStationClassification() == null) errors.add("电站分类不能为空");
        if (row.getRoundTheClock() == null) errors.add("7*24小时营业不能为空");
        if (row.getParkType() == null) errors.add("停车费类型不能为空");
        if (row.getPayment() == null) errors.add("支付方式不能为空");
        if (row.getSupportOrder() == null) errors.add("是否支持预约不能为空");
        if (row.getElectricityType() == null) errors.add("电费类型不能为空");
        if (row.getBusinessExpandType() == null) errors.add("报装类型不能为空或填写不正确,请填写独立报装或非独立报装");
        if (row.getCapacity() == null) errors.add("报装电源容量不能为空");
@@ -311,6 +314,9 @@
        if (row.getPeriodFee() == null) errors.add("是否峰谷分时不能为空");
        if (StringUtils.isEmpty(row.getOfficialRunTime())) errors.add("正式投运时间不能为空");
        if (row.getVideoMonitor() == null) errors.add("视频监控配套情况不能为空");
        if (row.getPrinterFlag() == null) errors.add("是否有小票机不能为空");
        if (row.getBarrierFlag() == null) errors.add("是否有道闸不能为空");
        if (row.getParkingLockFlag() == null) errors.add("是否有地锁不能为空");
        if (StringUtils.isEmpty(row.getEquipmentOwnerName())) errors.add("设备所属方名称不能为空");
        if (StringUtils.isEmpty(row.getResidentNo())) errors.add("供电局用户编号不能为空");
        if (row.getSupplyType() == null) errors.add("供电类型不能为空");
@@ -356,7 +362,6 @@
        if (StringUtils.isNotEmpty(row.getEstablishmentTime())) {
            site.setEstablishmentTime(java.time.LocalDateTime.parse(row.getEstablishmentTime().trim(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        }
        site.setImgUrl("");
        return site;
    }
ruoyi-service/ruoyi-chargingPile/src/test/java/com/ruoyi/chargingPile/dto/SiteExcelDTOTest.java
@@ -29,14 +29,15 @@
                .collect(Collectors.toList());
        assertEquals(Arrays.asList(
                "*归属合作商/服务商", "场地方", "*站点编号", "*站点名称", "*站点类型", "*经营类别",
                "*站点状态", "*建设场所", "*变压器功率", "*是否参与会员折扣", "*所在区域", "*详细地址",
                "*经度", "*纬度", "*充电站国家代码", "*站点电话", "*服务电话", "站点引导", "运营时间",
                "站内提供服务", "车型描述", "*车位数量", "*充电电费描述", "超时占位费描述", "计费模板",
                "*站点状态", "*建设场所", "高速路服务区号", "*是否有储能设施", "*变压器功率", "*是否参与会员折扣",
                "*引流平台推送", "站点环境图", "*所在区域", "*详细地址", "*经度", "*纬度", "充电站国家代码",
                "*站点电话", "*服务电话", "站点引导", "*运营时间", "站内提供服务", "车型描述", "*车位数量",
                "充电电费率描述", "超时占位费描述", "计费模板",
                "建站时间", "*排序", "备注", "*电站分类", "通用类型", "充换电站所在县以下行政区划代码",
                "*7*24小时营业", "*停车费类型", "停车费描述", "服务车型描述", "支付方式", "是否支持预约",
                "*7*24小时营业", "*停车费类型", "停车费描述", "服务车型描述", "*支付方式", "*是否支持预约",
                "*电费类型", "*报装类型", "*报装电源容量", "*站点额定总功率", "*是否峰谷分时", "*正式投运时间",
                "充换电站方位", "充换电站建设面积", "充换电站人工值守", "*视频监控配套情况", "周边配套设施",
                "是否有小票机", "是否有道闸", "是否有地锁", "*设备所属方名称", "*供电局用户编号", "*供电类型",
                "*是否有小票机", "*是否有道闸", "*是否有地锁", "*设备所属方名称", "*供电局用户编号", "*供电类型",
                "*表号", "*外电功率", "*服务费描述", "*充电站全省唯一备案号"
        ), actual);
    }
@@ -45,15 +46,23 @@
    void exportRowContainsNewSiteFieldsAndNames() {
        Site site = new Site();
        site.setCode("SITE001");
        site.setSerAreaCode("G42-001");
        site.setIsEnergyStorage(1);
        site.setTransformerPower(new BigDecimal("630.00"));
        site.setMemberDiscountFlag(1);
        site.setIsOpenSynchronization(0);
        site.setImgUrl("https://example.com/site.png");
        site.setDistrictsCode("510903");
        SiteExcelDTO row = SiteExcelDTO.from(site, "合作商A", "场地方B", "计费模板C");
        assertEquals("SITE001", row.getCode());
        assertEquals("G42-001", row.getSerAreaCode());
        assertEquals(1, row.getIsEnergyStorage());
        assertEquals(new BigDecimal("630.00"), row.getTransformerPower());
        assertEquals(1, row.getMemberDiscountFlag());
        assertEquals(0, row.getIsOpenSynchronization());
        assertEquals("https://example.com/site.png", row.getImgUrl());
        assertEquals("510903", row.getAreaCode());
        assertEquals("合作商A", row.getPartnerName());
        assertEquals("场地方B", row.getVenuePartnerName());