G25, gu, 세븐 3편의점에서 결재만 되게 해달라.
-> 편의점은 정해져 있으니 enum으로 관리
-> 결재 수단은 가장 간단하게 money만 사용
service package 만들기
결제서비스
머니 어뎁터
dto
payRequest
결제시 필요한 데이터
-> 편의점 종류는 enum타입으로 생성
-> 생성자 만들기
-> getter, setter 생성
-> 결제 성공 여부는 enum타입으로 생성
-> 생성자, getter, setter 생성
package com.zerobase.convpay.service;
public class ConveniencePayService {
public void pay() {
}
public void payCancel() {
}
}
package com.zerobase.convpay.service;
public class MoneyAdapter {
public void useMoney() {
}
public void useMoneyCancel() {
}
}
package com.zerobase.convpay.dto;
//내가 받아야 하는 데이터
public class PayRequest {
//편의점 종류
ConvenienceType convenienceType;
//결제 금액
Integer payAmount;
public PayRequest(ConvenienceType convenienceType, Integer payAmount) {
this.convenienceType = convenienceType;
this.payAmount = payAmount;
}
public ConvenienceType getConvenienceType() {
return convenienceType;
}
public void setConvenienceType(ConvenienceType convenienceType) {
this.convenienceType = convenienceType;
}
public Integer getPayAmount() {
return payAmount;
}
public void setPayAmount(Integer payAmount) {
this.payAmount = payAmount;
}
}
package com.zerobase.convpay.dto;
//내가 반환할 데이터
public class PayResponse {
//결제 결과
PayResult payResult;
//결제 성공금액
Integer paidAmount;
public PayResponse(PayResult payResult, Integer paidAmount) {
this.payResult = payResult;
this.paidAmount = paidAmount;
}
public PayResult getPayResult() {
return payResult;
}
public void setPayResult(PayResult payResult) {
this.payResult = payResult;
}
public Integer getPaidAmount() {
return paidAmount;
}
public void setPaidAmount(Integer paidAmount) {
this.paidAmount = paidAmount;
}
}
package com.zerobase.convpay.dto;
public enum ConvenienceType {
G25,
GU,
SEVEN
}
package com.zerobase.convpay.dto;
public enum PayResult {
SUCCESS,
FAIL
}