tidy up enum usuage and api problems around charges during review and testing.
This commit is contained in:
@@ -73,8 +73,8 @@ public class ChargesApiResource {
|
|||||||
public String retrieveNewChargeDetails(@Context final UriInfo uriInfo) {
|
public String retrieveNewChargeDetails(@Context final UriInfo uriInfo) {
|
||||||
|
|
||||||
Set<String> typicalResponseParameters = new HashSet<String>(
|
Set<String> typicalResponseParameters = new HashSet<String>(
|
||||||
Arrays.asList("name", "amount", "currency", "currencyOptions", "chargeAppliesTo", "chargeTimeType",
|
Arrays.asList("id", "name", "amount", "currency", "active", "chargeAppliesTo", "chargeTimeType",
|
||||||
"chargeCalculationType", "chargeCalculationTypeOptions", "active")
|
"chargeCalculationType", "chargeCalculationTypeOptions", "currencyOptions")
|
||||||
);
|
);
|
||||||
|
|
||||||
Set<String> responseParameters = ApiParameterHelper.extractFieldsForResponseIfProvided(uriInfo.getQueryParameters());
|
Set<String> responseParameters = ApiParameterHelper.extractFieldsForResponseIfProvided(uriInfo.getQueryParameters());
|
||||||
|
|||||||
@@ -3,65 +3,105 @@ package org.mifosng.platform.api.data;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Immutable data object for charge data.
|
||||||
|
*/
|
||||||
public class ChargeData {
|
public class ChargeData {
|
||||||
|
|
||||||
private Long id;
|
private final Long id;
|
||||||
private String name;
|
private final String name;
|
||||||
private BigDecimal amount;
|
private final boolean active;
|
||||||
private String currencyCode;
|
private final CurrencyData currency;
|
||||||
private EnumOptionData chargeTimeType;
|
private final BigDecimal amount;
|
||||||
private EnumOptionData chargeAppliesTo;
|
private final EnumOptionData chargeTimeType;
|
||||||
private EnumOptionData chargeCalculationType;
|
private final EnumOptionData chargeAppliesTo;
|
||||||
|
private final EnumOptionData chargeCalculationType;
|
||||||
|
|
||||||
private boolean active;
|
private final List<CurrencyData> currencyOptions;
|
||||||
|
private final List<EnumOptionData> chargeCalculationTypeOptions;
|
||||||
|
|
||||||
|
public static ChargeData template(
|
||||||
|
final EnumOptionData chargeTimeType,
|
||||||
|
final EnumOptionData chargeAppliesToType,
|
||||||
|
final EnumOptionData chargeCalculationType,
|
||||||
|
final List<CurrencyData> currencyOptions,
|
||||||
|
final List<EnumOptionData> chargeCalculationTypeOptions) {
|
||||||
|
return new ChargeData(null, null, null, null, chargeTimeType, chargeAppliesToType, chargeCalculationType, false, currencyOptions, chargeCalculationTypeOptions);
|
||||||
|
}
|
||||||
|
|
||||||
private List<CurrencyData> currencyOptions;
|
public ChargeData(final Long id, final String name,
|
||||||
private List<EnumOptionData> chargeCalculationTypeOptions;
|
final BigDecimal amount, final CurrencyData currency,
|
||||||
|
final EnumOptionData chargeTimeType,
|
||||||
|
final EnumOptionData chargeAppliesTo,
|
||||||
|
final EnumOptionData chargeCalculationType, final boolean active) {
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.amount = amount;
|
||||||
|
this.currency = currency;
|
||||||
|
this.chargeTimeType = chargeTimeType;
|
||||||
|
this.chargeAppliesTo = chargeAppliesTo;
|
||||||
|
this.chargeCalculationType = chargeCalculationType;
|
||||||
|
this.active = active;
|
||||||
|
this.currencyOptions = null;
|
||||||
|
this.chargeCalculationTypeOptions = null;
|
||||||
|
}
|
||||||
|
|
||||||
public ChargeData(Long id, String name, BigDecimal amount, String currencyCode, EnumOptionData chargeTimeType,
|
public ChargeData(final Long id, final String name,
|
||||||
EnumOptionData chargeAppliesTo, EnumOptionData chargeCalculationType, boolean active) {
|
final BigDecimal amount, final CurrencyData currency,
|
||||||
this.id = id;
|
final EnumOptionData chargeTimeType,
|
||||||
this.name = name;
|
final EnumOptionData chargeAppliesTo,
|
||||||
this.amount = amount;
|
final EnumOptionData chargeCalculationType, final boolean active,
|
||||||
this.currencyCode = currencyCode;
|
final List<CurrencyData> currencyOptions,
|
||||||
this.chargeTimeType = chargeTimeType;
|
final List<EnumOptionData> chargeCalculationTypeOptions) {
|
||||||
this.chargeAppliesTo = chargeAppliesTo;
|
this.id = id;
|
||||||
this.chargeCalculationType = chargeCalculationType;
|
this.name = name;
|
||||||
this.active = active;
|
this.amount = amount;
|
||||||
}
|
this.currency = currency;
|
||||||
|
this.chargeTimeType = chargeTimeType;
|
||||||
|
this.chargeAppliesTo = chargeAppliesTo;
|
||||||
|
this.chargeCalculationType = chargeCalculationType;
|
||||||
|
this.active = active;
|
||||||
|
this.currencyOptions = currencyOptions;
|
||||||
|
this.chargeCalculationTypeOptions = chargeCalculationTypeOptions;
|
||||||
|
}
|
||||||
|
|
||||||
public ChargeData(EnumOptionData chargeTimeType, EnumOptionData chargeAppliesTo, List<CurrencyData> currencyOptions, List<EnumOptionData> chargeCalculationTypeOptions) {
|
public Long getId() {
|
||||||
this.chargeTimeType = chargeTimeType;
|
return id;
|
||||||
this.chargeAppliesTo = chargeAppliesTo;
|
}
|
||||||
this.currencyOptions = currencyOptions;
|
|
||||||
this.chargeCalculationTypeOptions = chargeCalculationTypeOptions;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getId() {
|
public String getName() {
|
||||||
return id;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setId(Long id) {
|
public boolean isActive() {
|
||||||
this.id = id;
|
return active;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public BigDecimal getAmount() {
|
||||||
return name;
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CurrencyData getCurrency() {
|
||||||
|
return currency;
|
||||||
|
}
|
||||||
|
|
||||||
public void setName(String name) {
|
public EnumOptionData getChargeTimeType() {
|
||||||
this.name = name;
|
return chargeTimeType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BigDecimal getAmount() {
|
public EnumOptionData getChargeAppliesTo() {
|
||||||
return amount;
|
return chargeAppliesTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAmount(BigDecimal amount) {
|
public EnumOptionData getChargeCalculationType() {
|
||||||
this.amount = amount;
|
return chargeCalculationType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isActive() {
|
public List<CurrencyData> getCurrencyOptions() {
|
||||||
return active;
|
return currencyOptions;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
public List<EnumOptionData> getChargeCalculationTypeOptions() {
|
||||||
|
return chargeCalculationTypeOptions;
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-2
@@ -122,8 +122,8 @@ public class GoogleGsonApiJsonSerializerService implements ApiJsonSerializerServ
|
|||||||
);
|
);
|
||||||
|
|
||||||
private static final Set<String> CHARGES_DATA_PARAMETERS = new HashSet<String>(
|
private static final Set<String> CHARGES_DATA_PARAMETERS = new HashSet<String>(
|
||||||
Arrays.asList("id", "name", "amount", "currencyCode", "currencyOptions", "chargeAppliesTo", "chargeTimeType",
|
Arrays.asList("id", "name", "amount", "currency", "active", "chargeAppliesTo", "chargeTimeType",
|
||||||
"chargeCalculationType", "active")
|
"chargeCalculationType", "chargeCalculationTypeOptions", "currencyOptions")
|
||||||
);
|
);
|
||||||
|
|
||||||
private final GoogleGsonSerializerHelper helper;
|
private final GoogleGsonSerializerHelper helper;
|
||||||
|
|||||||
@@ -19,51 +19,47 @@ public class Charge extends AbstractAuditableCustom<AppUser, Long> {
|
|||||||
@Column(name = "amount", scale = 6, precision = 19, nullable = false)
|
@Column(name = "amount", scale = 6, precision = 19, nullable = false)
|
||||||
private BigDecimal amount;
|
private BigDecimal amount;
|
||||||
|
|
||||||
@Column(name = "currency_code", length=3)
|
@SuppressWarnings("unused")
|
||||||
|
@Column(name = "currency_code", length=3)
|
||||||
private String currencyCode;
|
private String currencyCode;
|
||||||
|
|
||||||
@Enumerated(EnumType.ORDINAL)
|
@SuppressWarnings("unused")
|
||||||
@Column(name = "charge_applies_to_enum", nullable = false)
|
@Column(name = "charge_applies_to_enum", nullable = false)
|
||||||
private ChargeAppliesTo chargeAppliesTo;
|
private Integer chargeAppliesTo;
|
||||||
|
|
||||||
@Enumerated(EnumType.ORDINAL)
|
@SuppressWarnings("unused")
|
||||||
@Column(name = "charge_time_enum", nullable = false)
|
@Column(name = "charge_time_enum", nullable = false)
|
||||||
private ChargeTimeType chargeTime;
|
private Integer chargeTime;
|
||||||
|
|
||||||
@Enumerated(EnumType.ORDINAL)
|
@SuppressWarnings("unused")
|
||||||
@Column(name = "charge_calculation_enum")
|
@Column(name = "charge_calculation_enum")
|
||||||
private ChargeCalculationMethod chargeCalculationMethod;
|
private Integer chargeCalculationMethod;
|
||||||
|
|
||||||
@Column(name = "is_active", nullable = false)
|
@SuppressWarnings("unused")
|
||||||
|
@Column(name = "is_active", nullable = false)
|
||||||
private boolean active;
|
private boolean active;
|
||||||
|
|
||||||
@Column(name = "is_deleted", nullable=false)
|
@Column(name = "is_deleted", nullable=false)
|
||||||
private boolean deleted = false;
|
private boolean deleted = false;
|
||||||
|
|
||||||
public static Charge createNew(String name, BigDecimal amount, String currencyCode, ChargeAppliesTo chargeAppliesTo,
|
public static Charge createNew(final String name, final BigDecimal amount, final String currencyCode,
|
||||||
ChargeTimeType chargeTime, ChargeCalculationMethod chargeCalculationMethod, boolean active){
|
final ChargeAppliesTo chargeAppliesTo, final ChargeTimeType chargeTime, final ChargeCalculationMethod chargeCalculationMethod, final boolean active) {
|
||||||
return new Charge(name, amount, currencyCode, chargeAppliesTo, chargeTime, chargeCalculationMethod, active);
|
return new Charge(name, amount, currencyCode, chargeAppliesTo, chargeTime, chargeCalculationMethod, active);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Charge() {
|
protected Charge() {
|
||||||
this.name = null;
|
//
|
||||||
this.amount = null;
|
|
||||||
this.currencyCode = null;
|
|
||||||
this.chargeAppliesTo = null;
|
|
||||||
this.chargeTime = null;
|
|
||||||
this.chargeCalculationMethod = null;
|
|
||||||
|
|
||||||
this.active = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Charge(String name, BigDecimal amount, String currencyCode, ChargeAppliesTo chargeAppliesTo,
|
public Charge(final String name, final BigDecimal amount, final String currencyCode,
|
||||||
ChargeTimeType chargeTime, ChargeCalculationMethod chargeCalculationMethod, boolean active) {
|
final ChargeAppliesTo chargeAppliesTo, final ChargeTimeType chargeTime,
|
||||||
|
final ChargeCalculationMethod chargeCalculationMethod, final boolean active) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.amount = amount;
|
this.amount = amount;
|
||||||
this.currencyCode = currencyCode;
|
this.currencyCode = currencyCode;
|
||||||
this.chargeAppliesTo = chargeAppliesTo;
|
this.chargeAppliesTo = chargeAppliesTo.getValue();
|
||||||
this.chargeTime = chargeTime;
|
this.chargeTime = chargeTime.getValue();
|
||||||
this.chargeCalculationMethod = chargeCalculationMethod;
|
this.chargeCalculationMethod = chargeCalculationMethod.getValue();
|
||||||
this.active = active;
|
this.active = active;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,15 +89,15 @@ public class Charge extends AbstractAuditableCustom<AppUser, Long> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (command.isChargeTimeTypeChanged()){
|
if (command.isChargeTimeTypeChanged()){
|
||||||
this.chargeTime = ChargeTimeType.fromInt(command.getChargeTimeType());
|
this.chargeTime = ChargeTimeType.fromInt(command.getChargeTimeType()).getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command.isChargeAppliesToChanged()){
|
if (command.isChargeAppliesToChanged()){
|
||||||
this.chargeAppliesTo = ChargeAppliesTo.fromInt(command.getChargeAppliesTo());
|
this.chargeAppliesTo = ChargeAppliesTo.fromInt(command.getChargeAppliesTo()).getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command.isChargeCalculationTypeChanged()){
|
if (command.isChargeCalculationTypeChanged()){
|
||||||
this.chargeCalculationMethod = ChargeCalculationMethod.fromInt(command.getChargeCalculationType());
|
this.chargeCalculationMethod = ChargeCalculationMethod.fromInt(command.getChargeCalculationType()).getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command.isActiveChanged()){
|
if (command.isActiveChanged()){
|
||||||
|
|||||||
+6
-5
@@ -1,8 +1,9 @@
|
|||||||
package org.mifosng.platform.charge.domain;
|
package org.mifosng.platform.charge.domain;
|
||||||
|
|
||||||
public enum ChargeAppliesTo {
|
public enum ChargeAppliesTo {
|
||||||
LOAN(0, "chargeAppliesTo.loan"),
|
|
||||||
INVALID(1, "chargeAppliesTo.invalid");
|
INVALID(0, "chargeAppliesTo.invalid"),
|
||||||
|
LOAN(1, "chargeAppliesTo.loan");
|
||||||
|
|
||||||
private final Integer value;
|
private final Integer value;
|
||||||
private final String code;
|
private final String code;
|
||||||
@@ -21,9 +22,9 @@ public enum ChargeAppliesTo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ChargeAppliesTo fromInt(final Integer chargeAppliesTo){
|
public static ChargeAppliesTo fromInt(final Integer chargeAppliesTo){
|
||||||
ChargeAppliesTo chargeAppliesToType = null;
|
ChargeAppliesTo chargeAppliesToType = ChargeAppliesTo.INVALID;
|
||||||
switch(chargeAppliesTo){
|
switch(chargeAppliesTo){
|
||||||
case 0:
|
case 1:
|
||||||
chargeAppliesToType = LOAN;
|
chargeAppliesToType = LOAN;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -32,4 +33,4 @@ public enum ChargeAppliesTo {
|
|||||||
}
|
}
|
||||||
return chargeAppliesToType;
|
return chargeAppliesToType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+13
-12
@@ -1,12 +1,13 @@
|
|||||||
package org.mifosng.platform.charge.domain;
|
package org.mifosng.platform.charge.domain;
|
||||||
|
|
||||||
public enum ChargeCalculationMethod {
|
public enum ChargeCalculationMethod {
|
||||||
FLAT(0, "chargeCalculationType.flat"),
|
|
||||||
PERCENT_OF_AMOUNT(1, "chargeCalculationType.percent.of.amount"),
|
INVALID(0, "chargeCalculationType.invalid"),
|
||||||
PERCENT_OF_AMOUNT_AND_INTEREST(2, "chargeCalculationType.percent.of.amount.and.interest"),
|
FLAT(1, "chargeCalculationType.flat"),
|
||||||
PERCENT_OF_INTEREST(3, "chargeCalculationType.percent.of.interest"),
|
PERCENT_OF_AMOUNT(2, "chargeCalculationType.percent.of.amount"),
|
||||||
INVALID(4, "chargeCalculationType.invalid");
|
PERCENT_OF_AMOUNT_AND_INTEREST(3, "chargeCalculationType.percent.of.amount.and.interest"),
|
||||||
|
PERCENT_OF_INTEREST(4, "chargeCalculationType.percent.of.interest");
|
||||||
|
|
||||||
private final Integer value;
|
private final Integer value;
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|
||||||
@@ -24,18 +25,18 @@ public enum ChargeCalculationMethod {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ChargeCalculationMethod fromInt(final Integer chargeCalculation){
|
public static ChargeCalculationMethod fromInt(final Integer chargeCalculation){
|
||||||
ChargeCalculationMethod chargeCalculationMethod = null;
|
ChargeCalculationMethod chargeCalculationMethod = ChargeCalculationMethod.INVALID;
|
||||||
switch(chargeCalculation){
|
switch(chargeCalculation){
|
||||||
case 0:
|
case 1:
|
||||||
chargeCalculationMethod = FLAT;
|
chargeCalculationMethod = FLAT;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 2:
|
||||||
chargeCalculationMethod = PERCENT_OF_AMOUNT;
|
chargeCalculationMethod = PERCENT_OF_AMOUNT;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 3:
|
||||||
chargeCalculationMethod = PERCENT_OF_AMOUNT_AND_INTEREST;
|
chargeCalculationMethod = PERCENT_OF_AMOUNT_AND_INTEREST;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 4:
|
||||||
chargeCalculationMethod = PERCENT_OF_INTEREST;
|
chargeCalculationMethod = PERCENT_OF_INTEREST;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -44,4 +45,4 @@ public enum ChargeCalculationMethod {
|
|||||||
}
|
}
|
||||||
return chargeCalculationMethod;
|
return chargeCalculationMethod;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+6
-5
@@ -1,8 +1,9 @@
|
|||||||
package org.mifosng.platform.charge.domain;
|
package org.mifosng.platform.charge.domain;
|
||||||
|
|
||||||
public enum ChargeTimeType {
|
public enum ChargeTimeType {
|
||||||
DISBURSEMENT(0, "chargeTimeType.disbursement"),
|
|
||||||
INVALID(1, "chargeTimeType.invalid");
|
INVALID(0, "chargeTimeType.invalid"),
|
||||||
|
DISBURSEMENT(1, "chargeTimeType.disbursement");
|
||||||
|
|
||||||
private final Integer value;
|
private final Integer value;
|
||||||
private final String code;
|
private final String code;
|
||||||
@@ -21,9 +22,9 @@ public enum ChargeTimeType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ChargeTimeType fromInt(final Integer chargeTime) {
|
public static ChargeTimeType fromInt(final Integer chargeTime) {
|
||||||
ChargeTimeType chargeTimeType = null;
|
ChargeTimeType chargeTimeType = ChargeTimeType.INVALID;
|
||||||
switch(chargeTime){
|
switch(chargeTime){
|
||||||
case 0:
|
case 1:
|
||||||
chargeTimeType = DISBURSEMENT;
|
chargeTimeType = DISBURSEMENT;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -32,4 +33,4 @@ public enum ChargeTimeType {
|
|||||||
}
|
}
|
||||||
return chargeTimeType;
|
return chargeTimeType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+6
-6
@@ -24,9 +24,9 @@ public class ChargeCommandValidator {
|
|||||||
baseDataValidator.reset().parameter("name").value(command.getName()).notBlank().notExceedingLengthOf(100);
|
baseDataValidator.reset().parameter("name").value(command.getName()).notBlank().notExceedingLengthOf(100);
|
||||||
baseDataValidator.reset().parameter("amount").value(command.getAmount()).notNull().positiveAmount();
|
baseDataValidator.reset().parameter("amount").value(command.getAmount()).notNull().positiveAmount();
|
||||||
baseDataValidator.reset().parameter("currencyCode").value(command.getCurrencyCode()).notBlank();
|
baseDataValidator.reset().parameter("currencyCode").value(command.getCurrencyCode()).notBlank();
|
||||||
baseDataValidator.reset().parameter("chargeAppliesTo").value(command.getChargeAppliesTo()).notNull().inMinMaxRange(0, 0);
|
baseDataValidator.reset().parameter("chargeAppliesTo").value(command.getChargeAppliesTo()).notNull().inMinMaxRange(1, 1);
|
||||||
baseDataValidator.reset().parameter("chargeTimeType").value(command.getChargeTimeType()).notNull().inMinMaxRange(0, 0);
|
baseDataValidator.reset().parameter("chargeTimeType").value(command.getChargeTimeType()).notNull().inMinMaxRange(1, 1);
|
||||||
baseDataValidator.reset().parameter("chargeCalculationMethod").value(command.getChargeCalculationType()).notNull().inMinMaxRange(0, 3);
|
baseDataValidator.reset().parameter("chargeCalculationType").value(command.getChargeCalculationType()).notNull().inMinMaxRange(1, 4);
|
||||||
|
|
||||||
if (!dataValidationErrors.isEmpty()) {
|
if (!dataValidationErrors.isEmpty()) {
|
||||||
throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist", "Validation errors exist.", dataValidationErrors);
|
throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist", "Validation errors exist.", dataValidationErrors);
|
||||||
@@ -42,9 +42,9 @@ public class ChargeCommandValidator {
|
|||||||
baseDataValidator.reset().parameter("name").value(command.getName()).ignoreIfNull().notBlank().notExceedingLengthOf(100);
|
baseDataValidator.reset().parameter("name").value(command.getName()).ignoreIfNull().notBlank().notExceedingLengthOf(100);
|
||||||
baseDataValidator.reset().parameter("amount").value(command.getAmount()).ignoreIfNull().positiveAmount();
|
baseDataValidator.reset().parameter("amount").value(command.getAmount()).ignoreIfNull().positiveAmount();
|
||||||
baseDataValidator.reset().parameter("currencyCode").value(command.getCurrencyCode()).ignoreIfNull().notBlank();
|
baseDataValidator.reset().parameter("currencyCode").value(command.getCurrencyCode()).ignoreIfNull().notBlank();
|
||||||
baseDataValidator.reset().parameter("chargeAppliesTo").value(command.getChargeAppliesTo()).ignoreIfNull().notNull().inMinMaxRange(0, 0);
|
baseDataValidator.reset().parameter("chargeAppliesTo").value(command.getChargeAppliesTo()).ignoreIfNull().notNull().inMinMaxRange(1, 1);
|
||||||
baseDataValidator.reset().parameter("chargeTimeType").value(command.getChargeTimeType()).ignoreIfNull().notNull().inMinMaxRange(0, 0);
|
baseDataValidator.reset().parameter("chargeTimeType").value(command.getChargeTimeType()).ignoreIfNull().notNull().inMinMaxRange(1, 1);
|
||||||
baseDataValidator.reset().parameter("chargeCalculationMethod").value(command.getChargeCalculationType()).ignoreIfNull().notNull().inMinMaxRange(0, 3);
|
baseDataValidator.reset().parameter("chargeCalculationType").value(command.getChargeCalculationType()).ignoreIfNull().notNull().inMinMaxRange(1, 4);
|
||||||
|
|
||||||
if (!dataValidationErrors.isEmpty()) {
|
if (!dataValidationErrors.isEmpty()) {
|
||||||
throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist", "Validation errors exist.", dataValidationErrors);
|
throw new PlatformApiDataValidationException("validation.msg.validation.errors.exist", "Validation errors exist.", dataValidationErrors);
|
||||||
|
|||||||
+4
-2
@@ -83,8 +83,9 @@ public class ChargeReadPlatformServiceImpl implements ChargeReadPlatformService
|
|||||||
);
|
);
|
||||||
EnumOptionData allowedChargeAppliesTo = chargeAppliesTo(ChargeAppliesTo.LOAN);
|
EnumOptionData allowedChargeAppliesTo = chargeAppliesTo(ChargeAppliesTo.LOAN);
|
||||||
EnumOptionData allowedChargeTime = chargeTimeType(ChargeTimeType.DISBURSEMENT);
|
EnumOptionData allowedChargeTime = chargeTimeType(ChargeTimeType.DISBURSEMENT);
|
||||||
|
EnumOptionData allowedChargeCalculationType = chargeCalculationType(ChargeCalculationMethod.FLAT);
|
||||||
|
|
||||||
return new ChargeData(allowedChargeTime, allowedChargeAppliesTo, currencyOptions, allowedChargeCalculationMethods);
|
return ChargeData.template(allowedChargeTime, allowedChargeAppliesTo, allowedChargeCalculationType, currencyOptions, allowedChargeCalculationMethods);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final class ChargeMapper implements RowMapper<ChargeData> {
|
private static final class ChargeMapper implements RowMapper<ChargeData> {
|
||||||
@@ -101,6 +102,7 @@ public class ChargeReadPlatformServiceImpl implements ChargeReadPlatformService
|
|||||||
String name = rs.getString("name");
|
String name = rs.getString("name");
|
||||||
BigDecimal amount = rs.getBigDecimal("amount");
|
BigDecimal amount = rs.getBigDecimal("amount");
|
||||||
String currencyCode = rs.getString("currencyCode");
|
String currencyCode = rs.getString("currencyCode");
|
||||||
|
CurrencyData currency = new CurrencyData(currencyCode, "", 0, "", "");
|
||||||
|
|
||||||
int chargeAppliesTo = rs.getInt("chargeAppliesTo");
|
int chargeAppliesTo = rs.getInt("chargeAppliesTo");
|
||||||
EnumOptionData chargeAppliesToType = ChargeEnumerations.chargeAppliesTo(chargeAppliesTo);
|
EnumOptionData chargeAppliesToType = ChargeEnumerations.chargeAppliesTo(chargeAppliesTo);
|
||||||
@@ -113,7 +115,7 @@ public class ChargeReadPlatformServiceImpl implements ChargeReadPlatformService
|
|||||||
|
|
||||||
boolean active = rs.getBoolean("active");
|
boolean active = rs.getBoolean("active");
|
||||||
|
|
||||||
return new ChargeData(id, name, amount, currencyCode, chargeTimeType, chargeAppliesToType, chargeCalculationType, active);
|
return new ChargeData(id, name, amount, currency, chargeTimeType, chargeAppliesToType, chargeCalculationType, active);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user