儿童短信生成过程.txt 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. 24:version
  2. 67:sendreg
  3. 118:sendregcard
  4. 64:dindanclient
  5. 138:client3
  6. 90:client2
  7. 177:chilmsg
  8. 208:hospitalclient
  9. 一、从version表中获取以下内容:
  10. [msgsendtype], /* 短信类型:网络短信=0、手机卡短信=1 */
  11. [msgaccount], /* 短信账号 */
  12. [msgpsw], /* 短信密码 */
  13. [msgused], /* 已发送的短信条数 */
  14. [msgbalance], /* 短信余额 */
  15. [msgtime], /* 每晚自动发送财务短信到老板手机上的时间(hour) */
  16. [msgphones], /* 接收财务短信的老板手机串 */
  17. [msgphones2], /* 短信查财务,接收内容的手机串 */
  18. [msgcompanyname], /* 短信的店名 */
  19. 二、儿童版本短信生成过程:
  20. ----------------------------------------------------
  21. 1.儿童生日前n天发送短信
  22. a.从version表获取以下信息
  23. 是否启用:msgcheck1
  24. 多少天前:msgdays1
  25. 短信模板:msgcontent1
  26. b.从dindanclient视图中获取以下信息
  27. 家长姓名:name1
  28. 家长手机:phone1
  29. 儿童姓名:name2
  30. 儿童生成:birthday1
  31. 是否农历:check1
  32. c.如果check1==1,表示生日为农历。需要转为阳历birthday。再判断"birthday> 今日 >= birthday-msgdays1"是否成立。成立继续执行。
  33. d.判断手机phone1是否有效。有效继续执行。
  34. e.在msgcontent1短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。
  35. f.判断新的msgcontent1是否含违法字符。合法继续执行。
  36. g.从sendreg表中以"phone1+msgcontent1"或 "phone1+isautosend='%s'"为条件查询是否存在记录,没有则insert记录到sendreg中。
  37. h.结束。
  38. ----------------------------------------------------
  39. 2.儿童百天前n天发送短信
  40. a.从version表获取以下信息
  41. 是否启用:msgcheck2
  42. 多少天前:msgdays2
  43. 短信模板:msgcontent2
  44. b.从dindanclient视图中获取以下信息
  45. 家长姓名:name1
  46. 家长手机:phone1
  47. 儿童姓名:name2
  48. 儿童生成:birthday1
  49. 是否农历:check1
  50. c.如果check1==1,表示生日为农历。需要转为阳历birthday。再判断"birthday+100 > 今日 >= birthday+100-msgdays2"是否成立。成立继续执行。
  51. d.判断手机phone1是否有效。有效继续执行。
  52. e.在msgcontent2短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。
  53. f.判断新的msgcontent2是否含违法字符。合法继续执行。
  54. g.从sendreg表中以"phone1+msgcontent2"或 "phone1+isautosend='%s'"为条件查询是否存在记录,没有则insert记录到sendreg中。
  55. h.结束。
  56. ----------------------------------------------------
  57. 3.医院孕妇跟踪短信
  58. a.从version表获取以下信息
  59. 是否启用医院孕妇跟踪短信:hospitalmsgcheck2 若==1表示启用,继续执行。否则退出
  60. b.从hospitalclient视图中获取以下信息
  61. 家长姓名:name1
  62. 家长手机:phone1
  63. 预产期: birthday
  64. 日期类型:birthdaytype ==0表示儿童生日,==1表示孕妇预产期;
  65. 怀孕周期:pregnancydays
  66. 是否农历:check1, ==0阳历,==1农历;
  67. 来单日期:date1
  68. --怀孕日期:date1 - pregnancydays
  69. c.从childmsg表中获取以下信息
  70. 是否自动发送:check
  71. 满多少天才发送:days
  72. 短信内容:content
  73. 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信
  74. d.如果check1==0,表示孕妇预产期为农历。需要转为阳历birthday。再判断"date1 - pregnancydays + days <= 今日 < birthday"是否成立。成立执行分支1的流程。
  75. e.若check==1,自动发送短信,继续执行流程。
  76. f.如果怀孕天数pregnancydays >= days,表示来下订单时就已经超过满days发短信的规则,退出执行。否则继续执行。
  77. h.判断手机phone1是否有效。有效继续执行。
  78. i.判断content是否含违法字符。合法继续执行。
  79. j.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'"为条件查询是否存在记录,没有则insert记录到sendreg中。
  80. k.结束。
  81. ----------------------------------------------------
  82. 4.医院儿童跟踪短信
  83. a.从version表获取以下信息
  84. 是否启用生日前n天:msgcheck1
  85. 生日多少天前:msgdays1
  86. 生日短信模板:msgcontent1
  87. 是否启用满x天前n天:msgcheck2
  88. 满x天多少天前:msgdays2
  89. 满x天短信模板:msgcontent2
  90. 是否启用医院儿童跟踪短信:hospitalmsgcheck1 若==1启用继续执行。否则退出。
  91. b.从hospitalclient视图中获取以下信息
  92. 家长姓名:name1
  93. 家长手机:phone1
  94. 儿童姓名:name2
  95. 儿童生日:birthday
  96. 日期类型:birthdaytype ==0表示儿童生日,==1表示孕妇预产期;
  97. 是否农历:check1, ==0阳历,==1农历;
  98. c.如果check1==0,表示生日为农历。需要转为阳历birthday。再判断"birthday > 今日 >= birthday-msgdays1"是否成立。成立执行分支1生日前n天发短信的流程。
  99. d.从childmsg表中获取以下信息
  100. 是否自动发送:check
  101. 满多少天才发送:days
  102. 短信内容:content
  103. 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信
  104. e.若check==1,自动发送短信,继续执行流程。
  105. f.如果check1==0,表示生日为农历。需要转为阳历birthday_y。再判断 "birthday_y+days <= 今日" 是否成立。成立继续执行。
  106. g.判断手机phone1是否有效。有效继续执行。
  107. h.在content短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。
  108. i.判断新的content是否含违法字符。合法继续执行。
  109. j.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'" 为条件查询是否存在记录,没有则insert记录到sendreg中。
  110. k.结束。
  111. ----------------------------------------------------
  112. 5.老客户短信
  113. a.从version表获取以下信息
  114. 是否启用生日前n天:msgcheck1
  115. 生日多少天前:msgdays1
  116. 生日短信模板:msgcontent1
  117. 是否启用满x天前n天:msgcheck2
  118. 满x天多少天前:msgdays2
  119. 满x天短信模板:msgcontent2
  120. b.从client3表获取以下信息
  121. 家长姓名:name
  122. 家长手机:phone
  123. 宝宝姓名:name2
  124. 宝宝生日:birthday
  125. 是否农历:check1
  126. c.若msgcheck1==1,执行分支1的流程;
  127. d.若msgcheck2==1,执行分支2的流程。
  128. ----------------------------------------------------
  129. 6.意向客户短信
  130. a.从version表获取以下信息
  131. 是否启用生日前n天:msgcheck1
  132. 生日多少天前:msgdays1
  133. 生日短信模板:msgcontent1
  134. 是否启用满x天前n天:msgcheck2
  135. 满x天多少天前:msgdays2
  136. 满x天短信模板:msgcontent2
  137. b.从Client2表获取以下信息:
  138. 客户姓名:name 儿童版本这里填的多为儿童姓名
  139. 客户手机:phone 儿童版本这里填的是家长手机
  140. 客户性别:sex 儿童版本这里填的是宝宝性别
  141. 客户生日:birthday 儿童版本这里填的是宝宝生日
  142. 是否农历:check1 ==1农历 0==阳历
  143. c.若msgcheck1==1,执行分支1的流程;
  144. d.若msgcheck2==1,执行分支2的流程。
  145. ----------------------------------------------------
  146. 7.儿童订单客户满n天发送短信
  147. a.从version表获取以下信息
  148. 是否启用医院儿童跟踪短信:hospitalmsgcheck1 若==1启用继续执行。否则退出。
  149. b.从dindanclient视图中获取以下信息
  150. 家长姓名:name1
  151. 家长手机:phone1
  152. 儿童姓名:name2
  153. 儿童生成:birthday1
  154. 是否农历:check1
  155. c.从childmsg获取以下信息
  156. 是否自动发送:check
  157. 满多少天才发送:days
  158. 短信内容:content
  159. 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信
  160. d.若check==1,自动发送短信,继续执行流程。
  161. e.如果check1==1,表示生日为农历。需要转为阳历birthday_y。再判断 "birthday_y+days <= 今日" 是否成立。成立继续执行。
  162. f.判断手机phone1是否有效。有效继续执行。
  163. g.在content短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。
  164. h.判断新的content是否含违法字符。合法继续执行。
  165. i.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'" 为条件查询是否存在记录,没有则insert记录到sendreg中。
  166. j.结束。
  167. ----------------------------------------------------
  168. 8.老客户满n天发送短信
  169. a.从version表获取以下信息
  170. 是否启用医院儿童跟踪短信:hospitalmsgcheck1 若==1启用继续执行。否则退出。
  171. b.从client3表获取以下信息
  172. --家长姓名:name
  173. 家长手机:phone
  174. 宝宝姓名:name2
  175. 宝宝生日:birthday
  176. 是否农历:check1
  177. c.从childmsg获取以下信息
  178. 是否自动发送:check
  179. 满多少天才发送:days
  180. 短信内容:content
  181. 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信
  182. d.若check==1,自动发送短信,继续执行流程。
  183. e.如果check1==1,表示生日为农历。需要转为阳历birthday_y。再判断 "birthday_y+days <= 今日" 是否成立。成立继续执行。
  184. f.判断手机phone1是否有效。有效继续执行。
  185. g.在content短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。
  186. h.判断新的content是否含违法字符。合法继续执行。
  187. i.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'" 为条件查询是否存在记录,没有则insert记录到sendreg中。
  188. j.结束。
  189. ----------------------------------------------------
  190. 9.意向客户满n天发送短信
  191. a.从version表获取以下信息
  192. 是否启用医院儿童跟踪短信:hospitalmsgcheck1 若==1启用继续执行。否则退出。
  193. b.从Client2表获取以下信息:
  194. 客户姓名:name 儿童版本这里填的多为儿童姓名
  195. 客户手机:phone 儿童版本这里填的是家长手机
  196. --客户性别:sex 儿童版本这里填的是宝宝性别
  197. 客户生日:birthday 儿童版本这里填的是宝宝生日
  198. 是否农历:check1 ==1农历 0==阳历
  199. c.从childmsg获取以下信息
  200. 是否自动发送:check
  201. 满多少天才发送:days
  202. 短信内容:content
  203. 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信
  204. d.若check==1,自动发送短信,继续执行流程。
  205. e.如果check1==1,表示生日为农历。需要转为阳历birthday_y。再判断 "birthday_y+days <= 今日" 是否成立。成立继续执行。
  206. f.判断手机phone1是否有效。有效继续执行。
  207. g.在content短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。
  208. h.判断新的content是否含违法字符。合法继续执行。
  209. i.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'" 为条件查询是否存在记录,没有则insert记录到sendreg中。
  210. j.结束。
  211. ----------------------------------------------------
  212. A.儿童生日前n天发送短信关联表:dindanclient、client3、client2、hospitalclient
  213. B.儿童百天前n天发送短信关联表:dindanclient、client3、client2
  214. C.儿童满n天时发送短信关联表:dindanclient、client3、client2、hospitalclient
  215. D.孕妇怀孕满n天发送短信关联表:hospitalclient