diff --git a/src/main/java/com/study/design/ticket/TicketConstant.java b/src/main/java/com/study/design/ticket/TicketConstant.java index f77967190d476362ac7a0113812b9f5b6f9a323f..9f4b3750ddffbadad0264fff3a0a800514c7cda2 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 5719a46e4ef1dee8f3f6278abbbc51f275a25d39..34386f7fb3065d760426723fc19baebe0e00f653 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 a73cffd6b48408d91328aec471d3e587b2145c17..30d26ff08359ddbd816b1d2c9a9ac1552b108e1e 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 bc8efab3947781ddd9cd4192b145f3a5a481601b..05d0036cc60f7b7f730485d943f0bb0bdea5fc2b 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 74811fec2342aa764fdd9b9393007dbe0afc5445..2d76821232631faf240738ccca1fe8ab08bdc97c 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 5d70bc0c468cbb51b7fa0cf083d41a344d7822bb..d74592fbfce9cc7530e4efaf260d465d3538eeb9 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;