This commit is contained in:
2023-03-04 16:29:55 +08:00
commit 397ba75479
1007 changed files with 109050 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
package com.jsowell.thirdparty.service;
public interface LianLianService {
/**
* 根据运营商id推送运营商信息
* @param merchantId
*/
void pushMerchantInfo(Long merchantId);
}

View File

@@ -0,0 +1,25 @@
package com.jsowell.thirdparty.service.impl;
import com.jsowell.pile.service.IPileMerchantInfoService;
import com.jsowell.thirdparty.service.LianLianService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class LianLianServiceImpl implements LianLianService {
@Autowired
private IPileMerchantInfoService pileMerchantInfoService;
@Override
public void pushMerchantInfo(Long merchantId) {
// 通过id查询运营商信息
// 组装联联平台所需要的数据格式
// 调用联联平台接口
}
}

View File

@@ -0,0 +1,54 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 充电明细信息体
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ChargeDetail {
/**
* 开始时间 Y
* 格式“yyyy-MM-dd HH:mm:ss”
*/
private String DetailStartTime;
/**
* 结束时间 Y
* 格式“yyyy-MM-dd HH:mm:ss”
*/
private String DetailEndTime;
/**
* 时段电价(小数点后4位) Y
*/
private BigDecimal ElecPrice;
/**
* 时段服务费价格(小数点后4位) Y
*/
private BigDecimal SevicePrice;
/**
* 时段充电量(单位小数点后2位) Y
*/
private BigDecimal DetailPower;
/**
* 时段电费(小数点后2位) Y
*/
private BigDecimal DetailElecMoney;
/**
* 时段服务费(小数点后2位) Y
*/
private BigDecimal DetailSeviceMoney;
}

View File

@@ -0,0 +1,122 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 充电设备接口充电中状态信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ConnectorChargeStatusInfo {
/**
* 充电订单号 Y
* 对接平台系统订单编号
*/
private String StartChargeSeq;
/**
* 充电设备接口编码 Y
* 平台下唯一枪口号
*/
private String ConnectorID;
/**
* 充电设备接口状态 Y
* 1空闲
* 2占用未充电
* 3占用充电中
* 4占用预约锁定
* 255故障
*/
private Integer ConnectorStatus;
/**
* 车辆识别码 N
* 车辆识别号码或车架号码由17位英数组成
*/
private String Vin;
/**
* A相电流 Y
* 单位A默认0 含直流(输出)
*/
private BigDecimal CurrentA;
/**
* B相电流 N
* 单位A默认0
*/
private BigDecimal CurrentB;
/**
* C相电流 N
* 单位A默认0
*/
private BigDecimal CurrentC;
/**
* A相电压 Y
* 单位V默认0含直流(输出)
*/
private BigDecimal VoltageA;
/**
* B相电压 N
* 单位V默认0
*/
private BigDecimal VoltageB;
/**
* C相电压 N
* 单位V默认0
*/
private BigDecimal VoltageC;
/**
* 电池剩余电量(默认0) Y
*/
private BigDecimal Soc;
/**
* 开始充电时间 Y
* 格式“yyyy-MM-dd HH:mm:ss”
*/
private String StartTime;
/**
* 本次采样时间 Y
* 格式“yyyy-MM-dd HH:mm:ss”
*/
private String EndTime;
/**
* 累计充电量 Y
* 单位小数点后2位
*/
private BigDecimal TotalPower;
/**
* 累计电费 Y
* 单位小数点后2位
*/
private BigDecimal ElecMoney;
/**
* 累计服务费 Y
* 单位小数点后2位
*/
private BigDecimal SeviceMoney;
/**
* 累计总金额 Y
* 单位小数点后2位
*/
private BigDecimal TotalMoney;
}

View File

@@ -0,0 +1,64 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 充电设备接口信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ConnectorInfo {
/**
* 充电设备接口编码 Y
* 充电设备接口编码,同一对接平台内唯一
*/
private String ConnectorID;
/**
* 充电设备接口名称 N
*/
private String ConnectorName;
/**
* 充电设备接口类型 Y
* 1家用插座模式2
* 2交流接口插座模式3连接方式B
* 3交流接口插头带枪线模式3连接方式C
* 4直流接口枪头带枪线模式4
*/
private Integer ConnectorType;
/**
* 额定电压上限(单位V) Y
*/
private Integer VoltageUpperLimits;
/**
* 额定电压下限(单位V) Y
*/
private Integer VoltageLowerLimits;
/**
* 额定电流(单位A) Y
*/
private Integer Current;
/**
* 额定功率(单位kW) Y
*/
private BigDecimal Power;
/**
* 车位号 N
* 停车场车位编号
*/
private String ParkNo;
}

View File

@@ -0,0 +1,29 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 充电设备接口统计信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ConnectorStatsInfo {
/**
* 充电设备接口编码 Y
* 充电设备接口编码,同一对接平台内唯一
*/
private String ConnectorID;
/**
* 充电设备接口累计电量
* 累计电量单位kWh精度0.1
*/
private BigDecimal ConnectorElectricity;
}

View File

@@ -0,0 +1,42 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 充电设备接口状态信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ConnectorStatusInfo {
/**
* 充电设备接口编码 Y
* 充电设备接口编码,同一对接平台内唯一
*/
private String ConnectorID;
/**
* 充电设备接口状态 Y
* 0离网
* 1空闲
* 2占用未充电
* 3占用充电中
* 4占用预约锁定
* 255故障
*/
private String Status;
/**
* 车位状态(0-未知10-空闲50-占用) N
*/
private String ParkStatus;
/**
* 地锁状态(0-未知10-已解锁50-占用) N
*/
private String LockStatus;
}

View File

@@ -0,0 +1,102 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
/**
* 充电设备信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EquipmentInfo {
/**
* 设备编码 Y
* 设备唯一编码,对同一对接平台,保证唯一
*/
private String EquipmentID;
/**
* 设备生产商组织机构代码 Y
*/
private String ManufacturerID;
/**
* 设备型号 N
* 由设备生厂商定义的设备型号
*/
private String EquipmentModel;
/**
* 设备名称 N
*/
private String EquipmentName;
/**
* 设备生产日期 N
* YYYY-MM-DD
*/
private String ProductionDate;
/**
* 建设时间 Y
* YYYY-MM-DD
*/
private String ConstructionTime;
/**
* 设备类型(1-直流设备2-交流设备3-交直流一体设备) Y
*/
private Integer EquipmentType;
/**
* 设备状态 Y
* 0未知
* 1建设中
* 5关闭下线
* 6维护中
* 50正常使用
*/
private Integer EquipmentStatus;
/**
* 额定功率(单位kW) Y
*/
private BigDecimal EquipmentPower;
/**
* 新国标(0-否1-是) Y
* 是否新国标
*/
private Integer NewNationalStandard;
/**
* 充电设备接口列表 Y
* 该充电设备所有的充电设备接口的信息对象集合
*/
private List<ConnectorInfo> ConnectorInfos;
/**
* 充电设备经度 N
* GCJ-02坐标系
*/
private BigDecimal EquipmentLng;
/**
* 充电设备纬度 N
* GCJ-02坐标系
*/
private BigDecimal EquipmentLat;
/**
* 是否支持VIN码识别(0-否1-是) Y
*/
private Integer VinFlag;
}

View File

@@ -0,0 +1,36 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
/**
* 充电设备统计信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class EquipmentStatsInfo {
/**
* 设备编码 Y
* 设备唯一编码,对同一对接平台,保证唯一
*/
private String EquipmentID;
/**
* 充电设备累计电量 Y
* 累计电量单位kWh精度0.1
*/
private BigDecimal EquipmentElectricity;
/**
* 充电设备接口统计信息列表 Y
* 充设备的所有充电设备接口统计对象集合
*/
private List<ConnectorStatsInfo> ConnectorStatsInfos;
}

View File

@@ -0,0 +1,45 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 充电对接平台信息
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OperatorInfo {
/**
* 对接平台ID组织机构代码 Y
*/
private String OperatorID;
/**
* 对接平台名称(机构全称) Y
*/
private String OperatorName;
/**
* 对接平台电话对接平台客服电话1 Y
*/
private String OperatorTel1;
/**
* 对接平台电话2对接平台客服电话2 N
*/
private String OperatorTel2;
/**
* 对接平台注册地址 N
*/
private String OperatorRegAddress;
/**
* 备注 N
*/
private String OperatorNote;
}

View File

@@ -0,0 +1,150 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
/**
* 订单信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class OrderInfo {
/**
* 对接平台ID Y
* 组织机构代码
*/
private String OperatorID;
/**
* 设备所属运营商ID Y
* 设备所属运营商组织机构代码
*/
private String EquipmentOwnerID;
/**
* 充电站ID Y
* 对接平台自定义的唯一编码
*/
private String StationID;
/**
* 设备编码 Y
* 设备唯一编码,对同一对接平台,保证唯一
*/
private String EquipmentID;
/**
* 充电设备接口编码 Y
* 充电设备接口编码,同一对接平台内唯一
*/
private String ConnectorID;
/**
* 充电订单号 Y
* 对接平台系统订单编号
*/
private String StartChargeSeq;
/**
* 用户发起充电类型 Y
* 1:本平台注册用户
* 2:卡用户
* 3互联互通用户
* 10:其他
*/
private Integer UserChargeType;
/**
* 用户手机号 N
* 若用户发起充电类型为 APP用户手机号必填
*/
private String MobileNumber;
/**
* 本次充电消费总金额(单位:元,保留小数点后2位) Y
*/
private BigDecimal Money;
/**
* 本次充电电费总金额(单位:元,保留小数点后2位) Y
*/
private BigDecimal ElectMoney;
/**
* 本次充电服务费金额(单位:元,保留小数点后2位) Y
*/
private BigDecimal ServiceMoney;
/**
* 本次充电电量 Y
* 单位kWh精度0.01,保留小数点后2位
*/
private BigDecimal Elect;
/**
* 本次充电开始时间 Y
* 格式“yyyy-MM-dd HH:mm:ss”
*/
private String StartTime;
/**
* 本次充电结束时间 Y
* 格式“yyyy-MM-dd HH:mm:ss”
*/
private String EndTime;
/**
* 支付金额 Y
*/
private BigDecimal PaymentAmount;
/**
* 支付时间 N
*/
private String PayTime;
/**
* 支付方式 Y
* 1支付宝
* 2微信支付
* 3交通卡
* 4预充卡
* 5银联
* 6其他自定义
*/
private Integer PayChannel;
/**
* 优惠信息描述 N
* 描述支付的相关优惠信息,如优惠券,折扣等
*/
private String DiscountInfo;
/**
* 充电结束原因 Y
* 0:用户手动停止充电
* 1:客户归属地运营商平台停止充电
* 2:BMS停止充电
* 3:充电机设备故障
* 4:连接器断开
* 5-99自定义
*/
private Integer StopReason;
/**
* 时段数N,范围032 N
*/
private Integer SumPeriod;
/**
* 充电明细信息 Y
*/
private List<ChargeDetail> ChargeDetails;
}

View File

@@ -0,0 +1,318 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.util.List;
/**
* 充电站信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class StationInfo {
/**
* 充电站ID Y
* 对接平台自定义的唯一编码
*/
private String StationID;
/**
* 对接平台ID Y
* 组织机构代码
*/
private String OperatorID;
/**
* 设备所属运营商ID Y
* 设备所属运营商组织机构代码
*/
private String EquipmentOwnerID;
/**
* 充电站名称 Y
* 充电站名称的描述
*/
private String StationName;
/**
* 是否独立报桩 (0-否;1-是) Y
* 如果是独立报桩需要填写户号以及容量
*/
private Integer IsAloneApply;
/**
* 户号 N
* 国网电费账单户号
*/
private String AccountNumber;
/**
* 容量(单位KW) N
* 独立电表申请的功率
*/
private BigDecimal Capacity;
/**
* 是否是公共停车场库 (0-否;1-是) Y
* 如果是公共停车场库需要填写场库编号
*/
private Integer IsPublicParkingLot;
/**
* 停车场库编号 N
* 公共停车场库编号
*/
private String ParkingLotNumber;
/**
* 充电站国家代码 Y
* 比如CN
*/
private String CountryCode;
/**
* 充电站省市辖区编码 Y
* 填写内容为参照 GB/T2260-2015
*/
private String AreaCode;
/**
* 详细地址 Y
*/
private String Address;
/**
* 站点电话 N
* 能够联系场站工作人员进行协助的联系电话
*/
private String StationTel;
/**
* 服务电话 Y
* 平台服务电话例如400 的电话
*/
private String ServiceTel;
/**
* 站点类型 Y
* 1-公共
* 50-个人
* 100-公交(专用)
* 101-环卫(专用)
* 102-物流(专用)
* 103-出租车(专用)
* 104-分时租赁(专用)
* 105-小区共享(专用)
* 106-单位(专用)
* 255-其他
*/
private Integer StationType;
/**
* 站点状态 Y
* 0未知
* 1建设中
* 5关闭下线
* 6维护中
* 50正常使用
*/
private Integer StationStatus;
/**
* 车位数量 Y
* 可停放进行充电的车位总数(默认0-未知)
*/
private Integer ParkNums;
/**
* 经度 Y
* GCJ-02坐标系
*/
private BigDecimal StationLng;
/**
* 纬度 Y
* GCJ-02坐标系
*/
private BigDecimal StationLat;
/**
* 站点引导 N
* 描述性文字,用于引导车主找到充电车位
*/
private String SiteGuide;
/**
* 建设场所 Y
* 1居民区
* 2公共机构
* 3企事业单位
* 4写字楼
* 5工业园区
* 6交通枢纽
* 7大型文体设施
* 8城市绿地
* 9大型建筑配建停车场
* 10路边停车位
* 11城际高速服务区
* 12风景区
* 13公交场站
* 14加油加气站
* 15出租车
* 255其他
*/
private Integer Construction;
/**
* 站点照片 N
* 充电设备照片、充电车位照片、停车场入口照片
*/
private List<String> Pictures;
/**
* 使用车型描述 N
* 描述该站点接受的车大小以及类型,如大巴、物流车、私家乘用车、出租车等
*/
private String MatchCars;
/**
* 车位楼层及数量描述 N
* 车位楼层以及数量信息
*/
private String ParkInfo;
/**
* 停车场产权方 N
* 停车场产权人
*/
private String ParkOwner;
/**
* 停车场管理方 N
* 停车场管理人XX 物业)
*/
private String ParkManager;
/**
* 全天开放 Y
* 是否全天开放(0-否1-是),如果为0则营业时间必填
*/
private Integer OpenAllDay;
/**
* 营业时间 N
* 营业时间描述,推荐格式周一至周日00:00-24:00
*/
private String BusineHours;
/**
* 最低单价 Y
* 最低充电电费率
*/
private BigDecimal MinElectricityPrice;
/**
* 充电电费率 Y
* 充电费描述,推荐格式XX 元/度
*/
private String ElectricityFee;
/**
* 服务费率 Y
* 服务费率描述,推荐格式XX 元/度
*/
private String ServiceFee;
/**
* 免费停车 Y
* 是否停车免费(0-否1-是)
*/
private Integer ParkFree;
/**
* 停车费 N
* 停车费率描述
*/
private String ParkFee;
/**
* 支付方式 Y
* 支付方式:刷卡、线上、现金 其中电子钱包类卡为刷卡,身份鉴权卡、微信/ 支付宝、APP为线上
*/
private String Payment;
/**
* 是否支持预约 Y
* 充电设备是否需要提前预约后才能使用。(0-不支持预约;1-支持预约) 不填默认为0
*/
private Integer SupportOrder;
/**
* 备注 N
* 其他备注信息
*/
private String Remark;
/**
* 充电设备信息列表 Y
* 该充电站所有充电设备信息对象集合
*/
private List<EquipmentInfo> EquipmentInfos;
/**
* 停车收费类型 Y
* 0:停车收费;
* 1:停车免费;
* 2:限时免费;
* 3:充电限免
*/
private Integer ParkFeeType;
/**
* 是否靠近卫生间(0-否1-是) Y
*/
private Integer ToiletFlag;
/**
* 是否靠近便利店(0-否1-是) Y
*/
private Integer StoreFlag;
/**
* 是否靠近餐厅(0-否1-是) Y
*/
private Integer RestaurantFlag;
/**
* 是否靠近休息室(0-否1-是) Y
*/
private Integer LoungeFlag;
/**
* 是否有雨棚(0-否1-是) Y
*/
private Integer CanopyFlag;
/**
* 是否有小票机(0-否1-是) Y
*/
private Integer PrinterFlag;
/**
* 是否有道闸(0-否1-是) Y
*/
private Integer BarrierFlag;
/**
* 是否有地锁(0-否1-是) Y
*/
private Integer ParkingLockFlag;
}

View File

@@ -0,0 +1,29 @@
package com.jsowell.thirdparty.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 充电站状态信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class StationStatusInfo {
/**
* 充电站ID Y
* 对接平台自定义的唯一编码不足长度在前方补0
*/
private String StationID;
/**
* 充电设备接口状态列表 Y
* 所有充电设备接口的状态
*/
private List<ConnectorStatusInfo> ConnectorStatusInfos;
}