Merge branch 'dev' into dev-g

This commit is contained in:
Guoqs
2025-06-25 14:11:57 +08:00
14 changed files with 555 additions and 158 deletions

View File

@@ -98,75 +98,17 @@ public class PileBillingTemplate extends BaseEntity {
*/
private String memberFlag;
/**
* 对外展示VIP价格标识(0-不展示; 1-展示)
*/
private String displayFlag;
/**
* 发布时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date publishTime;
// public String getPublicFlag() {
// return publicFlag;
// }
//
// public void setPublicFlag(String publicFlag) {
// this.publicFlag = publicFlag;
// }
//
// public void setId(Long id) {
// this.id = id;
// }
//
// public Long getId() {
// return id;
// }
//
// public void setTemplateCode(String templateCode) {
// this.templateCode = templateCode;
// }
//
// public String getTemplateCode() {
// return templateCode;
// }
//
// public void setName(String name) {
// this.name = name;
// }
//
// public String getName() {
// return name;
// }
//
// public void setType(String type) {
// this.type = type;
// }
//
// public String getType() {
// return type;
// }
//
// public void setStationId(Long stationId) {
// this.stationId = stationId;
// }
//
// public Long getStationId() {
// return stationId;
// }
//
// public void setDelFlag(String delFlag) {
// this.delFlag = delFlag;
// }
//
// public String getDelFlag() {
// return delFlag;
// }
//
// public List<PileBillingDetail> getPileBillingDetailList() {
// return pileBillingDetailList;
// }
//
// public void setPileBillingDetailList(List<PileBillingDetail> pileBillingDetailList) {
// this.pileBillingDetailList = pileBillingDetailList;
// }
@Override
public String toString() {

View File

@@ -95,4 +95,9 @@ public class CreateOrUpdateBillingTemplateDTO {
// 集团编号
private String groupCode;
/**
* 对外展示VIP价格标识(0-不展示; 1-展示)
*/
private String displayFlag;
}

View File

@@ -241,6 +241,7 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
billingTemplate.setFreeTime(dto.getFreeTime());
billingTemplate.setOccupyFee(dto.getOccupyFee());
billingTemplate.setMaxOccupyFee(dto.getMaxOccupyFee());
billingTemplate.setDisplayFlag(dto.getDisplayFlag());
// 查询站点信息
PileStationInfo stationInfo = pileStationInfoService.selectPileStationInfoById(billingTemplate.getStationId());
@@ -315,6 +316,7 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
result.setFreeTime(pileBillingTemplate.getFreeTime());
result.setOccupyFee(pileBillingTemplate.getOccupyFee());
result.setMaxOccupyFee(pileBillingTemplate.getMaxOccupyFee());
result.setDisplayFlag(pileBillingTemplate.getDisplayFlag());
// 查计费模板详情
// List<PileBillingDetail> detailList = pileBillingTemplateMapper.queryBillingDetailByTemplateIds(new Long[]{id});
@@ -410,6 +412,7 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
// 将桩的费率存入stationVO
BigDecimal electricityPrice = detailVO.getElectricityPrice();
BigDecimal servicePrice = detailVO.getServicePrice();
result.setDisplayFlag(preferentialBillingTemplate.getDisplayFlag());
result.setVipElectricityPrice(electricityPrice.toString());
result.setVipServicePrice(servicePrice.toString());
result.setVipTotalPrice(electricityPrice.add(servicePrice).toString());
@@ -796,6 +799,7 @@ public class PileBillingTemplateServiceImpl implements PileBillingTemplateServic
// 优惠计费模板价格
BillingDetailVO preferentialBillingDetailVO = preferentialBillingDetailVOMap.get(type);
if (Objects.nonNull(preferentialBillingDetailVO)) {
vo.setDisplayFlag(preferentialBillingTemplate != null ? preferentialBillingTemplate.getDisplayFlag() : "0");
// vip电费
vo.setVipElectricityPrice(preferentialBillingDetailVO.getElectricityPrice().toString());
// vip服务费

View File

@@ -36,7 +36,6 @@ import com.jsowell.pile.vo.uniapp.business.StationBusinessAnalyzeInfoVO;
import com.jsowell.pile.vo.uniapp.business.StationOrderQuantityInfoVO;
import com.jsowell.pile.vo.uniapp.business.StationStatisticsInfosVO;
import com.jsowell.pile.vo.uniapp.customer.CurrentTimePriceDetails;
import com.jsowell.pile.vo.web.PileDetailVO;
import com.jsowell.pile.vo.web.PileStationVO;
import com.jsowell.system.service.SysDeptService;
import com.jsowell.system.service.SysUserService;
@@ -598,6 +597,7 @@ public class PileStationInfoServiceImpl implements PileStationInfoService {
stationVO.setFreeTime(currentTimePriceDetails.getFreeTime());
stationVO.setOccupyFee(currentTimePriceDetails.getOccupyFee());
// vip价
stationVO.setDisplayFlag(currentTimePriceDetails.getDisplayFlag());
stationVO.setVipElectricityPrice(currentTimePriceDetails.getVipElectricityPrice());
stationVO.setVipServicePrice(currentTimePriceDetails.getVipServicePrice());
stationVO.setVipTotalPrice(currentTimePriceDetails.getVipTotalPrice());
@@ -1451,4 +1451,4 @@ public class PileStationInfoServiceImpl implements PileStationInfoService {
}
return uniAppQueryStationInfoListV2(dto);
}
}
}

View File

@@ -0,0 +1,170 @@
package com.jsowell.pile.thirdparty.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
* 充电设备接口信息
*/
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ConnectorInfoDTO {
/**
* 充电设备接口编码 Y
* 充电设备接口编码,同一对接平台内唯一
*/
@JSONField(name = "ConnectorID")
private String connectorID;
/**
* 设备接口分类
* 1车辆充电设备接口
* 2换电站内的电池箱 充电设备接口
*/
@JSONField(name = "EquipmentClassification")
private Integer equipmentClassification;
/**
* 充电设备接口名称 N
*/
@JSONField(name = "ConnectorName")
private String connectorName;
/**
* 充电设备接口类型 Y
* 1家用插座模式2
* 2交流接口插座模式3连接方式B
* 3交流接口插头带枪线模式3连接方式C
* 4直流接口枪头带枪线模式4
*/
@JSONField(name = "ConnectorType")
private Integer connectorType;
/**
* 枪口状态
*/
@JSONField(name = "Status")
private Integer status;
/**
* 额定电压上限(单位V) Y
*/
@JSONField(name = "VoltageUpperLimits")
private BigDecimal voltageUpperLimits;
/**
* 额定电压下限(单位V) Y
*/
@JSONField(name = "VoltageLowerLimits")
private BigDecimal voltageLowerLimits;
/**
*恒功率电压上限
*/
@JSONField(name = "ConstantVoltageUpperLimits")
private Integer constantVoltageUpperLimits;
/**
*恒功率电压下限
*/
@JSONField(name = "ConstantVoltageLowerLimits")
private Integer constantVoltageLowerLimits;
/**
* 额定电流(单位A) Y
*/
@JSONField(name = "Current")
private BigDecimal current;
/**
*恒功率电流上限
*/
@JSONField(name = "ConstantCurrentUpperLimits")
private Integer ConstantCurrentUpperLimits;
/**
* 额 定 电 流 上限
*/
@JSONField(name = "CurrentUpperLimits")
private Integer currentUpperLimits;
/**
* 额 定 电 流 下限
*/
@JSONField(name = "CurrentLowerLimits")
private Integer currentLowerLimits;
/**
*恒功率电流下限
*/
@JSONField(name = "ConstantCurrentLowerLimits")
private Integer ConstantCurrentLowerLimits;
/**
* 额定功率(单位kW) Y
*/
@JSONField(name = "Power")
private BigDecimal power;
/**
* 接口功率类型
*/
@JSONField(name = "PowerType")
private Integer powerType;
/**
* 车位号 N
* 停车场车位编号
*/
@JSONField(name = "ParkNo")
private String parkNo;
/**
* 运营状态
* 0-未知
* 1-建设中
* 5-关闭下线
* 6-维护中
* 50-正常使用
*/
@JSONField(name = "OperateStatus")
private Integer operateStatus;
/**
* 运营状态
* 0-未知
* 1-建设中
* 5-关闭下线
* 6-维护中
* 50-正常使用
*/
@JSONField(name = "OpreateStatus")
private Integer opreateStatus;
/**
* 国家标准
*/
@JSONField(name = "NationalStandard")
private Integer nationalStandard;
/**
* 辅助电源
*/
@JSONField(name = "AuxPower")
private Integer auxPower;
/**
* 运营时间
*/
@JSONField(name = "OpreateHours")
private String opreateHours;
}

View File

@@ -0,0 +1,217 @@
package com.jsowell.pile.thirdparty;
import com.alibaba.fastjson2.annotation.JSONField;
import com.jsowell.pile.thirdparty.dto.ConnectorInfoDTO;
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 EquipmentInfoDTO {
/**
* 设备编码 Y
* 设备唯一编码,对同一对接平台,保证唯一
*/
@JSONField(name = "EquipmentID")
private String equipmentID;
/**
* 设备唯一编码
*设备生产商组织机构代 码 9 位+设备出厂唯一 编码
*/
@JSONField(name = "EquipmentUniqueNumber")
private String equipmentUniqueNumber;
/**
* 设备生产商组织机构代码 Y
*/
@JSONField(name = "ManufacturerID")
private String manufacturerID;
/**
* 设备生产商名称
*/
@JSONField(name = "ManufacturerName")
private String manufacturerName;
/**
* 设备型号 N
* 由设备生厂商定义的设备型号
*/
@JSONField(name = "EquipmentModel")
private String equipmentModel;
/**
* 设备名称 N
*/
@JSONField(name = "EquipmentName")
private String equipmentName;
/**
* 设备生产日期 N
* YYYY-MM-DD
*/
@JSONField(name = "ProductionDate")
private String productionDate;
/**
* 建设时间 Y
* YYYY-MM-DD
*/
@JSONField(name = "ConstructionTime")
private String constructionTime;
/**
* 设备类型(1-直流设备2-交流设备3-交直流一体设备) Y
*/
@JSONField(name = "EquipmentType")
private Integer equipmentType;
/**
* 设备分类
* 1车辆充电设备 2换电站内的电池箱 充电设备
*/
@JSONField(name = "EquipmentClassification")
private Integer equipmentClassification;
/**
* 设备状态 Y
* 0未知
* 1建设中
* 5关闭下线
* 6维护中
* 50正常使用
*/
@JSONField(name = "EquipmentStatus")
private Integer equipmentStatus;
/**
* 充电设备用途
* 1公用
* 2专用
* 3个人分时共享
* 4限制类公用
* 9其他
*/
@JSONField(name = "EquipmentApplication")
private String equipmentApplication;
/**
* 额定功率(单位kW) Y
*/
@JSONField(name = "EquipmentPower")
private BigDecimal equipmentPower;
/**
* 新国标(0-否1-是) Y
* 是否新国标
*/
@JSONField(name = "NewNationalStandard")
private Integer newNationalStandard;
/**
* 充电设备接口列表 Y
* 该充电设备所有的充电设备接口的信息对象集合
*/
@JSONField(name = "ConnectorInfos")
private List<ConnectorInfoDTO> connectorInfos;
/**
* 充电设备经度 N
* GCJ-02坐标系
*/
@JSONField(name = "EquipmentLng")
private BigDecimal equipmentLng;
/**
* 充电设备纬度 N
* GCJ-02坐标系
*/
@JSONField(name = "EquipmentLat")
private BigDecimal equipmentLat;
/**
* 是否支持VIN码识别(0-否1-是) Y
*/
@JSONField(name = "VinFlag")
private Integer vinFlag;
/**
* 设备总功率
*/
@JSONField(name = "Power")
private BigDecimal power;
/**
* 设备开通时间
*/
@JSONField(name = "OpenDate")
private String openDate;
/**
* 设备投资金额
*/
@JSONField(name = "EquipmentInvestment")
private BigDecimal equipmentInvestment;
/**
* 设备出厂序号
*/
@JSONField(name = "ProductSN")
private String productSN;
/**
* 是否支持自动识别VIN码
*/
@JSONField(name = "SVIN")
private Integer svin;
/**
* 是否支持有序充电
*/
@JSONField(name = "SautoPower")
private Integer sautoPower;
/**
* 额定电压上限
*/
@JSONField(name = "VoltageUpperLimits")
private BigDecimal voltageUpperLimits;
/**
* 额定电压下限
*/
@JSONField(name = "VoltageLowerLimits")
private BigDecimal voltageLowerLimits;
/**
* 额定电流
*/
@JSONField(name = "Current")
private BigDecimal current;
/**
* 站点额定功率
*/
private BigDecimal stationRatedPower;
/**
*报装户号
* 如整个站按一个户号立户的则站内所以设备的户号为同一个如果是桩立户则为桩实际立户户号。20 字符。
*/
@JSONField(name = "ConsNo")
private String ConsNo;
}

View File

@@ -63,6 +63,11 @@ public class StationInfoVO {
*/
private String totalPrice;
/**
* 对外展示VIP价格标识(0-不展示; 1-展示)
*/
private String displayFlag;
/**
* vip电费
*/

View File

@@ -42,6 +42,11 @@ public class BillingPriceVO {
*/
private String totalPrice;
/**
* 对外展示VIP价格标识(0-不展示; 1-展示)
*/
private String displayFlag;
/**
* vip电费
*/

View File

@@ -42,6 +42,11 @@ public class CurrentTimePriceDetails {
*/
private String totalPrice;
/**
* 对外展示VIP价格标识(0-不展示; 1-展示)
*/
private String displayFlag;
/**
* vip电费
*/

View File

@@ -40,6 +40,11 @@ public class BillingTemplateVO {
*/
private String memberFlag;
/**
* 对外展示VIP价格标识(0-不展示; 1-展示)
*/
private String displayFlag;
// 计费模板备注
private String remark;