diff --git a/pom.xml b/pom.xml
index c9f7abb..7eb201d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.mobiera.libs
aircast-api
- 2.56
+ 2.58
Aircast API
Client Library for Mobiera Aircast Containers
https://github.com/mobiera/aircast-api
diff --git a/src/main/java/com/mobiera/aircast/api/v1/sms/SmsRequest.java b/src/main/java/com/mobiera/aircast/api/v1/sms/SmsRequest.java
index 29dfe48..9b102b0 100644
--- a/src/main/java/com/mobiera/aircast/api/v1/sms/SmsRequest.java
+++ b/src/main/java/com/mobiera/aircast/api/v1/sms/SmsRequest.java
@@ -25,6 +25,8 @@ public abstract class SmsRequest implements Serializable
private String imsi;
private Dcs dcs;
private Long campaignId;
+ private Long campaignScheduleId;
+
private Boolean dlr;
private Boolean requestDeliveryReport;
@@ -88,6 +90,12 @@ public Boolean getTesting() {
public void setTesting(Boolean testing) {
this.testing = testing;
}
+ public Long getCampaignScheduleId() {
+ return campaignScheduleId;
+ }
+ public void setCampaignScheduleId(Long campaignScheduleId) {
+ this.campaignScheduleId = campaignScheduleId;
+ }
diff --git a/src/main/java/com/mobiera/aircast/api/vo/CampaignScheduleVO.java b/src/main/java/com/mobiera/aircast/api/vo/CampaignScheduleVO.java
index 4d4c922..c52aa55 100644
--- a/src/main/java/com/mobiera/aircast/api/vo/CampaignScheduleVO.java
+++ b/src/main/java/com/mobiera/aircast/api/vo/CampaignScheduleVO.java
@@ -9,6 +9,7 @@
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.mobiera.aircast.commons.enums.CampaignPriority;
+import com.mobiera.aircast.commons.enums.CampaignType;
import com.mobiera.commons.enums.ClassType;
import com.mobiera.commons.enums.EntityState;
import com.mobiera.commons.enums.Knowledge;
@@ -52,6 +53,7 @@ public class CampaignScheduleVO implements Serializable {
private List allowedTransitionStates;
private String campaignName;
+ private CampaignType campaignType;
@UI( widgetType = WidgetType.HIDDEN,
mode = Mode.READ_ONLY,
@@ -303,11 +305,51 @@ public class CampaignScheduleVO implements Serializable {
description="Today Ctr")
private String todayCtr;
+ @Section(name = "KPIS")
+ @UI( widgetType = WidgetType.TEXT,
+ mode = Mode.READ_ONLY,
+ label="dr",
+ description="Today Delivery Rate")
+ private String todayDr;
+
private String todayCtrPercentColor;
+ private String todayDrPercentColor;
+ public String getTodayDr() {
+ return todayDr;
+ }
+
+ public void setTodayDr(String todayDr) {
+ this.todayDr = todayDr;
+ }
+
+ public String getTodayDrPercentColor() {
+ return todayDrPercentColor;
+ }
+
+ public void setTodayDrPercentColor(String todayDrPercentColor) {
+ this.todayDrPercentColor = todayDrPercentColor;
+ }
+
+ public String getAllTimeDr() {
+ return allTimeDr;
+ }
+
+ public void setAllTimeDr(String allTimeDr) {
+ this.allTimeDr = allTimeDr;
+ }
+
+ public String getAllTimeDrPercentColor() {
+ return allTimeDrPercentColor;
+ }
+
+ public void setAllTimeDrPercentColor(String allTimeDrPercentColor) {
+ this.allTimeDrPercentColor = allTimeDrPercentColor;
+ }
+
@Section(name = "KPIS")
@UI( widgetType = WidgetType.TEXT,
mode = Mode.READ_ONLY,
@@ -345,11 +387,24 @@ public class CampaignScheduleVO implements Serializable {
description="All Time Ctr")
private String allTimeCtr;
+ @Section(name = "KPIS")
+ @UI( widgetType = WidgetType.TEXT,
+ mode = Mode.READ_ONLY,
+ label="dr",
+ description="All Time Dr")
+ private String allTimeDr;
+
+
private String allTimeCtrPercentColor;
+ private String allTimeDrPercentColor;
private Float todayEfficiency; // percent
private Float allTimeEfficiency; // percent
+ private Float todayDrEfficiency; // percent
+ private Float allTimeDrEfficiency; // percent
+
+
@UI( widgetType = WidgetType.SELECT, mode = Mode.READ_ONLY, label="Creator", description="Creator")
@Section( name = "BASIC_INFORMATION")
@TargetClass(type=ClassType.VO, name="UserVO")
@@ -875,6 +930,30 @@ public String getAllTimeCtrPercentColor() {
return allTimeCtrPercentColor;
}
+ public CampaignType getCampaignType() {
+ return campaignType;
+ }
+
+ public void setCampaignType(CampaignType campaignType) {
+ this.campaignType = campaignType;
+ }
+
+ public Float getTodayDrEfficiency() {
+ return todayDrEfficiency;
+ }
+
+ public void setTodayDrEfficiency(Float todayDrEfficiency) {
+ this.todayDrEfficiency = todayDrEfficiency;
+ }
+
+ public Float getAllTimeDrEfficiency() {
+ return allTimeDrEfficiency;
+ }
+
+ public void setAllTimeDrEfficiency(Float allTimeDrEfficiency) {
+ this.allTimeDrEfficiency = allTimeDrEfficiency;
+ }
+
diff --git a/src/main/java/com/mobiera/aircast/api/vo/ad/AdVO.java b/src/main/java/com/mobiera/aircast/api/vo/ad/AdVO.java
index 0ab3d84..6b81c5f 100644
--- a/src/main/java/com/mobiera/aircast/api/vo/ad/AdVO.java
+++ b/src/main/java/com/mobiera/aircast/api/vo/ad/AdVO.java
@@ -267,13 +267,27 @@ public class AdVO implements Serializable
)
private Float efficiency; // percent
+ @UI( widgetType = WidgetType.HIDDEN,
+ mode = Mode.READ_ONLY
+ )
+ private Float drEfficiency; // percent
+
+
@UI( widgetType = WidgetType.TEXT,
mode = Mode.READ_ONLY,
label="ctr",
description="ctr")
private String ctr;
+ @UI( widgetType = WidgetType.TEXT,
+ mode = Mode.READ_ONLY,
+ label="dr",
+ description="dr")
+ private String dr;
+
+
+
@UI( widgetType = WidgetType.TEXT,
mode = Mode.READ_ONLY,
label="all time sent",
@@ -306,7 +320,13 @@ public class AdVO implements Serializable
private Float allTimeEfficiency; // percent
+ @UI( widgetType = WidgetType.HIDDEN,
+ mode = Mode.READ_ONLY
+ )
+ private Float allTimeDrEfficiency; // percent
+
+
@UI( widgetType = WidgetType.TEXT,
mode = Mode.READ_ONLY,
label="all time ctr",
@@ -314,11 +334,20 @@ public class AdVO implements Serializable
private String allTimeCtr;
+ @UI( widgetType = WidgetType.TEXT,
+ mode = Mode.READ_ONLY,
+ label="all time dr",
+ description="all time dr")
+ private String allTimeDr;
+
private String allTimeCtrColor;
private String todayCtrColor;
+ private String allTimeDrColor;
+ private String todayDrColor;
+
public String getTodayCtrColor() {
@@ -343,6 +372,27 @@ public String getTodayCtrColor() {
}
+ public String getTodayDrColor() {
+
+ Float e = getDrEfficiency();
+ todayDrColor = BLACK;
+
+ if (e != null) {
+
+ if (e > 0.75f) {
+ todayDrColor = GREEN;
+ } else if (e > 0.50f) {
+ todayDrColor = ORANGE;
+ } else if (e == 0) {
+ todayDrColor = BLACK;
+ } else {
+ todayDrColor = RED;
+ }
+ }
+
+ return todayDrColor;
+ }
+
public String getAllTimeCtrColor() {
Float e = getAllTimeEfficiency();
@@ -363,6 +413,28 @@ public String getAllTimeCtrColor() {
return allTimeCtrColor;
}
+
+
+ public String getAllTimeDrColor() {
+
+ Float e = getAllTimeDrEfficiency();
+ allTimeDrColor = BLACK;
+
+ if (e != null) {
+
+ if (e > 0.75f) {
+ allTimeDrColor = GREEN;
+ } else if (e > 0.5f) {
+ allTimeDrColor = ORANGE;
+ } else if (e == 0) {
+ allTimeDrColor = BLACK;
+ } else {
+ allTimeDrColor = RED;
+ }
+ }
+
+ return allTimeDrColor;
+ }
@UI( widgetType = WidgetType.HIDDEN,
mode = Mode.READ_ONLY
@@ -549,6 +621,20 @@ public Float getEfficiency() {
return efficiency;
}
+ public Float getDrEfficiency() {
+
+
+ if ((todayDlred != null) && (todaySent != null) && (todaySent != 0)) {
+
+ drEfficiency = todayDlred.floatValue() / todaySent.floatValue();
+ } else {
+
+ drEfficiency = 0f;
+ }
+
+ return drEfficiency;
+ }
+
public Float getAllTimeEfficiency() {
//logger.info("AAA1 campaignFk: " + campaignFk + " allTimeEfficiency: " + allTimeEfficiency + " allDlred: " + allDlred + " allOk2: " + allOk2);
@@ -567,6 +653,28 @@ public Float getAllTimeEfficiency() {
//}
return allTimeEfficiency;
}
+
+
+ public Float getAllTimeDrEfficiency() {
+ //logger.info("AAA1 campaignFk: " + campaignFk + " allTimeEfficiency: " + allTimeEfficiency + " allDlred: " + allDlred + " allOk2: " + allOk2);
+
+ //if (allTimeEfficiency == null) {
+ // logger.info("AAA2 campaignFk: " + campaignFk + " allTimeEfficiency: " + allTimeEfficiency + " allDlred: " + allDlred + " allOk2: " + allOk2);
+
+ if ((allDlred != null) && (allSent != null) && (allSent != 0)) {
+ // logger.info("AAA3 campaignFk: " + campaignFk + " allTimeEfficiency: " + allTimeEfficiency + " allDlred: " + allDlred + " allOk2: " + allOk2);
+
+ allTimeDrEfficiency = allDlred.floatValue() / allSent.floatValue();
+ } else {
+ // logger.info("AAA4 campaignFk: " + campaignFk + " allTimeEfficiency: " + allTimeEfficiency + " allDlred: " + allDlred + " allOk2: " + allOk2);
+
+ allTimeDrEfficiency = 0f;
+ }
+ //}
+ return allTimeDrEfficiency;
+ }
+
+
public void setEfficiency(Float efficiency) {
this.efficiency = efficiency;
}
@@ -595,6 +703,16 @@ public String getCtr() {
return "0.0%";
}
+ }
+ public String getDr() {
+
+ Float e = this.getDrEfficiency();
+ if ((e != null) && (e != 0)) {
+ return (decFormat.format(this.getDrEfficiency()));
+ } else {
+ return "0.0%";
+ }
+
}
public void setCtr(String ctr) {
this.ctr = ctr;
@@ -665,6 +783,19 @@ public String getAllTimeCtr() {
}
+
+ public String getAllTimeDr() {
+
+ Float e = this.getAllTimeDrEfficiency();
+ if ((e != null) && (e != 0)) {
+ return (decFormat.format(this.getAllTimeDrEfficiency()));
+ } else {
+ return "0.0%";
+ }
+
+ }
+
+
public String getAllTimeViewed() {
if (this.getAllViewed1() != null) {
if (this.getAllViewed1() < 1000) {
@@ -831,6 +962,36 @@ public void setAllTimeCtrColor(String allTimeCtrColor) {
public void setTodayCtrColor(String todayCtrColor) {
this.todayCtrColor = todayCtrColor;
}
+
+
+ public void setDrEfficiency(Float drEfficiency) {
+ this.drEfficiency = drEfficiency;
+ }
+
+
+ public void setDr(String dr) {
+ this.dr = dr;
+ }
+
+
+ public void setAllTimeDrEfficiency(Float allTimeDrEfficiency) {
+ this.allTimeDrEfficiency = allTimeDrEfficiency;
+ }
+
+
+ public void setAllTimeDr(String allTimeDr) {
+ this.allTimeDr = allTimeDr;
+ }
+
+
+ public void setAllTimeDrColor(String allTimeDrColor) {
+ this.allTimeDrColor = allTimeDrColor;
+ }
+
+
+ public void setTodayDrColor(String todayDrColor) {
+ this.todayDrColor = todayDrColor;
+ }
}