Example #1
0
 def MedicineReport(self, recMsg):
     strret = "该功能尚未开通,敬请期待"
     content = recMsg.Content.strip()
     if not User.TestUserExist(recMsg.FromUserName):
         strret = "请先回复7添加姓名"
     elif content[1:] == "":
         strret = '请回复5+症状描述、所需的药品或想了解的问题,如"5脚扭伤需要云南白药喷雾剂"'
     else:
         self.WriteToLog("MR:" + User.GetUserName(recMsg.FromUserName) +
                         ":" + content[1:])
         strret = "您的请求已记录,将转达至相关人员,谢谢"
     return strret
Example #2
0
 def RepairReport(self, recMsg):
     strret = "该功能尚未开通,敬请期待"
     content = recMsg.Content.strip()
     if not User.TestUserExist(recMsg.FromUserName):
         strret = "请先回复7添加姓名"
     elif content[1:] == "":
         strret = '请回复4+报备维修的物品及位置,如"4宿舍209卫生间排气扇损坏"'
     else:
         self.WriteToLog("RR:" + User.GetUserName(recMsg.FromUserName) +
                         ":" + content[1:])
         strret = "您的请求已记录,将转达至相关人员,谢谢"
     return strret
Example #3
0
 def SuggestFeedback(self, recMsg):
     strret = "该功能尚未开通,敬请期待"
     content = recMsg.Content.strip()
     if content[1:] == "":
         strret = '请回复6+意见或建议,如"6今日班车功能早日能开通"'
     else:
         if User.TestUserExist(recMsg.FromUserName):
             self.WriteToLog("SF:" + User.GetUserName(recMsg.FromUserName) +
                             ":" + content[1:])
         else:
             self.WriteToLog("SF:" + recMsg.FromUserName + ":" +
                             content[1:])
         strret = "您反映的意见、建议已记录,将转达至开发人员,谢谢"
     return strret
Example #4
0
 def SetName(self, recMsg):
     strret = ""
     content = recMsg.Content.strip()
     if content[1:] == "":
         strret = '请输入7+姓名,例如"7王大锤"\n1、请勿添加其他非空字符\n2、多次添加将做覆盖处理\n3、回复"77"将查看系统录入的姓名"'
     elif content[1] == "7":
         strret = User.GetUserName(recMsg.FromUserName)
     else:
         content = content[1:].decode('utf-8')
         pattern = re.compile(u'([\u4e00-\u9fa5]+)', re.S)
         name = re.findall(pattern, content)
         if name:
             strret = User.SetUserName(recMsg.FromUserName,
                                       name[0].encode('utf-8'))
         else:
             strret = "设置姓名失败,请重新输入"
     return strret
Example #5
0
 def POST(self):
     try:
         webData = web.data()
         print "Handle Post webdata is \n", webData  #后台打日志
         recMsg = receive.parse_xml(webData)
         if isinstance(recMsg, receive.Msg):
             if recMsg.MsgType == 'text':
                 toUser = recMsg.FromUserName
                 fromUser = recMsg.ToUserName
                 content = ""
                 if recMsg.Content.startswith("1"):
                     recContlow = recMsg.Content.lower()
                     wget = weather()
                     if recContlow.startswith(
                             "1tz") or recContlow.startswith("1北京"):
                         content = wget.GetWeather('d7_beijing')
                         self.WriteToLog(
                             "GW:" + User.GetUserName(recMsg.FromUserName) +
                             ":查询北京天气")
                     elif recContlow.startswith(
                             "1xa") or recContlow.startswith("1西安"):
                         content = wget.GetWeather('d7_xian')
                         self.WriteToLog(
                             "GW:" + User.GetUserName(recMsg.FromUserName) +
                             ":查询西安天气")
                     else:
                         with open("weather.txt", 'rt') as weatherinfo:
                             User.weatherdic = json.load(weatherinfo)
                         lastUpdateTime = time.mktime(
                             time.strptime(User.weatherdic["update"],
                                           "%Y-%m-%d %H:%M:%S"))
                         timeNow = time.time() + 13 * 60 * 60
                         if timeNow - lastUpdateTime > 3600:
                             content = wget.GetWeather()
                         else:
                             content = User.GetWeather()
                         self.WriteToLog(
                             "GW:" + User.GetUserName(recMsg.FromUserName) +
                             ":查询马道天气")
                 elif recMsg.Content.startswith(
                         "2") or recMsg.Content.startswith("菜谱"):
                     content = self.GetCookBook()
                     self.WriteToLog("GC:" +
                                     User.GetUserName(recMsg.FromUserName) +
                                     ":获取菜谱")
                 elif recMsg.Content.startswith(
                         "3") or recMsg.Content.startswith("班车"):
                     content = "该功能尚未开通,敬请期待"
                     self.WriteToLog("GB:" +
                                     User.GetUserName(recMsg.FromUserName) +
                                     ":查询班车")
                 elif recMsg.Content.startswith("4"):
                     content = self.RepairReport(recMsg)
                 elif recMsg.Content.startswith("5"):
                     content = self.MedicineReport(recMsg)
                 elif recMsg.Content.startswith("6"):
                     content = self.SuggestFeedback(recMsg)
                 elif recMsg.Content.startswith("7"):
                     content = self.SetName(recMsg)
                 elif recMsg.Content.startswith("wset:"):
                     content = User.SetWeather(recMsg.Content)
                     self.WriteToLog("WSET:" +
                                     User.GetUserName(recMsg.FromUserName) +
                                     ":设置天气:" + recMsg.Content[5:])
                 elif recMsg.Content.startswith("logget:"):
                     content = self.GetLogReport()
                 elif recMsg.Content.startswith("norecv:"):
                     print "rec"
                     content = self.SetLogNotReceive()
                 else:
                     content = self.strMenu
                 if content == "":
                     content = "公众号后台繁忙,请稍后再试"
                 print "reply is :\n" + content
                 replyMsg = reply.TextMsg(toUser, fromUser, content)
                 return replyMsg.send()
             elif recMsg.MsgType == 'event':
                 toUser = recMsg.FromUserName
                 fromUser = recMsg.ToUserName
                 content = ""
                 if recMsg.Event == "subscribe":
                     content = "感谢您的订阅,这里是----,竭诚为您服务\n\n" + self.strMenu
                     replyMsg = reply.TextMsg(toUser, fromUser, content)
                     return replyMsg.send()
                 else:
                     return ""
             else:
                 return ""
     except Exception, Argment:
         return Argment