Commit e3199ff0 authored by sgandhi's avatar sgandhi

test cases added and package corrections.

parent d1b90555
......@@ -16,7 +16,7 @@ configurations {
repositories {
flatDir {
dirs 'C:\\Users\\kpadhi\\.m2\\repository\\com\\nisum\\exceptionservice\\0.0.1'
dirs 'C:\\Users\\sgandhi\\.m2\\repository\\com\\nisum\\exceptionservice\\0.0.1'
}
mavenCentral()
}
......@@ -30,9 +30,7 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.postgresql:postgresql'
annotationProcessor 'org.projectlombok:lombok'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
testImplementation('org.springframework.boot:spring-boot-starter-test')
compile 'com.nisum:exceptionservice:0.0.1'
implementation group: 'junit', name: 'junit', version: '4.12'
testImplementation('org.springframework.boot:spring-boot-starter-test')
......
package com.nisum.offertransactionservice.controller;
import com.nisum.offertransactionservice.model.EndOfSaleReq;
import com.nisum.offertransactionservice.model.EndOfSaleEntity;
import com.nisum.offertransactionservice.model.OfferTransactionRequest;
import com.nisum.offertransactionservice.model.OfferTransactionResponse;
import com.nisum.offertransactionservice.service.EndOfSaleService;
import com.nisum.offertransactionservice.service.OfferCallingPEService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.UUID;
@RestController
public class OfferTransactionController {
......@@ -16,11 +22,21 @@ public class OfferTransactionController {
@Autowired
private OfferCallingPEService offerCallingPEService;
@Autowired
private EndOfSaleService endOfSaleService;
@PostMapping("offerTransactionCall")
public OfferTransactionResponse getOfferTransactionResponse(@Valid @RequestBody OfferTransactionRequest offerTransactionRequest){
public OfferTransactionResponse getOfferTransactionResponse(@Valid @RequestBody OfferTransactionRequest offerTransactionRequest) {
return offerCallingPEService.getDiscountedItemList(offerTransactionRequest);
}
@PostMapping("endOfSale")
public ResponseEntity<String> endOfSale(@Valid @RequestBody EndOfSaleReq endOfSaleReq) {
UUID uuid = endOfSaleService.putEndofSaleResInDb(endOfSaleReq);
return new ResponseEntity<String>(uuid.toString(), HttpStatus.OK);
}
}
......
package com.nisum.offertransactionservice.dao;
import com.nisum.offertransactionservice.model.EndOfSaleEntity;
import org.springframework.data.repository.CrudRepository;
public interface EndOfSaleRepo extends CrudRepository<EndOfSaleEntity,String> {
}
package com.nisum.offertransactionservice.model;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.List;
import java.util.UUID;
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = false)
@Entity
@Table(name = "endofsale")
public class EndOfSaleEntity {
@Id
@Column(name = "uuid")
UUID uuid;
/*
*
* offerTransaction Response and offers
* Can we put these data in JSON_PAYLOAD
*
*
* */
@Column(name = "offertransactionresponse")
OfferTransactionResponse offerTransactionResponse;
@Column(name = "offers")
List<OfferLookup> offers;
}
package com.nisum.offertransactionservice.model;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.FieldDefaults;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = false)
public class EndOfSaleReq {
OfferTransactionResponse offerTransactionResponse;
List<OfferLookup> offers;
}
......@@ -25,4 +25,6 @@ public class Item {
@NotNull
String cmsCoupouns;
String offerIdApplied;
}
package com.nisum.offertransactionservice.service;
import com.nisum.offertransactionservice.dao.EndOfSaleRepo;
import com.nisum.offertransactionservice.model.EndOfSaleReq;
import com.nisum.offertransactionservice.model.EndOfSaleEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.UUID;
@Service
@Slf4j
public class EndOfSaleService {
@Autowired
private EndOfSaleRepo endOfSaleRepo;
public UUID putEndofSaleResInDb(EndOfSaleReq endOfSaleReq){
EndOfSaleEntity endOfSaleEntity = new EndOfSaleEntity();
endOfSaleEntity.setOfferTransactionResponse(endOfSaleReq.getOfferTransactionResponse());
endOfSaleEntity.setOffers(endOfSaleReq.getOffers());
endOfSaleEntity.setUuid(UUID.randomUUID());
endOfSaleRepo.save(endOfSaleEntity);
return endOfSaleEntity.getUuid();
}
}
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/postgres
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/user
spring.datasource.username=user
spring.datasource.password=password123
promotion.engine.calculate.discount.url=/promotionEngine/calculateDiscount
promotion.engine.baseUrl=http://localhost:8081
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