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());
|
}
|
}
|