completed zesa journey
This commit is contained in:
@@ -8,10 +8,16 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import zw.qantra.tm.domain.enums.ChargeConditionType;
|
||||
import zw.qantra.tm.domain.enums.ChargeLabelEnum;
|
||||
import zw.qantra.tm.domain.enums.CurrencyType;
|
||||
import zw.qantra.tm.domain.models.Category;
|
||||
import zw.qantra.tm.domain.models.Charge;
|
||||
import zw.qantra.tm.domain.models.ChargeCondition;
|
||||
import zw.qantra.tm.domain.models.PaymentProcessor;
|
||||
import zw.qantra.tm.domain.models.Provider;
|
||||
import zw.qantra.tm.domain.services.ChargeConditionService;
|
||||
import zw.qantra.tm.domain.services.ChargeService;
|
||||
import zw.qantra.tm.domain.services.CategoryService;
|
||||
import zw.qantra.tm.domain.services.PaymentProcessorService;
|
||||
import zw.qantra.tm.domain.services.ProviderService;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
@@ -24,9 +30,90 @@ import java.util.List;
|
||||
public class ConfigController {
|
||||
private final ChargeConditionService chargeConditionService;
|
||||
private final ChargeService chargeService;
|
||||
|
||||
@GetMapping("/charges")
|
||||
private final PaymentProcessorService paymentProcessorService;
|
||||
private final ProviderService providerService;
|
||||
private final CategoryService categoryService;
|
||||
|
||||
@GetMapping("/seed")
|
||||
public ResponseEntity charges(){
|
||||
// clear existing categories before seeding
|
||||
categoryService.getCategoryRepository().deleteAll();
|
||||
// seed categories
|
||||
List<Category> categories = Arrays.asList(
|
||||
Category.builder()
|
||||
.name("Airtime")
|
||||
.description("Airtime for local mobile networks")
|
||||
.label("AIRTIME")
|
||||
.build(),
|
||||
Category.builder()
|
||||
.name("Utilities")
|
||||
.description("Council bills & rates")
|
||||
.label("UTILITIES")
|
||||
.build()
|
||||
);
|
||||
categoryService.getCategoryRepository().saveAll(categories);
|
||||
|
||||
// clear existing providers before seeding
|
||||
providerService.getProviderRepository().deleteAll();
|
||||
|
||||
// seed providers
|
||||
List<Provider> providers = Arrays.asList(
|
||||
Provider.builder()
|
||||
.description("Econet Airtime")
|
||||
.clientId("econet_airtime")
|
||||
.label("ECONET")
|
||||
.category("AIRTIME")
|
||||
.image("econet.png")
|
||||
.externalId("78f1f497-c9eb-401c-b22c-884756e68e40")
|
||||
.build(),
|
||||
Provider.builder()
|
||||
.description("NetOne Airtime")
|
||||
.clientId("netone_usd_airtime")
|
||||
.label("NETONE")
|
||||
.category("AIRTIME")
|
||||
.image("netone.png")
|
||||
.externalId("95d485a7-39c9-4559-8a27-6521969abe8f")
|
||||
.build(),
|
||||
Provider.builder()
|
||||
.description("Prepaid Zesa")
|
||||
.clientId("powertel_zesa")
|
||||
.label("ZESA")
|
||||
.category("UTILITIES")
|
||||
.image("zesa.png")
|
||||
.externalId("0f67f7cc-b62b-4fb5-915f-6740b2afdba6")
|
||||
.build(),
|
||||
Provider.builder()
|
||||
.description("Econet Broadband")
|
||||
.clientId("econet_broadband_usd")
|
||||
.label("ECONET_BROADBAND")
|
||||
.category("AIRTIME")
|
||||
.image("econet.png")
|
||||
.externalId("287863e2-a791-4106-b629-79dadc9a6779")
|
||||
.build()
|
||||
);
|
||||
providerService.getProviderRepository().saveAll(providers);
|
||||
|
||||
// Clear existing payment processors before seeding
|
||||
paymentProcessorService.getPaymentProcessorRepository().deleteAll();
|
||||
|
||||
// seed payment processors
|
||||
List<PaymentProcessor> paymentProcessors = Arrays.asList(
|
||||
PaymentProcessor.builder()
|
||||
.name("Ecocash")
|
||||
.label("ECOCASH")
|
||||
.type("GATEWAY")
|
||||
.image("https://www.ecocash.co.zw/images/logo.png")
|
||||
.build(),
|
||||
PaymentProcessor.builder()
|
||||
.name("Mastercard")
|
||||
.label("MPGS")
|
||||
.type("GATEWAY")
|
||||
.image("https://www.mastercard.com/content/dam/public/mastercardcom/global/en/icons/mc-symbol.svg")
|
||||
.build()
|
||||
);
|
||||
paymentProcessorService.getPaymentProcessorRepository().saveAll(paymentProcessors);
|
||||
|
||||
// Clear existing charges and charge conditions before seeding
|
||||
List<ChargeCondition> chargeConditions = Arrays.asList(
|
||||
ChargeCondition.builder()
|
||||
.name("Ecocash Gateway")
|
||||
@@ -78,6 +165,6 @@ public class ConfigController {
|
||||
|
||||
chargeService.getChargeRepository().saveAll(charges);
|
||||
|
||||
return ResponseEntity.ok("Charges configuration complete");
|
||||
return ResponseEntity.ok("Project configuration seeding complete");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user