CN111757282B - 短信发送方法及装置 - Google Patents
短信发送方法及装置 Download PDFInfo
- Publication number
- CN111757282B CN111757282B CN202010526885.4A CN202010526885A CN111757282B CN 111757282 B CN111757282 B CN 111757282B CN 202010526885 A CN202010526885 A CN 202010526885A CN 111757282 B CN111757282 B CN 111757282B
- Authority
- CN
- China
- Prior art keywords
- short message
- waybill
- sending
- content data
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
- H04W4/185—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals by embedding added-value information into content, e.g. geo-tagging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了短信发送方法及装置、电子设备、计算机可读存储介质,该方法包括:获取第一短信模板,所述第一短信模板用于生成运单处于第一状态的通知短信;获取第一运单的运单信息;获取所述第一运单的第一状态信息,响应于所述第一运单的第一状态信息,根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备。预先设置对应运单不同状态的短信模板,监控运单的状态,根据运单状态使用对应的短信模板生成短信内容,由此,不需要调用方修改代码,通过初始化短信模板和监控脚本就可以实现短信内容的变更和自动发送,如果业务需要修改短信内容,直接修改模板即可,另外自动生成的短信内容也得到控制。
Description
技术领域
本申请涉及信息处理的技术领域,尤其涉及短信发送方法及装置、电子设备、计算机可读存储介质。
背景技术
现有的短信发送技术基本都是通过调用第三方运营商的短信接口将需要发送的具体短信内容发送给用户,这种短信发送方式主要有两方面的问题:第一,短信内容全部由调用方传递,因此对于短信中可能包含的不当内容无法控制;第二,这种短信发送方式不灵活,如果业务要求变更短信中的部分描述性内容,就需要修改短信发送的代码,然后重新发布。
例如,如果需要给寄件人发送一条内容为“【韵达快运】尊敬的客户,运单号560000000发往上海市青浦区盈港东路6679号已被张三签收。”的签收短信,那么调用方需要拼接一条短信内容为“【韵达快运】尊敬的客户,运单号560000000发往上海市青浦区盈港东路6679号已被张三签收。”的短信。如果现在业务需要修改短信内容为“【韵达快运】尊敬的客户,运单号560000000已被张三签收。”,此时调用方就需要修改短信发送的代码,将短信内容调整为“【韵达快运】尊敬的客户,运单号560000000已被张三签收。”,然后再发布上线,比较耗时。
发明内容
本申请的目的在于提供短信发送方法及装置、电子设备、计算机可读存储介质,解决现有的短信发送技术无法控制短信内容,以及在修改短信内容时需要修改短信发送的代码并重新发布上线,消耗时间成本的问题。
本申请的目的采用以下技术方案实现:
第一方面,本申请提供了一种短信发送方法,所述方法包括:获取第一短信模板,所述第一短信模板用于生成运单处于第一状态的通知短信,所述第一短信模板包括第一参数至第N参数,N是正整数;获取第一运单的运单信息,所述第一运单的运单信息包括所述第一参数至所述第N参数对应的第一参数值至第N参数值;获取所述第一运单的第一状态信息,响应于所述第一运单的第一状态信息,根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备。该技术方案的有益效果在于,预先设置对应运单不同状态的短信模板,监控运单的状态,当运单处于某一状态时根据该状态对应的短信模板生成短信内容,用以通知用户运单的当前状态,由此,不需要调用方修改代码,通过初始化短信模板和监控脚本就可以实现短信内容的变更和自动发送,如果业务需要修改短信内容,直接修改模板即可,不需要修改短信发送的代码,节省修改代码以及将代码重新发布上线的时间成本,另外,短信内容根据短信模板自动生成,内容得到控制。
在一些可能的实现方式中,所述获取第一运单的运单信息,包括:执行运单抓取脚本,从运单消息队列中获取所述第一运单的运单信息;所述获取所述第一运单的第一状态信息,包括:执行短信抓取脚本,从第一状态消息队列中获取所述第一运单的第一状态信息。该技术方案的有益效果在于,执行脚本,从消息队列中获取运单信息和状态信息,通过异步处理提高***性能,降低***耦合性。
在一些可能的实现方式中,所述根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备,包括:从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,i是不大于N的正整数;使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数,生成所述第一待发送短信并发送至所述第一运单对应的终端设备。该技术方案的有益效果在于,将运单对应的参数值组合成一条短信内容数据,提高数据的读取效率。
在一些可能的实现方式中,所述从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,包括:执行所述短信抓取脚本,从所述第一运单的运单信息中获取所述第i参数对应的第i参数值,以及将所述第i参数及其对应的第i参数值组合成所述第一运单对应的短信内容数据并存储至短信发送表;所述使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数,包括:执行短信发送脚本,从所述短信发送表中获取所述第一运单对应的短信内容数据,以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数。该技术方案的有益效果在于,执行短信抓取脚本,从运单信息中获取参数值,将参数及其参数值组合成短信内容数据并存储至短信发送表,执行短信发送脚本,从所述短信发送表中取出短信内容数据,结合短信模板拼接出短信内容,使用脚本语言以提高开发效率。
在一些可能的实现方式中,所述从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,还包括:将所述短信发送表中所述第一运单对应的短信内容数据的短信发送状态标记为待发送状态;所述从所述短信发送表中获取所述第一运单对应的短信内容数据,包括:从所述短信发送表中处于待发送状态的短信内容数据中获取所述第一运单对应的短信内容数据。该技术方案的有益效果在于,对短信内容数据的短信发送状态进行标记,便于根据短信发送状态从短信发送表中取出待发送的短信内容数据。
在一些可能的实现方式中,所述从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,还包括:将所述短信发送表中所述第一运单对应的短信内容数据的短信类型标记为第一状态短信。该技术方案的有益效果在于,对短信内容数据的短信类型进行标记,便于根据短信类型对某一类型的短信内容数据进行查看、筛选和排序。
在一些可能的实现方式中,所述根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备,包括:根据所述第一运单的运单信息和所述第一短信模板生成所述第一待发送短信并发送至第三方平台,通过所述第三方平台将所述第一待发送短信发送至所述第一运单对应的终端设备。该技术方案的有益效果在于,通过第三方平台发送短信,节省短信发送功能的开发成本和维护成本。
在一些可能的实现方式中,所述方法还包括:变更所述第一短信模板中的参数。该技术方案的有益效果在于,根据业务需求灵活地变更短信模板中的参数,例如增加、删除或修改短信模板中的参数。
在一些可能的实现方式中,所述第一状态是寄件状态、派件状态或者签收状态。该技术方案的有益效果在于,维护对应寄件状态、派件状态或者签收状态的短信模板,当运单处于寄件状态、派件状态或者签收状态时自动发送寄件短信、派件短信或者签收短信。
第二方面,本申请提供了一种短信发送装置,所述装置包括:模板获取模块,用于获取第一短信模板,所述第一短信模板用于生成运单处于第一状态的通知短信,所述第一短信模板包括第一参数至第N参数,N是正整数;运单获取模块,用于获取第一运单的运单信息,所述第一运单的运单信息包括所述第一参数至所述第N参数对应的第一参数值至第N参数值;短信发送模块,用于获取所述第一运单的第一状态信息,响应于所述第一运单的第一状态信息,根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备。
在一些可能的实现方式中,所述运单获取模块执行运单抓取脚本,从运单消息队列中获取所述第一运单的运单信息;所述短信发送模块执行短信抓取脚本,从第一状态消息队列中获取所述第一运单的第一状态信息。
在一些可能的实现方式中,所述短信发送模块从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,i是不大于N的正整数;以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数,生成所述第一待发送短信并发送至所述第一运单对应的终端设备。
在一些可能的实现方式中,所述短信发送模块执行所述短信抓取脚本,从所述第一运单的运单信息中获取所述第i参数对应的第i参数值,以及将所述第i参数及其对应的第i参数值组合成所述第一运单对应的短信内容数据并存储至短信发送表;所述短信发送模块还执行短信发送脚本,从所述短信发送表中获取所述第一运单对应的短信内容数据,以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数。
在一些可能的实现方式中,所述短信发送模块还将所述短信发送表中所述第一运单对应的短信内容数据的短信发送状态标记为待发送状态;所述短信发送模块还从所述短信发送表中处于待发送状态的短信内容数据中获取所述第一运单对应的短信内容数据。
在一些可能的实现方式中,所述短信发送模块还将所述短信发送表中所述第一运单对应的短信内容数据的短信类型标记为第一状态短信。
在一些可能的实现方式中,所述短信发送模块根据所述第一运单的运单信息和所述第一短信模板生成所述第一待发送短信并发送至第三方平台,通过所述第三方平台将所述第一待发送短信发送至所述第一运单对应的终端设备。
在一些可能的实现方式中,所述装置还包括模板变更模块,用于变更所述第一短信模板中的参数。
在一些可能的实现方式中,所述第一状态是寄件状态、派件状态或者签收状态。
第三方面,本申请提供了一种短信发送的电子设备,包括处理器和存储器,所述存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行上述短信发送方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述短信发送方法的步骤。
与现有技术相比,本申请的有益效果包括:
本申请公开了短信发送方法及装置、电子设备、计算机可读存储介质,预先设置对应运单不同状态的短信模板,监控运单的状态,当运单处于某一状态时根据该状态对应的短信模板生成短信内容,用以通知用户运单的当前状态,由此,不需要调用方修改代码,通过初始化短信模板和监控脚本就可以实现短信内容的变更和自动发送,如果业务需要修改短信内容,直接修改模板即可,不需要修改短信发送的代码,节省修改代码以及将代码重新发布上线的时间成本,另外,短信内容根据短信模板自动生成,内容得到控制。
附图说明
下面结合附图和实施例对本申请进一步说明。
图1是本申请实施例提供的一种短信发送方法的流程图;
图2是本申请实施例提供的一种短信发送方法的流程图;
图3是本申请实施例提供的一种短信的生成和发送的流程图;
图4是本申请实施例提供的一种短信发送方法的流程示意图;
图5是本申请实施例提供的一种短信发送方法的流程示意图;
图6是本申请实施例提供的一种短信发送装置的结构框图;
图7是本申请实施例提供的一种短信发送的电子设备的结构框图;
图8是本申请实施例提供的一种用于实现短信发送方法的程序产品的结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本申请做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
参见图1,本申请实施例提供了一种短信发送方法,适用于快递、快运等物流行业中的短信发送业务。所述方法包括步骤S101~S103。
步骤S101:获取第一短信模板,所述第一短信模板用于生成运单处于第一状态的通知短信,所述第一短信模板包括第一参数至第N参数,N是正整数。
其中,第一状态例如是寄件状态、派件状态或者签收状态,第一短信模板例如是对应寄件状态的寄件短信模板、对应派件状态的派件短信模板或者对应签收状态的签收短信模板。维护对应寄件状态、派件状态或者签收状态的短信模板,当运单处于寄件状态、派件状态或者签收状态时自动发送寄件短信、派件短信或者签收短信到用户的终端设备,用户的终端设备是可以接收短信的设备,例如是安装了SIM卡的手机、平板电脑或者智能穿戴设备。
第一参数至第N参数是第一短信模板中的参数,参数例如是运单号、寄件人姓名、寄件人电话、寄件人地址、收件人姓名、收件人电话、收件人地址中的一种或多种。第一短信模板例如是签收短信模板,N例如是3,第一参数至第三参数例如是运单号(示例性地表示为#LogisticsId#)、收件人姓名(示例性地表示为#CustomerName#)和收件人地址(示例性地表示为#BuyerAddress#),第一短信模板可以示例性地表示为“【韵达快运】尊敬的客户,运单号#LogisticsId#发往#BuyerAddress#已被#CustomerName#签收。”以此类推,可以预先设置对应寄件状态的寄件短信模板、对应派件状态的派件短信模板和对应签收状态的签收短信模板。
在一些可能的实现方式中,对第一短信模板进行变更操作。具体地,参见图2,所述方法还可以包括步骤S104:变更所述第一短信模板中的参数。根据业务需求灵活地变更短信模板中的参数,例如增加、删除或修改短信模板中的参数。例如将上述实施例的第一短信模板中的第三参数“收件人地址(#BuyerAddress#)”删除,则变更后的第一短信模板可以示例性地表示为“【韵达快运】尊敬的客户,运单号#LogisticsId#已被#CustomerName#签收。”
当短信模板数量较多时,可以从数据库中读取数据以初始化或者变更多个短信模板。数据库例如是sql数据库,执行xx.sql文件,从sql数据库中读取xx.sql文件对应的数据,对寄件短信模板、派件短信模板和签收短信模板进行初始化或者变更操作,提高短信模板的维护效率。当某天业务需要将签收短信的内容变更为“【韵达快运】尊敬的客户,运单号560000000已被张三签收。”的格式时,只需要修改xx.sql文件或者生成xx2.sql文件,再重新执行xx.sql文件或者执行xx2.sql文件,将签收短信模板修改为“【韵达快运】尊敬的客户,运单号#LogisticsId#已被#CustomerName#签收。”即可。
步骤S102:获取第一运单的运单信息,所述第一运单的运单信息包括所述第一参数至所述第N参数对应的第一参数值至第N参数值。其中,参数与参数值一一对应,第i参数对应第i参数值,i是不大于N的正整数。运单信息包括参数对应的参数值,第一参数至第七参数例如是运单号、寄件人姓名、寄件人电话、寄件人地址、收件人姓名、收件人电话、收件人地址,对应的第一参数值至第七参数值例如是560000000、李四、13900000000、北京市海淀区南大街33号、张三、13900000001、上海市青浦区盈港东路6679号。具体地,所述步骤S102可以包括:执行运单抓取脚本,从运单消息队列中获取所述第一运单的运单信息。运单抓取脚本LogisticsGetMQ注册并绑定运单数据队列RabbitMQ,用以读取运单消息队列中的运单信息。由此,执行运单抓取脚本,从运单消息队列中获取运单信息,通过异步处理提高***性能,降低***耦合性。进一步优选地,抓取到的运单信息可以同时存储于mysql数据库和redis数据库中,所述步骤S102可以包括:执行运单抓取脚本,从运单消息队列中获取所述第一运单的运单信息并存储至mysql数据库和redis数据库中。运单信息存储于mysql数据库以保存历史运单数据,存储于redis数据库以提高数据读取效率。
步骤S103:获取所述第一运单的第一状态信息,响应于所述第一运单的第一状态信息,根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备。第一状态例如是签收状态,第一状态信息例如是签收信息,第一待发送短信例如是第一运单处于签收状态的通知短信,示例性地表示为“【韵达快运】尊敬的客户,运单号560000000发往上海市青浦区盈港东路6679号已被张三签收。”第一运单对应的终端设备例如是寄件人的终端设备和/或收件人的终端设备。监控运单的状态,当运单处于某一状态时根据该状态对应的短信模板生成短信内容,用以通知用户运单的当前状态,由此,不需要调用方修改代码,通过初始化短信模板和监控脚本就可以实现短信内容的变更和自动发送,如果业务需要修改短信内容,直接修改模板即可,不需要修改短信发送的代码,节省修改代码以及将代码重新发布上线的时间成本,另外,短信内容根据短信模板自动生成,内容得到控制。
在一些可能的实现方式中,可以通过第三方平台向用户发送短信。具体地,步骤S103中根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备的步骤,可以包括:根据所述第一运单的运单信息和所述第一短信模板生成所述第一待发送短信并发送至第三方平台,通过所述第三方平台将所述第一待发送短信发送至所述第一运单对应的终端设备。通过第三方平台发送短信,节省短信发送功能的开发成本和维护成本。第三方平台可以设置有短信发送接口,步骤S103中调用第三方平台的短信发送接口发送第一待发送短信。
步骤S103中获取所述第一运单的第一状态信息的步骤,可以包括:执行短信抓取脚本,从第一状态消息队列中获取所述第一运单的第一状态信息。第一运单的运单信息和第一状态信息都包含第一运单的运单号,或者第一运单的运单信息和第一状态信息分别包含相互关联的第一标识和第二标识。由此,执行短信抓取脚本,从第一状态消息队列中获取状态信息,通过异步处理提高***性能,降低***耦合性。第一状态例如是签收状态,第一状态消息队列例如是签收消息队列,第一运单被目的网点签收之后,短信抓取脚本SmsMysqlToRedis从签收消息队列中抓取第一运单的签收信息,根据运单号从redis数据库中取出第一运单的运单信息。例如当第一运单的属性中需要发送签收短信时,短信抓取脚本可以取出该运单信息中的运单号、收件人地址和收件人姓名这3个值,用以编辑短信并发送。
在一些可能的实现方式中,短信的生成和发送可以包括如下步骤。参见图3,步骤S103中根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备的步骤,可以包括步骤S301~S302。
步骤S301:从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,i是不大于N的正整数。第一参数例如是运单号(#LogisticsId#),对应的第一参数值例如是560000000,第二参数例如是收件人姓名(#CustomerName#),对应的参数值例如是张三,第三参数例如是收件人地址(#BuyerAddress#),对应的参数值例如是上海市青浦区盈港东路6679号。将运单对应的参数值组合成一条短信内容数据,提高数据的读取效率。其中,组合成的短信内容数据例如是json格式的短信内容数据,示例性地表示为“{"LogisticsId":"560000000","BuyerAddress":"上海市青浦区盈港东路6679号","CustomerName":"张三"}”。
具体地,所述步骤S301可以包括:执行所述短信抓取脚本,从所述第一运单的运单信息中获取所述第i参数对应的第i参数值,以及将所述第i参数及其对应的第i参数值组合成所述第一运单对应的短信内容数据并存储至短信发送表。短信抓取脚本从mysql数据库的短信发送表中读取未发送的短信内容数据并存储至redis数据库的短信待发送队列,再读取短信待发送队列中的短信内容数据来生成短信,以此提高数据读取效率。由此,执行短信抓取脚本,从运单信息中获取参数值,将参数及其参数值组合成短信内容数据并存储至短信发送表。
步骤S302:使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数,生成所述第一待发送短信并发送至所述第一运单对应的终端设备。第一短信模板例如是“【韵达快运】尊敬的客户,运单号#LogisticsId#发往#BuyerAddress#已被#CustomerName#签收。”使用第一参数对应的第一参数值560000000替换第一短信模板中的#LogisticsId#,使用第二参数对应的第二参数值张三替换第一短信模板中的#CustomerName#,使用第三参数对应的第三参数值上海市青浦区盈港东路6679号替换第一短信模板中的#BuyerAddress#,则所生成的第一待发送短信例如是“【韵达快运】尊敬的客户,运单号560000000发往上海市青浦区盈港东路6679号已被张三签收。”
所述步骤S302中使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数的步骤,可以包括:执行短信发送脚本,从所述短信发送表中获取所述第一运单对应的短信内容数据,以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数。或者,可以执行短信抓取脚本从mysql数据库的短信发送表中读取未发送的短信内容数据并存储至redis数据库的短信待发送队列,从短信待发送队列中读取所述第一运单对应的短信内容数据,将抓取到的json格式的短信内容进行解析,变成键值对的格式,将短信模板中的参数用解析后的数据中的参数值进行替换,然后组合成完整的短信内容并发送。由此,执行短信发送脚本,从所述短信发送表或者短信待发送队列中取出短信内容数据,结合短信模板拼接出短信内容。
在一些可能的实现方式中,可以对短信发送表中待发送短信的短信发送状态进行标记。所述步骤S301还可以包括:将所述短信发送表中所述第一运单对应的短信内容数据的短信发送状态标记为待发送状态;所述步骤S302中从所述短信发送表中获取所述第一运单对应的短信内容数据的步骤,可以包括:从所述短信发送表中处于待发送状态的短信内容数据中获取所述第一运单对应的短信内容数据。对短信内容数据的短信发送状态进行标记,便于根据短信发送状态从短信发送表中取出待发送的短信内容数据。所述步骤S301还可以包括:根据上次读取的短信发送表的自增主键id值读取该id值之后预定数量且短信发送状态为待发送状态的短信内容数据,将短信内容数据组合成json格式写入短信发送表中。
进一步优选地,所述步骤S301还可以包括:将所述短信发送表中所述第一运单对应的短信内容数据的短信类型标记为第一状态短信。对短信内容数据的短信类型进行标记,便于根据短信类型对某一类型的短信内容数据进行查看、筛选和排序。
进一步优选地,所述步骤S301还可以包括:将所述短信发送表中所述第一运单对应的短信内容数据的短信模板编码标记为第一编码。对短信内容数据的短信模板编码进行标记,便于根据短信模板编码取用数据库中的短信模板。数据库中可以存储有短信模板表,用以存储短信模板。
参见图4,本申请实施例还提供了一种短信发送方法,所述方法包括步骤S401~S405。
步骤S401:从运单消息队列和状态消息队列中抓取运单信息和状态信息。
步骤S402:判断当前运单是否需要发送短信,如果是,则执行步骤S403。
步骤S403:查询短信发送表。
步骤S404:从短信发送表中抓取与当前运单相对应的待发送的短信内容数据,组合成完整短信内容。
步骤S405:通过短信发送运营商发送短信。
参见图5,本申请实施例还提供了一种短信发送方法,所述方法包括步骤S501~S505。
步骤S501:执行xx.sql文件,初始化签收短信模板为“【韵达快运】尊敬的客户,运单号#LogisticsId#发往#BuyerAddress#已被#CustomerName#签收。”
步骤S502:网点在网点***录入560000000运单号进行开单;快件到达目的网点后,目的网点对该运单号进行签收扫描。
步骤S503:执行运单抓取脚本抓取运单消息队列中560000000运单号对应的运单信息并写入redis中,执行短信抓取脚本抓取签收消息队列中560000000运单号的签收扫描数据,然后从redis中获取到560000000运单号的收件人地址和收件人姓名,并将这几个参数组合成json格式字符串“{"LogisticsId":"560000000","BuyerAddress":"上海市青浦区盈港东路6679号","CustomerName":"张三"}”的短信内容,然后再将运单号、短信内容、短信发送状态、模板编码、手机号等信息写入mysql数据库的短信发送表。
步骤S504:短信发送脚本从mysql数据库中的短信发送表中轮询待发送短信的数据,当查找到560000000这个运单号的待发送数据时会取出该运单号待发送短信的信息,再根据短信模板编码查找到签收短信的模板内容“【韵达快运】尊敬的客户,运单号#LogisticsId#发往#BuyerAddress#已被#CustomerName#签收。”,然后将560000000运单号待发送短信内容中的json格式的数据解析成键值对的格式,并用其中的LogisticsId、BuyerAddress和CustomerName的值替换短信模板中的#LogisticsId#、#BuyerAddress#和#CustomerName#,最终生成完整的短信内容“【韵达快运】尊敬的客户,运单号560000000发往上海市青浦区盈港东路6679号已被张三签收。”
步骤S505:某天业务变更,需要将签收短信的内容变更为“【韵达快运】尊敬的客户,运单号560000000已被张三签收。”的格式,此时只需要执行xx2.sql将签收短信模板内容变更为“【韵达快运】尊敬的客户,运单号#LogisticsId#已被#CustomerName#签收。”即可,快速方便,无需修改代码。
参见图6,本申请实施例还提供了一种短信发送装置,所述装置包括:模板获取模块201,用于获取第一短信模板,所述第一短信模板用于生成运单处于第一状态的通知短信,所述第一短信模板包括第一参数至第N参数,N是正整数;运单获取模块202,用于获取第一运单的运单信息,所述第一运单的运单信息包括所述第一参数至所述第N参数对应的第一参数值至第N参数值;短信发送模块203,用于获取所述第一运单的第一状态信息,响应于所述第一运单的第一状态信息,根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备。
在一些可能的实现方式中,所述运单获取模块202可以执行运单抓取脚本,从运单消息队列中获取所述第一运单的运单信息;所述短信发送模块203可以执行短信抓取脚本,从第一状态消息队列中获取所述第一运单的第一状态信息。
在一些可能的实现方式中,所述短信发送模块203可以从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,i是不大于N的正整数;以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数,生成所述第一待发送短信并发送至所述第一运单对应的终端设备。
在一些可能的实现方式中,所述短信发送模块203可以执行所述短信抓取脚本,从所述第一运单的运单信息中获取所述第i参数对应的第i参数值,以及将所述第i参数及其对应的第i参数值组合成所述第一运单对应的短信内容数据并存储至短信发送表;所述短信发送模块203还可以执行短信发送脚本,从所述短信发送表中获取所述第一运单对应的短信内容数据,以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数。
在一些可能的实现方式中,所述短信发送模块203还可以将所述短信发送表中所述第一运单对应的短信内容数据的短信发送状态标记为待发送状态;所述短信发送模块203还可以从所述短信发送表中处于待发送状态的短信内容数据中获取所述第一运单对应的短信内容数据。
在一些可能的实现方式中,所述短信发送模块203还可以将所述短信发送表中所述第一运单对应的短信内容数据的短信类型标记为第一状态短信。
在一些可能的实现方式中,所述短信发送模块203可以根据所述第一运单的运单信息和所述第一短信模板生成所述第一待发送短信并发送至第三方平台,通过所述第三方平台将所述第一待发送短信发送至所述第一运单对应的终端设备。
在一些可能的实现方式中,继续参见图6,所述装置还可以包括模板变更模块204,用于变更所述第一短信模板中的参数。
在一些可能的实现方式中,所述第一状态可以是寄件状态、派件状态或者签收状态。
参见图7,本申请实施例还提供了一种短信发送的电子设备3,电子设备3包括至少一个存储单元31、至少一个处理单元32以及连接不同平台***的总线33。
存储单元31可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)311和/或高速缓存存储单元312,还可以进一步包括只读存储单元(ROM)313。
其中,存储单元31还存储有程序产品4,程序产品4可以被处理单元32执行,使得处理单元32执行本申请实施例中短信发送方法的步骤(如图1所示)。存储单元31还可以包括具有一组(至少一个)程序模块315的程序/实用工具314,这样的程序模块包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
相应的,处理单元32可以执行上述的程序产品4,以及可以执行程序/实用工具314。
总线33可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备3也可以与一个或多个外部设备34例如键盘、指向设备、蓝牙设备等通信,还可与一个或者多个能够与该电子设备3交互的设备通信,和/或与使得该电子设备3能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,电子设备3还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器36可以通过总线33与电子设备3的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备3使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储平台等。
参见图8,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,所述计算机程序被执行时实现本申请实施例中短信发送方法的步骤(如图1所示)。图8示出了本实施例提供的用于实现上述方法的程序产品4,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品4不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。程序产品4可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言诸如Java、C++等,还包括常规的过程式程序设计语言诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本申请从使用目的上,效能上,进步及新颖性等观点进行阐述,其设置有的实用进步性,已符合专利法所强调的功能增进及使用要件,本申请以上的说明及附图,仅为本申请的较佳实施例而已,并非以此局限本申请,因此,凡一切与本申请构造,装置,特征等近似、雷同的,即凡依本申请专利申请范围所作的等同替换或修饰等,皆应属本申请的专利申请保护的范围之内。
Claims (8)
1.一种短信发送方法,其特征在于,所述方法包括:
获取第一短信模板,所述第一短信模板用于生成运单处于第一状态的通知短信,所述第一短信模板包括第一参数至第N参数,N是正整数;
获取第一运单的运单信息,所述第一运单的运单信息包括所述第一参数至所述第N参数对应的第一参数值至第N参数值;
获取所述第一运单的第一状态信息,响应于所述第一运单的第一状态信息,根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备;
所述根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备,包括:
从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,i是不大于N的正整数;
使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数,从短信发送表中取出短信内容数据并结合所述第一短信模板,生成所述第一待发送短信并发送至所述第一运单对应的终端设备;
所述从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,包括:
执行短信抓取脚本,从所述第一运单的运单信息中获取所述第i参数对应的第i参数值,以及将所述第i参数及其对应的第i参数值组合成所述第一运单对应的短信内容数据并存储至短信发送表;
所述使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数,包括:
执行短信发送脚本,从所述短信发送表中获取所述第一运单对应的短信内容数据,以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数。
2.根据权利要求1所述的短信发送方法,其特征在于,所述获取第一运单的运单信息,包括:
执行运单抓取脚本,从运单消息队列中获取所述第一运单的运单信息;
所述获取所述第一运单的第一状态信息,包括:
执行短信抓取脚本,从第一状态消息队列中获取所述第一运单的第一状态信息。
3.根据权利要求1所述的短信发送方法,其特征在于,所述从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,还包括:
将所述短信发送表中所述第一运单对应的短信内容数据的短信发送状态标记为待发送状态;
所述从所述短信发送表中获取所述第一运单对应的短信内容数据,包括:
从所述短信发送表中处于待发送状态的短信内容数据中获取所述第一运单对应的短信内容数据。
4.根据权利要求1所述的短信发送方法,其特征在于,所述从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,还包括:
将所述短信发送表中所述第一运单对应的短信内容数据的短信类型标记为第一状态短信。
5.根据权利要求1所述的短信发送方法,其特征在于,所述根据所述第一运单的运单信息和所述第一短信模板生成第一待发送短信并发送至所述第一运单对应的终端设备,包括:
根据所述第一运单的运单信息和所述第一短信模板生成所述第一待发送短信并发送至第三方平台,通过所述第三方平台将所述第一待发送短信发送至所述第一运单对应的终端设备。
6.根据权利要求1-5任一项所述的短信发送方法,其特征在于,所述方法还包括:
变更所述第一短信模板中的参数。
7.根据权利要求6所述的短信发送方法,其特征在于,所述第一状态是寄件状态、派件状态或者签收状态。
8.一种短信发送装置,其特征在于,所述装置包括:
模板获取模块,用于获取第一短信模板,所述第一短信模板用于生成运单处于第一状态的通知短信,所述第一短信模板包括第一参数至第N参数,N是正整数;
运单获取模块,用于获取第一运单的运单信息,所述第一运单的运单信息包括所述第一参数至所述第N参数对应的第一参数值至第N参数值;
短信发送模块,用于获取所述第一运单的第一状态信息,响应于所述第一运单的第一状态信息,根据所述第一运单的运单信息和所述第一短信模板,从短信发送表中取出短信内容数据并结合所述第一短信模板,生成第一待发送短信并发送至所述第一运单对应的终端设备;
所述短信发送模块从所述第一运单的运单信息中获取第i参数对应的第i参数值,组合成所述第一运单对应的短信内容数据,i是不大于N的正整数;
以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数,生成所述第一待发送短信并发送至所述第一运单对应的终端设备;
所述短信发送模块执行短信抓取脚本,从所述第一运单的运单信息中获取所述第i参数对应的第i参数值,以及将所述第i参数及其对应的第i参数值组合成所述第一运单对应的短信内容数据并存储至短信发送表;
所述短信发送模块还执行短信发送脚本,从所述短信发送表中获取所述第一运单对应的短信内容数据,以及使用所述第一运单对应的短信内容数据中所述第i参数对应的第i参数值替换所述第一短信模板中的所述第i参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526885.4A CN111757282B (zh) | 2020-06-11 | 2020-06-11 | 短信发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010526885.4A CN111757282B (zh) | 2020-06-11 | 2020-06-11 | 短信发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111757282A CN111757282A (zh) | 2020-10-09 |
CN111757282B true CN111757282B (zh) | 2022-07-12 |
Family
ID=72676025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010526885.4A Active CN111757282B (zh) | 2020-06-11 | 2020-06-11 | 短信发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111757282B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330231B (zh) * | 2020-12-10 | 2024-03-22 | 浙江口碑网络技术有限公司 | 一种信息处理方法、装置及电子设备 |
CN113784299B (zh) * | 2021-09-18 | 2023-03-14 | 上海中通吉网络技术有限公司 | 一种基于mq消息通道的短信发送方法、装置及计算机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203232436U (zh) * | 2013-05-08 | 2013-10-09 | 中国计量学院 | 一种手持快递派件终端 |
CN106533920A (zh) * | 2016-12-02 | 2017-03-22 | 北京红马传媒文化发展有限公司 | 自定义短信发送*** |
CN111107504A (zh) * | 2019-12-31 | 2020-05-05 | 苏州易卖东西信息技术有限公司 | 基于大数据的电商客户关怀短信推送方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656928B (zh) * | 2008-08-20 | 2011-11-09 | 华为软件技术有限公司 | 短消息处理方法、***及组装程序单元 |
CN105354284B (zh) * | 2015-10-30 | 2019-12-03 | 小米科技有限责任公司 | 模板的处理方法及装置、短信识别方法及装置 |
CN106713617B (zh) * | 2016-11-25 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 信息显示方法及装置 |
CN106792594B (zh) * | 2016-12-29 | 2020-10-27 | 江西博瑞彤芸科技有限公司 | 短消息的发送方法 |
CN106658447A (zh) * | 2016-12-29 | 2017-05-10 | 江西博瑞彤芸科技有限公司 | 基于短信服务的数据处理方法 |
CN108289120A (zh) * | 2017-12-29 | 2018-07-17 | 陈菡 | 一种基于不动产统一登记的短信服务方法与装置 |
US10531245B1 (en) * | 2018-08-01 | 2020-01-07 | Walgreen Co. | Push-based communications systems and methods for transmitting push-based communications associated with products moving geographically |
-
2020
- 2020-06-11 CN CN202010526885.4A patent/CN111757282B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203232436U (zh) * | 2013-05-08 | 2013-10-09 | 中国计量学院 | 一种手持快递派件终端 |
CN106533920A (zh) * | 2016-12-02 | 2017-03-22 | 北京红马传媒文化发展有限公司 | 自定义短信发送*** |
CN111107504A (zh) * | 2019-12-31 | 2020-05-05 | 苏州易卖东西信息技术有限公司 | 基于大数据的电商客户关怀短信推送方法 |
Non-Patent Citations (1)
Title |
---|
基于模板的***;徐会艳等;《计算机***应用》;20150515(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111757282A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339186B (zh) | 工作流引擎数据同步方法、装置、介质及电子设备 | |
CN109617646B (zh) | 报文转换方法、装置、计算机设备及计算机可读存储介质 | |
CN102263830B (zh) | 便于推送内容的后台处理的装置和相关方法 | |
CN112788074B (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
CN105793840A (zh) | 在撰写电子邮件的同时文件预览和许可 | |
CN111757282B (zh) | 短信发送方法及装置 | |
CN102567299A (zh) | 使用文本消息与电子表格交互 | |
CN111177112A (zh) | 基于运维管理***的数据库阻断方法、装置及电子设备 | |
CN111382123B (zh) | 文件存储方法、装置、设备及存储介质 | |
CN103716356A (zh) | 基于web的存储过程操作方法、装置和*** | |
CN113656735A (zh) | 消息推送***、方法、电子设备和存储介质 | |
CN112181542A (zh) | 功能调用方法、装置、电子设备及存储介质 | |
CN112995239A (zh) | 一种数据处理方法和装置 | |
CN112288362B (zh) | 包裹重投递方法、包裹投递方法以及相关设备 | |
CN103716760A (zh) | 一种收发短信方法及*** | |
CN111510499B (zh) | 一种通讯方法、装置、设备及存储介质 | |
CN112925584A (zh) | 基于场景的文件配置方法、设备、存储介质及程序产品 | |
CN102110144B (zh) | 文档访问方法和文档访问装置 | |
CN110505289B (zh) | 文件下载方法及装置、计算机可读介质、无线通信设备 | |
CN111866767B (zh) | 消息处理方法、装置、电子设备及可读介质 | |
CN109614442B (zh) | 数据同步的数据表维护方法、装置、存储介质和电子设备 | |
CN113992622B (zh) | 一种基于统一模型的多模板聚合消息通知发送***及方法 | |
CN111401819B (zh) | ***间数据推送方法及*** | |
CN111352742B (zh) | 一种基于app组件化的信息传递方法及装置 | |
JP6932677B2 (ja) | 携帯端末、システム、アクセス方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |