Commit 31586056 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.邮件发送服务代码修改,修改配置文件及发送逻辑,解决邮件名称唯一性;
2.邮件接收功能修改,解决邮件接收协议修改后导致的一系列问题;
3.长期间开优化功能修改,修改定时任务处理逻辑及执行周期;
4.中期间开优化功能修改,修改定时任务处理逻辑及执行周期;
5.超长期间开优化功能开发,开发相关接口及定时任务,创建对应数据表,生成对应接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 143d17b5
......@@ -28,6 +28,10 @@ public class ThirdActivePowerDailyUpdateEnt implements Serializable {
@TableField
private String stationName;
@XText("井组ID(线路/光伏电站)")
@TableField
private String stationId;
@XText("创建时间")
@TableField
private Date createDate;
......
......@@ -30,6 +30,10 @@ public class ThirdActivePowerDailyUpdateView implements Serializable {
@TableField
private String stationName;
@XText("井组ID(线路/光伏电站)")
@TableField
private String stationId;
@XText("创建时间")
@TableField
private Date createDate;
......
......@@ -28,6 +28,10 @@ public class ThirdActivePowerEnt implements Serializable {
@TableField
private String stationName;
@XText("井组ID(线路/光伏电站)")
@TableField
private String stationId;
@XText("创建时间")
@TableField
private Date createDate;
......
......@@ -30,6 +30,10 @@ public class ThirdActivePowerView implements Serializable {
@TableField
private String stationName;
@XText("井组ID(线路/光伏电站)")
@TableField
private String stationId;
@XText("创建时间")
@TableField
private Date createDate;
......
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class CreateThirdActivePowerInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class CreateThirdActivePowerOutput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class DeleteThirdActivePowerInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class DeleteThirdActivePowerOutput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class DynamicQueryThirdActivePowerInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class DynamicQueryThirdActivePowerOutput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class DynamicQueryThirdActivePowerViewOutput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class GetThirdActivePowerInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class GetThirdActivePowerOutput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class GetThirdActivePowerViewInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
import xstartup.base.data.XPageInput;
public class QueryThirdActivePowerInput extends XPageInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
import xstartup.base.data.XPageInput;
public class QueryThirdActivePowerOutput extends XPageInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
import xstartup.base.data.XPageInput;
public class QueryThirdActivePowerViewInput extends XPageInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
import xstartup.base.data.XPageInput;
public class QueryThirdActivePowerViewOutput extends XPageInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class UpdateThirdActivePowerInput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
package pps.core.prediction.service.data.third_active_power;
import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal;
public class UpdateThirdActivePowerOutput {
@XText("ID")
private Long id;
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("创建时间")
private Date createDate;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getStationName() {
return this.stationName;
}
public void setStationName(String value) {
this.stationName = value;
}
public Date getCreateDate() {
return this.createDate;
}
public void setCreateDate(Date value) {
this.createDate = value;
}
public BigDecimal getPhotovoltaicPower() {
return this.photovoltaicPower;
}
public void setPhotovoltaicPower(BigDecimal value) {
this.photovoltaicPower = value;
}
public BigDecimal getMeterPower() {
return this.meterPower;
}
public void setMeterPower(BigDecimal value) {
this.meterPower = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
}
......@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.ThirdActivePowerDailyUpdateView">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="station_name" property="stationName" jdbcType="VARCHAR"/>
<result column="station_id" property="stationId" jdbcType="VARCHAR"/>
<result column="create_date" property="createDate" jdbcType="DATE"/>
<result column="photovoltaic_power" property="photovoltaicPower" jdbcType="DECIMAL"/>
<result column="meter_power" property="meterPower" jdbcType="DECIMAL"/>
......@@ -15,6 +16,7 @@
id
,
station_name,
station_id,
create_date,
photovoltaic_power,
meter_power,
......@@ -50,12 +52,14 @@
</delete>
<insert id="batchInsertList" parameterType="java.util.List">
insert into third_active_power_daily_update (station_name, create_date, photovoltaic_power, meter_power,
insert into third_active_power_daily_update (station_name, station_id, create_date, photovoltaic_power,
meter_power,
system_source, save_date, save_hour)
values
<foreach collection="list" item="item" separator=",">
(
#{item.stationName},
#{item.stationId},
#{item.createDate},
#{item.photovoltaicPower},
#{item.meterPower},
......
......@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.ThirdActivePowerView">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="station_name" property="stationName" jdbcType="VARCHAR"/>
<result column="station_id" property="stationId" jdbcType="VARCHAR"/>
<result column="create_date" property="createDate" jdbcType="DATE"/>
<result column="photovoltaic_power" property="photovoltaicPower" jdbcType="DECIMAL"/>
<result column="meter_power" property="meterPower" jdbcType="DECIMAL"/>
......@@ -13,6 +14,7 @@
id
,
station_name,
station_id,
create_date,
photovoltaic_power,
meter_power,
......@@ -34,11 +36,13 @@
</select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO third_active_power ( station_name, create_date, photovoltaic_power, meter_power, system_source )
INSERT INTO third_active_power ( station_name, station_id, create_date, photovoltaic_power, meter_power,
system_source )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.stationName},
#{item.stationId},
#{item.createDate},
#{item.photovoltaicPower},
#{item.meterPower},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment