Tutorial ini akan memperkenalkan operasi BRANCH, yang mendukung pemrosesan bersyarat. Dalam tutorial ini, Anda akan menerapkan logika bersyarat untuk memberikan diskon 20% untuk pelanggan premium.
Catatan: operasi BRANCH bisa diistilahkan seperti pernyataan “if-then-else” dalam bahasa Java.
Pemulaan
Tutorial ini dibuat untuk lanjutan atas tutorial sebelumnya :
- 1. Membuat Paket IS dan Folder
- 2. Membuat dan Menjalankan Flow Service
- 3. Membuat Type Dokumen
- 4. Membuat Operasi LOOP
- Tutorial di atas harus diselesaikan terlebih dahulu.
- IS(Integeration Server) harus sudah hidup atau running.
Langkah Selanjutnya
Anda akan membuat operasi BRANCH dengan cara:
- Menambahkan step BRANCH untuk service
- Mengatur kondisi BRANCH
- Menambahkan logika untuk melakukan transformasi ketika kondisi terpenuhi
Langkah 1: Menambahkan Logic Bersyarat ke Data MAP Services
Dalam langkah ini anda akan menambahkan step BRANCH untuk Service data MAP yang dibuat sebelumnya, OrderRequestToOrderResponse.
Untuk menambahkan step BRANCH :
- Membuka service data MAP FLOW_Tutorial.services: OrderRequestToOrderResponse
Tool BRANCH memungkinkan anda untuk mengubah pengolahan berdasarkan kondisi yang anda tetapkan dalam properti BRANCH .
- menambahkan Step BRANCH di bawah step MAP yang merupakan anak dari step LOOP :
Desainer akan menciptakan step BRANCH dan menampilkan Propertinya:
- Mengatur Switch milik step BRANCH untuk Request / Request / Orders/ SKU:
Penting: Jika anda menyalin Request / Request / Orders / SKU elemen dari tab Pipeline , Anda harus menyalinnya dari dalam step LOOP ; misalnya, pilih step MAP bersarang, pilih tab Pipeline , lalu pilih elemen.
Desainer akan menampilkan konfigurasi step BRANCH:
Catatan: Pada langkah ini anda menggunakan string literal untuk menciptakan label BRANCH; Namun, Anda dapat mengatur label BRANCH menggunakan operasi yang lebih kompleks dan dinamis, seperti ekspresi reguler.
Sekarang Anda dapat menambahkan logika transformasi ke operasi BRANCH .
Langkah 2: Tambahkan Transformasi Logic #
Dalam langkah ini: Anda akan menambahkan sebuah transformator, dan konfigurasikan untuk menerapkan diskon di bawah kondisi tertentu.
Untuk menambahkan logika transformasi ke layanan:
- Tambahkan step MAP baru di bawah BRANCH:
Catatan: Pastikan bahwa step MAP bersarang dengan benar sehingga menjadi anak dari step BRANCH.
- Mengatur Label baru milik step MAP dengan 01:
Desainer menampilkan step MAP baru (Anda dapat mengklik tombol enter atau pilih mana saja dalam editor aliran untuk melihat step MAP terupdate:
- Tambahkan deskripsi ke step MAP dalam properti Komentar dan klik Input, misalnya:
Terapkan diskon 20% untuk item ini
Desainer menampilkan step MAP baru:
- Pada Pipeline Editor , tambahkan Transformer pub.math.multiplyFloats untuk step MAP ini.
- Perluas Transformer , kemudian petakan input seperti berikut:
Response / Response / Orders / AmountDue
ke Service in num1
- Petakan Transformer Value Service output ke:
Response / Response / Orders / AmountDue
Sekarang anda dapat mengatur value input transformator dan output menggunakan tool Set Value.
Untuk mengatur nilai input transformator:
- Pilih num2 di Service in pub.math.multiplyFloats pada kolom, kemudian pilih Set Valuetombol toolbar:
(alternatif, Anda bisa klik dua kali num2 untuk mengatur valuenya)
Desainer akan menampilkan dialog Set Value .
- Mengatur value num2 dengan 0,8 , dan klik OK .
Catatan: Value dari diskon itu sendiri hard-code, tidak bersyarat.
input num2 dengan multiplyFloats sekarang akan mencerminkan nilai yang ditetapkan, yang dapat ditampilkan oleh kursor melayang di atas ikon nilai yang ditetapkan.
- Simpan dan Run service menggunakan file input yang sama seperti pada tutorial sebelumnya:
Catatan: Anda mungkin perlu untuk kembali memuat file input:
Desainer akan menampilkan data yang diambil dari file input.
- pilih OK
Desainer akan menampilkan Result, menunjukkan diskon akan diterapkan hanya untuk SKU 01:
150 * 20 * 0,8 = 2400
Hasil menunjukkan bahwa diskon tersebut tidak diterapkan pada perintah yang lain :
50 * 12 = 600
kesimpulan #
Anda telah meningkatkan service dengan memasukkan logika kondisional untuk menerapkan diskon untuk item tertentu.
Comments