minor fixes on confirmations
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package zw.qantra.tm.config;
|
||||
package zw.qantra.tm.configs;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
import org.springframework.cache.CacheManager;
|
||||
@@ -1,6 +1,7 @@
|
||||
package zw.qantra.tm.domain.controllers;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -36,6 +37,13 @@ public class ConfigController {
|
||||
private final ProviderService providerService;
|
||||
private final CategoryService categoryService;
|
||||
private final IntegrationProcessorService integrationProcessorService;
|
||||
private final CacheManager cacheManager;
|
||||
|
||||
@GetMapping("/cache/clear")
|
||||
public ResponseEntity clearCache(){
|
||||
cacheManager.getCacheNames().forEach(name -> cacheManager.getCache(name).clear());
|
||||
return ResponseEntity.ok("Cache cleared");
|
||||
}
|
||||
|
||||
@GetMapping("/seed/live")
|
||||
public ResponseEntity seedLiveConfig(){
|
||||
|
||||
@@ -73,14 +73,17 @@ public class ProviderService {
|
||||
return products;
|
||||
}
|
||||
|
||||
@Cacheable(value = "providerProducts", key = "#providerId")
|
||||
public List<SBZProductDto> getProviderProducts(String providerId) {
|
||||
@Cacheable(value = "providerProducts", key = "#providerUid")
|
||||
public List<SBZProductDto> getProviderProducts(String providerUid) {
|
||||
try {
|
||||
Provider provider = providerRepository.findByClientId(providerId);
|
||||
Provider provider = providerRepository.findById(UUID.fromString(providerUid)).orElse(null);
|
||||
if (provider == null) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
String stockUrl = hotApiUrl + "/query/stock/" + 111;
|
||||
Map<String, String> meta = Utils.fromJson(provider.getMeta(), Map.class);
|
||||
String providerId = meta.get("hotProductId");
|
||||
|
||||
String stockUrl = hotApiUrl + "/query/stock/" + providerId;
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
String token = hotRechargeTokenService.getToken();
|
||||
headers.setBearerAuth(token);
|
||||
@@ -91,8 +94,8 @@ public class ProviderService {
|
||||
List<SBZProductDto> products = new ArrayList<>();
|
||||
for (Object item : stock) {
|
||||
LinkedHashMap<String, Object> stockItem = (LinkedHashMap<String, Object>) item;
|
||||
String stockProviderId = (String) stockItem.get("providerId");
|
||||
if (stockProviderId.equals(providerId)) {
|
||||
int stockProviderId = (int) stockItem.get("productId"); // providerId is referred to as productId in the stock response
|
||||
if (String.valueOf(stockProviderId).equals(providerId)) {
|
||||
log.info("Found matching provider in stock: " + stockItem);
|
||||
|
||||
SBZProductDto sbzProductDto = new SBZProductDto();
|
||||
|
||||
@@ -54,6 +54,12 @@ public class NetoneConfirmationHotProcessor implements TransactionProcessorInter
|
||||
put("name", "Destination Phone Number");
|
||||
put("value", transaction.getCreditAccount());
|
||||
}});
|
||||
if(transaction.getBillProductName() != null && !transaction.getBillProductName().isEmpty()) {
|
||||
additionalDataList.add(new HashMap() {{
|
||||
put("name", "Product");
|
||||
put("value", transaction.getBillProductName());
|
||||
}});
|
||||
}
|
||||
transaction.setAdditionalData(additionalDataList);
|
||||
|
||||
AdditionalData additionalData = AdditionalData.builder()
|
||||
|
||||
Reference in New Issue
Block a user