في القسم السابق ، استخدمنا بريد Java لإكمال وظيفة إرسال رسائل البريد الإلكتروني للمشترين ، وتركوا وظيفة ، وهي إرسال رسائل نصية إلى المشترين وإخبارهم بأنه قد تم إنشاء الطلب. يقدم هذا القسم بشكل أساسي كيفية إرسال الرسائل النصية تلقائيًا إلى المستخدمين بعد اكتمال الدفع.
1. تقدم بطلب للحصول على وظيفة إرسال الرسائل القصيرة
من الواضح أننا لا نستطيع إرسال رسائل نصية بأنفسنا ، ولا لدينا وظيفة في إنشاء رسائل نصية ، لذلك نحن بحاجة إلى الاعتماد على مشغلي الطرف الثالث. ومع ذلك ، مثل China Mobile و China Unicom و Telecom لن تزودنا مباشرة بخدمات الرسائل القصيرة ، ولكنها ستوفر أولاً خدمات الرسائل القصيرة لبعض المشغلين ، وبعد ذلك سوف يوفر لنا هؤلاء المشغلين.
يوجد مشغل يسمى "Net Net Construction SMS Communication" (عنوان الموقع الرسمي). يمكن لهذا المشغل تزويدنا بخدمات الرسائل القصيرة. بعد إدخال الموقع الرسمي ، يمكنك التحقق من معايير الشحن. بالطبع ، يمكنك الحصول على 5 رسائل نصية مجانية لأول مرة ، ولكن قد لا تكون الرسائل المجانية مستقرة للغاية ، أو أن وقت الإرسال طويل نسبيًا. يعتمد ذلك على الشخصية ، ولكن الأجر جيد في الأساس. نموذج الربح الخاص به هو الحصول على رسائل نصية من الهاتف المحمول أو الصين يونيكوم أو الاتصالات بسعر أقل وبيعها للمستخدمين. بالطبع ، هناك حزم خصم. يتم شراء هذا النوع من المنتجات بشكل عام من قبل الشركات الكبيرة أو الخدمات التي تحتاج إلى إرسال رسائل نصية إلى المستخدمين.
أولاً ، نقوم بتسجيل حساب (في الواقع للحصول على 5 رسائل قصيرة مجانية لاختبار برنامجنا). لتوضيح العملية ، أحاول كتابتها مفصلة قدر الإمكان. يرجى الاطلاع على الواجهة التالية:
يمكنك ملء أي أسماء ورسائل بريد إلكتروني ، ما عليك سوى ملء أسماءك على هاتفك ، لأنك ستتلقى اسم المستخدم وكلمة المرور المسجلة. بعد تسجيل الدخول ، يمكننا أن نرى أن هناك 5 رسائل نصية مجانية يمكن إرسالها ، على النحو التالي:
نصائح ودية: لا تستخدم 5 رسائل نصية مجانية في اليوم الأول ، وسوف ترسل 5 رسائل أخرى في اليوم الثاني ، ثم لن ترسلها ~
ثم نقر على إرسال الرسائل القصيرة في الصورة أعلاه ، وستظهر واجهة الرسائل القصيرة. لا نريد إرسال الرسائل القصيرة ، ولكن نضع بعض لاحقة الرسائل القصيرة. أي بعد أن يستقبل المستخدم الرسائل القصيرة ، هناك لاحقة في النهاية لشرح من أين تأتي ، على النحو التالي:
بعد الحفظ ، ننقر على "واجهة SMS API" في العمود الأيسر ، وسيظهر واجهة برمجة التطبيقات لإرسال الرسائل النصية (يتم تقديم عنوان الاتصال أيضًا هنا). عندما نبرمج ، نحتاج إلى الرجوع إلى واجهة API التي توفرها لنا ، تمامًا مثل وظيفة الدفع من قبل ، باستخدام الواجهة الرسمية التي توفرها Yibao. دعونا نلقي نظرة قصيرة:
ما سبق هو مجرد بعض المحتوى. للحصول على التفاصيل ، يرجى النقر على الرابط الوارد أعلاه. نضغط على المفتاح في الصورة لتعديله على الفور ، وذلك أساسًا لمعرفة ماهية المفتاح ، ثم نسخ المفتاح وحفظه. سيتم استخدامه عند كتابة البرنامج لاحقًا.
حسنًا ، يتم الانتهاء من الاستعدادات الآن وتتوفر واجهة برمجة التطبيقات. الآن يمكننا البدء في تطوير وظيفة الرسائل القصيرة.
2. اختبر ما إذا كان خادم الطرف الثالث طبيعيًا أم لا
قبل تطوير وظيفة الرسائل القصيرة ، دعنا نختبر ما إذا كان الخادم الذي صممه شبكة الصين أمرًا طبيعيًا. وفقًا للبيانات التي توفرها صفحة SMS API ، يمكننا استخدام ترميز UTF-8 لإرسال عنوان الواجهة:
http://utf8.sms.webchinese.cn/؟uid=User اسم هذا الموقع والمفتاح = مفتاح أمان الواجهة و smsmob = رقم الهاتف المحمول و smstext = رمز التحقق: 8888
دعنا نختبر ما إذا كان Utf8.sms.webchines.cn طبيعي. دعنا نكتب صفحة test.jsp في المشروع:
<٪@ page language = "java" import = "java.util.*" pageencoding = "utf-8" ٪> <! doctype html public "-// w3c // dtd html 4.01 transitional // en"> html> <s head>@ include@ public/head نفسك-> <a href = "http://utf8.sms.webChinese.cn/؟uid=Username من هذا الموقع والمفتاح = مفتاح أمان الواجهة و smsmob = رقم الهاتف المحمول و smstext = رمز التحقق: 8888"> خادم الاختبار </a> </body> </html>
(تذكير ودود: لا تختبر عدة مرات أثناء الاختبار. مرة واحدة كافية. يعتمد الأمر بشكل أساسي على ما إذا كان الخادم طبيعيًا. يجب عليك تركه للاختبار لاحقًا عدة مرات. يمكنك أيضًا كتابة معلمة غير صحيحة. إذا تم إرجاع رقم سالب ، فهذا يعني أن الخادم أمر طبيعي تمامًا. كما تم تضمينه في الرابط ، وهو بالتأكيد غير ممكن.)
3. تطوير وظيفة إرسال الرسائل القصيرة
### ** 3.1 أرسل اختبار عملية الرسائل النصية القصيرة ** باستخدام وظيفة إرسال الرسائل القصيرة ، مطلوب حزم الجرة الثلاثة التالية: (عنوان التنزيل المجاني: http://download.csdn.net/detail/eson_15/9528009)-commons-codec-1. `commons-logging-1.1.1.jar` التالي ، سنكتب فئة Java العادية لإكمال وظيفة إرسال الرسائل القصيرة واختبار الصواب:
الطبقة العامة sendMessagedEmo {public static void main (string [] args) يلقي الاستثناء {// 1. افتح متصفح HttpClient Client = جديد httpclient () ؛ // 2. كيفية إنشاء طلب: الحصول على/postmethod post = new postmethod ("http://utf8.sms.webchinese.cn/") ؛ // عنوان الخادم الذي تقدمنا إليه للتو لـ // 3. قم بتعيين معلومات المعلمة المطلوبة post.setRequestHeader ("نوع المحتوى" ، "Application/x-www-form-urlencoded ؛ charset = utf-8") ؛ // قم بتعيين ترميز transcoding post.setParameter ("uid" ، "xxxx") ؛ post.setParameter ("smsmob" ، "xxxx") ؛ post.setParameter ("smstext" ، "اختبار!") ؛ // 4. إرسال الطلب وإرجاع رمز الحالة int code = client.executemethod (post) ؛ System.out.println ("رمز الحالة الذي تم إرجاعه بواسطة http:" + رمز) ؛ // إذا تم طباعة 200 ، فهذا يعني أنه طبيعي // 5. الحصول على معلومات البيانات التي يتم إرجاعها بواسطة نتيجة سلسلة الخادم = post.getResponseBodyString () ؛ System.out.println ("SMS إرسال نتيجة هي:" + نتيجة) ؛ // إذا قمت بإرجاع 1 ، فهذا يعني أن الإرسال طبيعي}} بعد ذلك ، يمكنك تشغيل برنامج Java هذا وإرساله إلى نفسك رسالة نصية لاختبارها. نتائج الاختبار الخاصة بي هي كما يلي:! [نتائج الاختبار] (http://img.blog.csdn.net/20160523122802066) ### ** نقوم بتغليف العملية أعلاه في فئة Tool MessageTilimpl ونستخرج الواجهة ، على النحو التالي:
. افتح متصفح HttpClient Client = جديد httpclient () ؛ // 2. كيفية إنشاء طلب: الحصول على/postmethod post = new postmethod ("http://utf8.sms.webchinese.cn/") ؛ // 3. تعيين معلومات المعلمة المطلوبة post.setRequestHeader ("نوع المحتوى" ، "التطبيق/X-WWW-Form-urlencoded ؛ charset = utf-8") ؛ post.setParameter ("uid" ، "eson_15") ؛ post.setParameter ("Key" ، "0537729D0B59A7E7358B") ؛ post.setParameter ("smsmob" ، "15216771570") ؛ post.setParameter ("smstext" ، "اختبار!") ؛ // 4. إرسال الطلب وأرجع رمز الحالة جرب {int code = 0 ؛ الكود = client.executemethod (post) ؛ System.out.println ("رمز الحالة الذي تم إرجاعه بواسطة http:" + رمز) ؛ // 5. الحصول على معلومات البيانات التي يتم إرجاعها بواسطة نتيجة سلسلة الخادم = post.getResponseBodyString () ؛ System.out.println ("SMS إرسال نتيجة هي:" + نتيجة) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ رمي new RunTimeException (e) ؛ } أخيرًا {post.releaseconnection () ؛ }}}4. تحسين الدفع
أكمل تغليف فئة الأدوات. بعد ذلك ، وضعنا فئة الأدوات في BASEACTION ونحقنها من خلال شرح @Resource لاستخدامها بواسطة العمل. أدناه سنقوم بتحسين طريقة Backbank () في الدفع السابق ، على النحو التالي:
Controller ("PayAction")@SCOPE ("Oritotype") تمتد دفع الفئة العامة BASEACTION <Object> parameteraware {// حفظ رمز غير ذي صلة ... نموذج باطل باطل عام () {backdata backdata = (backdata) ؛ System.out.println (نموذج) ؛ Boolean isok = payservice.CheckbackData (backdata) ؛ إذا (isok) {// 1. تحديث حالة الطلب ، يتم نقل المعلمات في حد ذاتها وفقًا للوضع في قاعدة البيانات ، وتستخدم لاختبار forderservice.updatestatusbyid (integer.parseint (backdata.getr6_order ()) ، 2) ؛ // 2. أرسل بريدًا إلكترونيًا وفقًا لسلسلة عنوان البريد الإلكتروني للمستخدم EmailAddress = backdata.getr8_mp (). split ("،") [0] ؛ EmailUtil.SendEmail (emailaddress ، backdata.getr6_order ()) ؛ // 3. أرسل سلسلة الرسائل النصية للهاتف المحمول phonenum = backdata.getr8_mp (). split ("،") [1] ؛ messageUtil.SendMessage (phonenum ، backdata.getr6_order ()) ؛ System.out.println ("------ النجاح !! -----") ؛ } آخر {system.out.println ("---- خطأ !!! -----") ؛ }}} يتم حفظ المعلومات التي يتم إرجاعها من yibao في المعلمة R6_order ، ورسالة البريد الإلكتروني ورقم الهاتف في معلمة R8_MP. الأول هو البريد الإلكتروني والثاني هو رقم الهاتف المحمول ، مفصولة بفواصل ، لذلك نحتاج أولاً إلى الحصول على رقم الهاتف المحمول للمستخدم ثم إرسال رسالة نصية. حسنًا ، يتم الانتهاء من وظيفة إرسال الرسائل النصية إلى المستخدم بعد اكتمال الدفع.
الرابط الأصلي: http://blog.csdn.net/eson_15/article/details/51475431
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.