File tree Expand file tree Collapse file tree 8 files changed +176
-1
lines changed
src/main/java/demo/invoice Expand file tree Collapse file tree 8 files changed +176
-1
lines changed Original file line number Diff line number Diff line change 13
13
<artifactId >cglib</artifactId >
14
14
<version >2.2.2</version >
15
15
</dependency >
16
-
16
+ <dependency >
17
+ <groupId >org.projectlombok</groupId >
18
+ <artifactId >lombok</artifactId >
19
+ <version >1.18.8</version >
20
+ </dependency >
17
21
</dependencies >
18
22
19
23
<build >
Original file line number Diff line number Diff line change
1
+ package demo .invoice ;
2
+
3
+ import lombok .AllArgsConstructor ;
4
+ import lombok .Builder ;
5
+ import lombok .Data ;
6
+ import lombok .NoArgsConstructor ;
7
+
8
+ import java .math .BigDecimal ;
9
+
10
+ @ Data
11
+ @ Builder
12
+ @ AllArgsConstructor
13
+ @ NoArgsConstructor
14
+ public class Invoice {
15
+ private String invoiceNo ;
16
+ private String invoiceCode ;
17
+ private Integer invoiceType ;
18
+
19
+ private BigDecimal invoiceAmount ;
20
+ private BigDecimal taxAmount ;
21
+ private BigDecimal totalAmount ;
22
+
23
+ /**
24
+ * 火车票的专属字段,这个是否要抽到另一个对象里面?
25
+ */
26
+ private String trainNum ;
27
+ private String passengerName ;
28
+ /**
29
+ * 飞机票专属字段。
30
+ */
31
+ private String electronicTicketNum ;
32
+ private String customerIdentityNum ;
33
+
34
+ }
Original file line number Diff line number Diff line change
1
+ package demo .invoice ;
2
+
3
+ import lombok .AllArgsConstructor ;
4
+ import lombok .Builder ;
5
+ import lombok .Data ;
6
+ import lombok .NoArgsConstructor ;
7
+
8
+ import java .math .BigDecimal ;
9
+
10
+ @ Data
11
+ @ Builder
12
+ @ AllArgsConstructor
13
+ @ NoArgsConstructor
14
+ public class InvoiceAir {
15
+ private String invoiceNo ;
16
+ private String invoiceCode ;
17
+ private Integer invoiceType ;
18
+
19
+ private BigDecimal invoiceAmount ;
20
+ private BigDecimal taxAmount ;
21
+ private BigDecimal totalAmount ;
22
+
23
+ private String electronicTicketNum ;
24
+ private String customerIdentityNum ;
25
+ }
Original file line number Diff line number Diff line change
1
+ package demo .invoice ;
2
+
3
+ public interface InvoiceService {
4
+
5
+ Invoice queryInvoice ();
6
+
7
+ int saveInvoice ();
8
+
9
+ int updateInvoice ();
10
+
11
+ int insertInvoice ();
12
+ }
Original file line number Diff line number Diff line change
1
+ package demo .invoice ;
2
+
3
+ public class InvoiceServiceAir implements InvoiceService {
4
+
5
+ @ Override
6
+ public Invoice queryInvoice () {
7
+ return null ;
8
+ }
9
+
10
+ @ Override
11
+ public int saveInvoice () {
12
+ return 0 ;
13
+ }
14
+
15
+ @ Override
16
+ public int updateInvoice () {
17
+ return 0 ;
18
+ }
19
+
20
+ @ Override
21
+ public int insertInvoice () {
22
+ return 0 ;
23
+ }
24
+ }
Original file line number Diff line number Diff line change
1
+ package demo .invoice ;
2
+
3
+ public class InvoiceServiceTrain implements InvoiceService {
4
+ @ Override
5
+ public Invoice queryInvoice () {
6
+ return null ;
7
+ }
8
+
9
+ @ Override
10
+ public int saveInvoice () {
11
+ return 0 ;
12
+ }
13
+
14
+ @ Override
15
+ public int updateInvoice () {
16
+ return 0 ;
17
+ }
18
+
19
+ @ Override
20
+ public int insertInvoice () {
21
+ return 0 ;
22
+ }
23
+ }
Original file line number Diff line number Diff line change
1
+ package demo .invoice ;
2
+
3
+ /**
4
+ *
5
+ */
6
+ public class InvoiceTest {
7
+ public static void main (String [] args ) {
8
+ int invoiceType =8 ;
9
+ updateInvoice (invoiceType );
10
+
11
+ }
12
+
13
+ public static void updateInvoice (int invoiceType ){
14
+ Invoice invoice =new Invoice ();
15
+ //根据不同的发票类型生成不同的发票服务
16
+ InvoiceService invoiceService =null ;
17
+ if (invoiceType ==8 ) {
18
+ invoiceService =new InvoiceServiceAir ();
19
+ }else if (invoiceType ==9 ){
20
+ invoiceService =new InvoiceServiceTrain ();
21
+ }
22
+ invoiceService .updateInvoice ();
23
+
24
+
25
+ }
26
+
27
+ }
Original file line number Diff line number Diff line change
1
+ package demo .invoice ;
2
+
3
+ import lombok .AllArgsConstructor ;
4
+ import lombok .Builder ;
5
+ import lombok .Data ;
6
+ import lombok .NoArgsConstructor ;
7
+
8
+ import java .math .BigDecimal ;
9
+
10
+
11
+ @ Data
12
+ @ Builder
13
+ @ AllArgsConstructor
14
+ @ NoArgsConstructor
15
+ public class InvoiceTrain {
16
+ private String invoiceNo ;
17
+ private String invoiceCode ;
18
+ private Integer invoiceType ;
19
+
20
+ private BigDecimal invoiceAmount ;
21
+ private BigDecimal taxAmount ;
22
+ private BigDecimal totalAmount ;
23
+
24
+ private String trainNum ;
25
+ private String passengerName ;
26
+ }
You can’t perform that action at this time.
0 commit comments