Hello World
This commit is contained in:
@@ -123,7 +123,9 @@ public class ConsumeOrder extends Order {
|
||||
order.setMerchantId(request.getMerchantId());
|
||||
return order;
|
||||
}
|
||||
|
||||
public OrderStatus getorderStatus(){
|
||||
return orderStatus;
|
||||
}
|
||||
public boolean isNotified(){
|
||||
return this.notified;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.murong.ecp.payment.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.murong.ecp.payment.enums.PaymentMethod;
|
||||
import com.murong.ecp.payment.enums.PaymentStatus;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@@ -20,6 +21,7 @@ public class PaymentPart {
|
||||
protected String payeeAcNo;
|
||||
protected String payeeAcNm;
|
||||
protected Money paymentPrincipal;
|
||||
protected PaymentStatus paymentStatus;
|
||||
@JsonIgnore
|
||||
protected List<Tax> paymentTaxs;
|
||||
@JsonIgnore
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.murong.ecp.payment.enums;
|
||||
|
||||
public enum PaymentStatus {
|
||||
INITIAL("I", "初始状态"),
|
||||
UNTREATED("U", "未处理"),
|
||||
SUCCESS("S", "成功状态"),
|
||||
FAILURE("F", "失败状态"),
|
||||
PROCESSING("P", "处理中");
|
||||
|
||||
@@ -3,5 +3,5 @@ package com.murong.ecp.payment.processor;
|
||||
public interface ProcessorChain<T> {
|
||||
void entry(T request);
|
||||
void setNext(ProcessorChain next);
|
||||
boolean checkParams(T request);
|
||||
boolean assertParams(T request);
|
||||
}
|
||||
|
||||
@@ -12,8 +12,14 @@ public abstract class OrderDefaultProcessor implements ProcessorChain<ConsumeOrd
|
||||
log.info("DefaultProcessor.entry");
|
||||
if (next != null){
|
||||
log.info("DefaultProcessor.precheck");
|
||||
if(!checkParams(order)) return;
|
||||
if(!assertParams(order)) return;
|
||||
/** process */
|
||||
try {
|
||||
process(order);
|
||||
}
|
||||
catch (Throwable e) {
|
||||
onError(order,e);
|
||||
}
|
||||
}
|
||||
if (next != null){
|
||||
/** next flow */
|
||||
@@ -23,11 +29,7 @@ public abstract class OrderDefaultProcessor implements ProcessorChain<ConsumeOrd
|
||||
}
|
||||
|
||||
protected abstract void process(ConsumeOrder order);
|
||||
|
||||
public void onSuccess(ConsumeOrder order){
|
||||
}
|
||||
public void onFailure(ConsumeOrder order){
|
||||
}
|
||||
public void onError(ConsumeOrder order,Throwable e){}
|
||||
@Override
|
||||
public void setNext(ProcessorChain next){
|
||||
this.next = next;
|
||||
|
||||
@@ -10,7 +10,7 @@ public class OrderNotificationProcessor extends OrderDefaultProcessor {
|
||||
|
||||
|
||||
@Override
|
||||
public boolean checkParams(ConsumeOrder order) {
|
||||
public boolean assertParams(ConsumeOrder order) {
|
||||
log.info("RiskProcessor.precheck");
|
||||
return !order.isNotified() && order.isFinished() ? true : false;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.springframework.stereotype.Service;
|
||||
public class OrderRiskProcessor extends OrderDefaultProcessor {
|
||||
|
||||
@Override
|
||||
public boolean checkParams(ConsumeOrder order) {
|
||||
public boolean assertParams(ConsumeOrder order) {
|
||||
log.info("RiskProcessor.precheck");
|
||||
return !order.orderCreated() && !order.riskUntreated() ? true : false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ public class BankCardPaymentPartProcessor extends PaymentPartDefaultProcessor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkParams(ConsumeOrder order){
|
||||
public boolean assertParams(ConsumeOrder order){
|
||||
log.info("BankCardPaymentPartProcessor.precheck");
|
||||
// if (order.riskPassed() && order. )
|
||||
|
||||
|
||||
+28
-6
@@ -16,12 +16,30 @@ public abstract class PaymentPartDefaultProcessor implements ProcessorChain<Cons
|
||||
}
|
||||
public void entry(ConsumeOrder order) {
|
||||
log.info("PaymentPartProcessor.entry:{}",order);
|
||||
if(!checkParams(order)) return;
|
||||
if(!assertParams(order)) return;
|
||||
|
||||
for (PaymentMethod paymentMethod:this.paymentMethods ) {
|
||||
if (order.containsPaymentMethod(paymentMethod)){
|
||||
/** payment process */
|
||||
process(order);
|
||||
try {
|
||||
process(order);
|
||||
switch(order.getPaymentItem(paymentMethod).getPaymentStatus()) {
|
||||
case SUCCESS:
|
||||
onSuccess(order);
|
||||
break;
|
||||
case FAILURE:
|
||||
onFailure(order);
|
||||
break;
|
||||
case PROCESSING:
|
||||
onProcessing(order);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Throwable e) {
|
||||
onError(order,e);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (next != null){
|
||||
@@ -34,18 +52,22 @@ public abstract class PaymentPartDefaultProcessor implements ProcessorChain<Cons
|
||||
|
||||
protected void process(ConsumeOrder order){
|
||||
log.info("PaymentPartProcessor.orderHandling");
|
||||
|
||||
|
||||
/** calculate fee */
|
||||
}
|
||||
|
||||
public void onSuccess(ConsumeOrder order){
|
||||
/** register journal with success*/
|
||||
}
|
||||
public void onFailure(ConsumeOrder order){
|
||||
/** register journal with failure*/
|
||||
}
|
||||
|
||||
public void onProcessing(ConsumeOrder order){
|
||||
/** register journal with processing*/
|
||||
}
|
||||
public void onUntreated(ConsumeOrder order){
|
||||
|
||||
public void onError(ConsumeOrder order,Throwable e){
|
||||
/** error */
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,7 +81,7 @@ public abstract class PaymentPartDefaultProcessor implements ProcessorChain<Cons
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean checkParams(ConsumeOrder order){
|
||||
public boolean assertParams(ConsumeOrder order){
|
||||
log.info("PaymentPartProcessor.precheck");
|
||||
return order.orderCreated() && order.riskPassed() ? true : false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ public class WalletPaymentPartProcessor extends PaymentPartDefaultProcessor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkParams(ConsumeOrder order){
|
||||
public boolean assertParams(ConsumeOrder order){
|
||||
log.info("WalletPaymentPartProcessor.precheck");
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user