longz
2026-07-17 da9b7a52dbc6fcd2173efef90528d8fccc322554
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.ruoyi.chargingPile.dto;
 
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.common.core.annotation.Excel;
import org.junit.jupiter.api.Test;
 
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
 
import static org.junit.jupiter.api.Assertions.assertEquals;
 
class SiteExcelDTOTest {
 
    @Test
    void columnsFollowSitePrototypeOrder() {
        List<String> actual = Arrays.stream(SiteExcelDTO.class.getDeclaredFields())
                .map(field -> field.getAnnotation(Excel.class))
                .filter(annotation -> annotation != null)
                .map(Excel::name)
                .collect(Collectors.toList());
        assertEquals(Arrays.asList(
                "*归属合作商/服务商", "场地方", "*站点编号", "*站点名称", "*站点类型", "*经营类别",
                "*站点状态", "*建设场所", "*变压器功率", "*是否参与会员折扣", "*所在区域", "*详细地址",
                "*经度", "*纬度", "*充电站国家代码", "*站点电话", "*服务电话", "站点引导", "运营时间",
                "站内提供服务", "车型描述", "*车位数量", "*充电电费描述", "超时占位费描述", "计费模板",
                "建站时间", "*排序", "备注", "*电站分类", "通用类型", "充换电站所在县以下行政区划代码",
                "*7*24小时营业", "*停车费类型", "停车费描述", "服务车型描述", "支付方式", "是否支持预约",
                "*电费类型", "*报装类型", "*报装电源容量", "*站点额定总功率", "*是否峰谷分时", "*正式投运时间",
                "充换电站方位", "充换电站建设面积", "充换电站人工值守", "*视频监控配套情况", "周边配套设施",
                "是否有小票机", "是否有道闸", "是否有地锁", "*设备所属方名称", "*供电局用户编号", "*供电类型",
                "*表号", "*外电功率", "*服务费描述", "*充电站全省唯一备案号"
        ), actual);
    }
 
    @Test
    void exportRowContainsNewSiteFieldsAndNames() {
        Site site = new Site();
        site.setCode("SITE001");
        site.setTransformerPower(new BigDecimal("630.00"));
        site.setMemberDiscountFlag(1);
        site.setDistrictsCode("510903");
 
        SiteExcelDTO row = SiteExcelDTO.from(site, "合作商A", "场地方B", "计费模板C");
 
        assertEquals("SITE001", row.getCode());
        assertEquals(new BigDecimal("630.00"), row.getTransformerPower());
        assertEquals(1, row.getMemberDiscountFlag());
        assertEquals("510903", row.getAreaCode());
        assertEquals("合作商A", row.getPartnerName());
        assertEquals("场地方B", row.getVenuePartnerName());
        assertEquals("计费模板C", row.getAccountingStrategyName());
    }
}