Skip to content

Instantly share code, notes, and snippets.

View mafei-dev's full-sized avatar
🎯
Focusing

mafei mafei-dev

🎯
Focusing
View GitHub Profile
package org.mono.stacksaga.example.deliveryservice.controller;
import lombok.AllArgsConstructor;
import org.mono.stacksaga.example.deliveryservice.dto.StartDeliveryRequestBody;
import org.mono.stacksaga.example.deliveryservice.dto.StartDeliveryResponseBody;
import org.mono.stacksaga.example.deliveryservice.dto.StartDeliveryRevertRequestBody;
import org.mono.stacksaga.example.deliveryservice.dto.StartDeliveryRevertResponseBody;
import org.mono.stacksaga.example.deliveryservice.service.DeliveryDetailService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
package org.mono.stacksaga.example.deliveryservice.service;
import lombok.AllArgsConstructor;
import org.mono.stacksaga.example.deliveryservice.entity.DeliveryDetailEntity;
import org.mono.stacksaga.example.deliveryservice.entity.DeliveryStatusLogEntity;
import org.mono.stacksaga.example.deliveryservice.repository.DeliveryStatusLogRepository;
import org.mono.stacksaga.example.deliveryservice.repository.DeliveryStatusRepository;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
instance-id: ${random.uuid}
server:
port: 0
#eureka-config
spring:
application:
name: delivery-service
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: ${SPRING_DATASOURCE_USERNAME:root}
package org.mono.stacksaga.example.deliveryservice.repository;
import org.mono.stacksaga.example.deliveryservice.entity.DeliveryDetailEntity;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
@Repository
package org.mono.stacksaga.example.deliveryservice.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
package org.mono.stacksaga.example.deliveryservice.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.*;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
package org.mono.stacksaga.example.deliveryservice;
import org.mono.stacksaga.EnableStackSaga;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
@SpringBootApplication(exclude = {
instance-id: ${random.long}
server:
port: 0
#eureka-config
spring:
application:
name: payment-service
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: ${SPRING_DATASOURCE_USERNAME:root}
package org.mono.stacksaga.example.paymentservice.advice;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.CannotCreateTransactionException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.request.WebRequest;
package org.mono.stacksaga.example.paymentservice.controller;
import lombok.AllArgsConstructor;
import org.mono.stacksaga.example.paymentservice.dto.MakePaymentRequestBody;
import org.mono.stacksaga.example.paymentservice.dto.MakePaymentResponseBody;
import org.mono.stacksaga.example.paymentservice.dto.MakePaymentRevertRequestBody;
import org.mono.stacksaga.example.paymentservice.model.PaymentSubmitModel;
import org.mono.stacksaga.example.paymentservice.service.CustomerPaymentService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;