From f6fa2d8de38eda6f883ec4a234259924e8ac214d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E8=8B=B1=E6=9D=B0?= <327782001@qq.com> Date: Sun, 30 Jul 2023 11:51:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=A2=9E=E5=80=BC=E5=8F=91=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../study/design/ticket/TicketConstant.java | 12 +++++- .../ticket/builder/CompanyTicketBuilder.java | 8 ++++ .../ticket/builder/PersonalTicketBuilder.java | 8 ++++ .../design/ticket/builder/TicketBuilder.java | 42 ++++++++++++++++++- .../design/ticket/pojo/CompanyTicket.java | 39 ++++++++++++++--- .../design/ticket/pojo/PersonalTicket.java | 39 +++++++++++++---- 6 files changed, 134 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/study/design/ticket/TicketConstant.java b/src/main/java/com/study/design/ticket/TicketConstant.java index f779671..9f4b375 100644 --- a/src/main/java/com/study/design/ticket/TicketConstant.java +++ b/src/main/java/com/study/design/ticket/TicketConstant.java @@ -3,8 +3,18 @@ package com.study.design.ticket; import com.study.design.ticket.pojo.CompanyTicket; import com.study.design.ticket.pojo.PersonalTicket; + +/** + * 发票常量-原型模式 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2023/7/30 11:47 + */ public class TicketConstant { - // 保存只具有公共属性的对象,供clone使用。 + /** + * 保存只具有公共属性的对象,供clone使用。 + */ public static PersonalTicket personalTicket = new PersonalTicket(); public static CompanyTicket companyTicket = new CompanyTicket(); diff --git a/src/main/java/com/study/design/ticket/builder/CompanyTicketBuilder.java b/src/main/java/com/study/design/ticket/builder/CompanyTicketBuilder.java index 5719a46..34386f7 100644 --- a/src/main/java/com/study/design/ticket/builder/CompanyTicketBuilder.java +++ b/src/main/java/com/study/design/ticket/builder/CompanyTicketBuilder.java @@ -3,6 +3,14 @@ package com.study.design.ticket.builder; import com.study.design.ticket.TicketConstant; import com.study.design.ticket.pojo.CompanyTicket; + +/** + * 公司发票构建者 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2023/7/30 11:50 + */ public class CompanyTicketBuilder extends TicketBuilder { /** diff --git a/src/main/java/com/study/design/ticket/builder/PersonalTicketBuilder.java b/src/main/java/com/study/design/ticket/builder/PersonalTicketBuilder.java index a73cffd..30d26ff 100644 --- a/src/main/java/com/study/design/ticket/builder/PersonalTicketBuilder.java +++ b/src/main/java/com/study/design/ticket/builder/PersonalTicketBuilder.java @@ -3,6 +3,14 @@ package com.study.design.ticket.builder; import com.study.design.ticket.TicketConstant; import com.study.design.ticket.pojo.PersonalTicket; + +/** + * 个人发票建造者 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2023/7/30 11:49 + */ public class PersonalTicketBuilder extends TicketBuilder { /** diff --git a/src/main/java/com/study/design/ticket/builder/TicketBuilder.java b/src/main/java/com/study/design/ticket/builder/TicketBuilder.java index bc8efab..05d0036 100644 --- a/src/main/java/com/study/design/ticket/builder/TicketBuilder.java +++ b/src/main/java/com/study/design/ticket/builder/TicketBuilder.java @@ -1,11 +1,51 @@ package com.study.design.ticket.builder; + +/** + * 发票建造者 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2023/7/30 11:48 + */ public abstract class TicketBuilder { + + /** + * 参数构建 + * + * @param account + * @param title + */ public abstract void setParam(String account, String title); + /** + * 内容构建 + * + * @param content + */ public abstract void setContent(String content); // 配置中心 或 DB 或缓存 + + /** + * 产品构建 + * + * @param product + */ public abstract void setProduct(String product); // db - public void setBankInfo(String bankInfo){}; //需要校验的,校验通过才能设置 + + /** + * 需要校验的,校验通过才能设置 + * + * @param bankInfo + */ + public void setBankInfo(String bankInfo) { + } + + + /** + * 返回相应的发票模版 + * + * @return + */ public abstract T buildTicket(); } diff --git a/src/main/java/com/study/design/ticket/pojo/CompanyTicket.java b/src/main/java/com/study/design/ticket/pojo/CompanyTicket.java index 74811fe..2d76821 100644 --- a/src/main/java/com/study/design/ticket/pojo/CompanyTicket.java +++ b/src/main/java/com/study/design/ticket/pojo/CompanyTicket.java @@ -1,14 +1,43 @@ package com.study.design.ticket.pojo; -public class CompanyTicket implements Cloneable{ + +/** + * 公司级别发票 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2023/7/30 11:45 + */ +public class CompanyTicket implements Cloneable { + /** + * 类型 + */ private String type; + /** + * 底部 + */ private String footer; - private String content; //配置中心 或者 DB里边获取。(缓存里获取,只不过如果万一DB 或配置中心有修改,需要同时更新缓存) - private String product; //大部分情况db里获取(缓存里是有一些热门产品的) - private String bankInfo; //校验我们的银行卡信息(通过我们的第三方银行相关接口进行的校验) - + /** + * 配置中心 或者 DB里边获取。(缓存里获取,只不过如果万一DB 或配置中心有修改,需要同时更新缓存) + */ + private String content; + /** + * 大部分情况db里获取(缓存里是有一些热门产品的) + */ + private String product; + /** + * 校验我们的银行卡信息(通过我们的第三方银行相关接口进行的校验) + */ + private String bankInfo; + + /** + * 账户 + */ private String account; + /** + * 标题 + */ private String title; public String getFooter() { diff --git a/src/main/java/com/study/design/ticket/pojo/PersonalTicket.java b/src/main/java/com/study/design/ticket/pojo/PersonalTicket.java index 5d70bc0..d74592f 100644 --- a/src/main/java/com/study/design/ticket/pojo/PersonalTicket.java +++ b/src/main/java/com/study/design/ticket/pojo/PersonalTicket.java @@ -1,14 +1,39 @@ package com.study.design.ticket.pojo; -public class PersonalTicket implements Cloneable{ + +/** + * 个人发票 + * + * @author : qinyingjie + * @version : 2.2.0 + * @date : 2023/7/30 11:45 + */ +public class PersonalTicket implements Cloneable { + /** + * 类型 + */ private String type; + /** + * 底部 + */ private String footer; - - private String content; //配置中心 或者 DB里边获取。(缓存里获取,只不过如果万一DB 或配置中心有修改,需要同时更新缓存) - private String product; //大部分情况db里获取(缓存里是有一些热门产品的) - - private String account; // 接口入参获取 - private String title; // 接口入参获取 + /** + * 配置中心 或者 DB里边获取。(缓存里获取,只不过如果万一DB 或配置中心有修改,需要同时更新缓存) + */ + private String content; + /** + * 大部分情况db里获取(缓存里是有一些热门产品的) + */ + private String product; + + /** + * 账户 + */ + private String account; + /** + * 标题 + */ + private String title; public String getFooter() { return footer; -- GitLab