24:version 67:sendreg 118:sendregcard 64:dindanclient 138:client3 90:client2 177:chilmsg 208:hospitalclient 一、从version表中获取以下内容: [msgsendtype], /* 短信类型:网络短信=0、手机卡短信=1 */ [msgaccount], /* 短信账号 */ [msgpsw], /* 短信密码 */ [msgused], /* 已发送的短信条数 */ [msgbalance], /* 短信余额 */ [msgtime], /* 每晚自动发送财务短信到老板手机上的时间(hour) */ [msgphones], /* 接收财务短信的老板手机串 */ [msgphones2], /* 短信查财务,接收内容的手机串 */ [msgcompanyname], /* 短信的店名 */ 二、儿童版本短信生成过程: ---------------------------------------------------- 1.儿童生日前n天发送短信 a.从version表获取以下信息 是否启用:msgcheck1 多少天前:msgdays1 短信模板:msgcontent1 b.从dindanclient视图中获取以下信息 家长姓名:name1 家长手机:phone1 儿童姓名:name2 儿童生成:birthday1 是否农历:check1 c.如果check1==1,表示生日为农历。需要转为阳历birthday。再判断"birthday> 今日 >= birthday-msgdays1"是否成立。成立继续执行。 d.判断手机phone1是否有效。有效继续执行。 e.在msgcontent1短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。 f.判断新的msgcontent1是否含违法字符。合法继续执行。 g.从sendreg表中以"phone1+msgcontent1"或 "phone1+isautosend='%s'"为条件查询是否存在记录,没有则insert记录到sendreg中。 h.结束。 ---------------------------------------------------- 2.儿童百天前n天发送短信 a.从version表获取以下信息 是否启用:msgcheck2 多少天前:msgdays2 短信模板:msgcontent2 b.从dindanclient视图中获取以下信息 家长姓名:name1 家长手机:phone1 儿童姓名:name2 儿童生成:birthday1 是否农历:check1 c.如果check1==1,表示生日为农历。需要转为阳历birthday。再判断"birthday+100 > 今日 >= birthday+100-msgdays2"是否成立。成立继续执行。 d.判断手机phone1是否有效。有效继续执行。 e.在msgcontent2短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。 f.判断新的msgcontent2是否含违法字符。合法继续执行。 g.从sendreg表中以"phone1+msgcontent2"或 "phone1+isautosend='%s'"为条件查询是否存在记录,没有则insert记录到sendreg中。 h.结束。 ---------------------------------------------------- 3.医院孕妇跟踪短信 a.从version表获取以下信息 是否启用医院孕妇跟踪短信:hospitalmsgcheck2 若==1表示启用,继续执行。否则退出 b.从hospitalclient视图中获取以下信息 家长姓名:name1 家长手机:phone1 预产期: birthday 日期类型:birthdaytype ==0表示儿童生日,==1表示孕妇预产期; 怀孕周期:pregnancydays 是否农历:check1, ==0阳历,==1农历; 来单日期:date1 --怀孕日期:date1 - pregnancydays c.从childmsg表中获取以下信息 是否自动发送:check 满多少天才发送:days 短信内容:content 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信 d.如果check1==0,表示孕妇预产期为农历。需要转为阳历birthday。再判断"date1 - pregnancydays + days <= 今日 < birthday"是否成立。成立执行分支1的流程。 e.若check==1,自动发送短信,继续执行流程。 f.如果怀孕天数pregnancydays >= days,表示来下订单时就已经超过满days发短信的规则,退出执行。否则继续执行。 h.判断手机phone1是否有效。有效继续执行。 i.判断content是否含违法字符。合法继续执行。 j.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'"为条件查询是否存在记录,没有则insert记录到sendreg中。 k.结束。 ---------------------------------------------------- 4.医院儿童跟踪短信 a.从version表获取以下信息 是否启用生日前n天:msgcheck1 生日多少天前:msgdays1 生日短信模板:msgcontent1 是否启用满x天前n天:msgcheck2 满x天多少天前:msgdays2 满x天短信模板:msgcontent2 是否启用医院儿童跟踪短信:hospitalmsgcheck1 若==1启用继续执行。否则退出。 b.从hospitalclient视图中获取以下信息 家长姓名:name1 家长手机:phone1 儿童姓名:name2 儿童生日:birthday 日期类型:birthdaytype ==0表示儿童生日,==1表示孕妇预产期; 是否农历:check1, ==0阳历,==1农历; c.如果check1==0,表示生日为农历。需要转为阳历birthday。再判断"birthday > 今日 >= birthday-msgdays1"是否成立。成立执行分支1生日前n天发短信的流程。 d.从childmsg表中获取以下信息 是否自动发送:check 满多少天才发送:days 短信内容:content 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信 e.若check==1,自动发送短信,继续执行流程。 f.如果check1==0,表示生日为农历。需要转为阳历birthday_y。再判断 "birthday_y+days <= 今日" 是否成立。成立继续执行。 g.判断手机phone1是否有效。有效继续执行。 h.在content短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。 i.判断新的content是否含违法字符。合法继续执行。 j.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'" 为条件查询是否存在记录,没有则insert记录到sendreg中。 k.结束。 ---------------------------------------------------- 5.老客户短信 a.从version表获取以下信息 是否启用生日前n天:msgcheck1 生日多少天前:msgdays1 生日短信模板:msgcontent1 是否启用满x天前n天:msgcheck2 满x天多少天前:msgdays2 满x天短信模板:msgcontent2 b.从client3表获取以下信息 家长姓名:name 家长手机:phone 宝宝姓名:name2 宝宝生日:birthday 是否农历:check1 c.若msgcheck1==1,执行分支1的流程; d.若msgcheck2==1,执行分支2的流程。 ---------------------------------------------------- 6.意向客户短信 a.从version表获取以下信息 是否启用生日前n天:msgcheck1 生日多少天前:msgdays1 生日短信模板:msgcontent1 是否启用满x天前n天:msgcheck2 满x天多少天前:msgdays2 满x天短信模板:msgcontent2 b.从Client2表获取以下信息: 客户姓名:name 儿童版本这里填的多为儿童姓名 客户手机:phone 儿童版本这里填的是家长手机 客户性别:sex 儿童版本这里填的是宝宝性别 客户生日:birthday 儿童版本这里填的是宝宝生日 是否农历:check1 ==1农历 0==阳历 c.若msgcheck1==1,执行分支1的流程; d.若msgcheck2==1,执行分支2的流程。 ---------------------------------------------------- 7.儿童订单客户满n天发送短信 a.从version表获取以下信息 是否启用医院儿童跟踪短信:hospitalmsgcheck1 若==1启用继续执行。否则退出。 b.从dindanclient视图中获取以下信息 家长姓名:name1 家长手机:phone1 儿童姓名:name2 儿童生成:birthday1 是否农历:check1 c.从childmsg获取以下信息 是否自动发送:check 满多少天才发送:days 短信内容:content 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信 d.若check==1,自动发送短信,继续执行流程。 e.如果check1==1,表示生日为农历。需要转为阳历birthday_y。再判断 "birthday_y+days <= 今日" 是否成立。成立继续执行。 f.判断手机phone1是否有效。有效继续执行。 g.在content短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。 h.判断新的content是否含违法字符。合法继续执行。 i.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'" 为条件查询是否存在记录,没有则insert记录到sendreg中。 j.结束。 ---------------------------------------------------- 8.老客户满n天发送短信 a.从version表获取以下信息 是否启用医院儿童跟踪短信:hospitalmsgcheck1 若==1启用继续执行。否则退出。 b.从client3表获取以下信息 --家长姓名:name 家长手机:phone 宝宝姓名:name2 宝宝生日:birthday 是否农历:check1 c.从childmsg获取以下信息 是否自动发送:check 满多少天才发送:days 短信内容:content 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信 d.若check==1,自动发送短信,继续执行流程。 e.如果check1==1,表示生日为农历。需要转为阳历birthday_y。再判断 "birthday_y+days <= 今日" 是否成立。成立继续执行。 f.判断手机phone1是否有效。有效继续执行。 g.在content短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。 h.判断新的content是否含违法字符。合法继续执行。 i.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'" 为条件查询是否存在记录,没有则insert记录到sendreg中。 j.结束。 ---------------------------------------------------- 9.意向客户满n天发送短信 a.从version表获取以下信息 是否启用医院儿童跟踪短信:hospitalmsgcheck1 若==1启用继续执行。否则退出。 b.从Client2表获取以下信息: 客户姓名:name 儿童版本这里填的多为儿童姓名 客户手机:phone 儿童版本这里填的是家长手机 --客户性别:sex 儿童版本这里填的是宝宝性别 客户生日:birthday 儿童版本这里填的是宝宝生日 是否农历:check1 ==1农历 0==阳历 c.从childmsg获取以下信息 是否自动发送:check 满多少天才发送:days 短信内容:content 短信类型:mode ==0未知模式,==1表示儿童短信,==2表示孕妇短信 d.若check==1,自动发送短信,继续执行流程。 e.如果check1==1,表示生日为农历。需要转为阳历birthday_y。再判断 "birthday_y+days <= 今日" 是否成立。成立继续执行。 f.判断手机phone1是否有效。有效继续执行。 g.在content短信模板中替换原有的"xxx小朋友",替换为name2+"小朋友"。 h.判断新的content是否含违法字符。合法继续执行。 i.从sendreg表中以"phone1+content"或 "phone1+isautosend='%s'" 为条件查询是否存在记录,没有则insert记录到sendreg中。 j.结束。 ---------------------------------------------------- A.儿童生日前n天发送短信关联表:dindanclient、client3、client2、hospitalclient B.儿童百天前n天发送短信关联表:dindanclient、client3、client2 C.儿童满n天时发送短信关联表:dindanclient、client3、client2、hospitalclient D.孕妇怀孕满n天发送短信关联表:hospitalclient