Hello World

This commit is contained in:
Alawn
2023-05-16 15:42:29 +08:00
parent 1dbfbcd43d
commit d9ec02b274
10 changed files with 47 additions and 19 deletions
@@ -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;
}
@@ -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. )
@@ -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;
}
@@ -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;
}