def registerCheckinMachine(self, gardenId): messageIp = self.messageIp.GetValue() if messageIp == "": self.dialog(u"没输入IP") return # wx.StaticText(self.panelRight,-1,u"同步中……",(382,218)) messageegisterMachine = wjy_pb2.RegisterCheckinMachineRequest() messageegisterMachine.gardenId = long(gardenId) messageegisterMachine.machineId = "test001test0001" messageegisterMachine.macAddress = "1122334455667788" bodyMessageString = messageegisterMachine.SerializeToString() url = "http://" + messageIp + "/http_invoke" s = pubAction.SysConstants()[2] headers = pubAction.SysConstants()[3] s.headers.update(headers) s.get(url) postMessage = pubAction.mainMessageRequest(["/register_checkin_machine", "", "", bodyMessageString, url, s, ""]) invoke = pubAction.mainMessageResponse(postMessage) invoke.ParseFromString(postMessage.content) registerCheckinMachineRes = wjy_pb2.RegisterCheckinMachineResponse() registerCheckinMachineRes.ParseFromString(invoke.body) return [registerCheckinMachineRes.gardenName, gardenId]
def chackMoreAction(self, checkParemeter): messageFetchCardRequest = wjy_pb2.FetchCardRequest() gardenId = self.messageGardenId.GetValue() messageFetchCardRequest.gardenId = long(gardenId) messageFetchCardRequest.lastModifiedSince = checkParemeter[0] bodyMessageString = messageFetchCardRequest.SerializeToString() postMessage = pubAction.mainMessageRequest( ["/fetch_card", "", "", bodyMessageString, checkParemeter[1], checkParemeter[2], ""] ) invoke = pubAction.mainMessageResponse(postMessage) invoke.ParseFromString(postMessage.content) fetchCardRes = wjy_pb2.FetchCardResponse() fetchCardRes.ParseFromString(invoke.body) # print fetchCardRes return [fetchCardRes.fetchTime, fetchCardRes.card, fetchCardRes.hasMore]
def checkIn(self, event): messageIp = self.messageIp.GetValue() messageGardenId = self.messageGardenId.GetValue() messageCustId = self.messageCustId.GetValue() messageCardCode = self.messageCardCode.GetValue() messageDateYear = self.messageDateYear.GetValue() messageDateMonth = self.messageDateMonth.GetValue() messageDateDay = self.messageDateDay.GetValue() messageDateHour = self.messageDateHour.GetValue() messageDateMinute = self.messageDateMinute.GetValue() messageDateSecond = self.messageDateSecond.GetValue() if messageIp == "": pubAction.dialog(self, u"没输入IP") return if messageGardenId == "": pubAction.dialog(self, u"没输入幼儿园ID") return if messageCustId == "": pubAction.dialog(self, u"没输入用户ID") return if messageCardCode == "": pubAction.dialog(self, u"没输入卡号") return if messageDateYear == "": messageDateYear = pubAction.getTime()[1] if messageDateMonth == "": messageDateMonth = pubAction.getTime()[2] if messageDateDay == "": messageDateDay = pubAction.getTime()[3] if messageDateHour == "": messageDateHour = pubAction.getTime()[4] if messageDateMinute == "": messageDateMinute = pubAction.getTime()[5] if messageDateSecond == "": messageDateSecond = pubAction.getTime()[6] mTime = datetime.datetime.now().microsecond imputDateTime = datetime.datetime( year=int(messageDateYear), month=int(messageDateMonth), day=int(messageDateDay), hour=int(messageDateHour), minute=int(messageDateMinute), second=int(messageDateSecond), ) formatTime = long(round(time.mktime(imputDateTime.timetuple()))) nowTime = long(str(formatTime) + str(mTime / 1000)) # nowTime = long(round(time.time()*1000)) reList = [] countSql = "select count(*) from fetchcard" countRes = pubAction.sqliteConnect([countSql, 0]) for checkCout in countRes: if checkCout[0] == 0: pubAction.dialog(self, u"先同步幼儿园卡号") self.messageResoult.SetValue(u"false") else: sSqlC = 'select count(*) from fetchcard where cardcode = "' + messageCardCode + '"' sSqlU = 'select count(*) from fetchcard where userid = "' + messageCustId + '"' sSqlG = 'select count(*) from checktable where gardenid = "' + messageGardenId + '"' reCheckGardenId = pubAction.sqliteConnect([sSqlG, 0]) reCheckCardCode = pubAction.sqliteConnect([sSqlC, 0]) reCheckUserId = pubAction.sqliteConnect([sSqlU, 0]) for checkGardenId in reCheckGardenId: if checkGardenId[0] == 0: reList.append(checkGardenId[0]) else: reList.append(1) for checkCardCode in reCheckCardCode: if checkCardCode[0] == 0: reList.append(checkCardCode[0]) else: reList.append(1) for checkUserId in reCheckUserId: if checkUserId[0] == 0: reList.append(checkUserId[0]) else: reList.append(1) if reList[0] == 0: pubAction.dialog(self, u"没有同步ID为:" + str(messageGardenId) + u" 幼儿园的数据,或幼儿园ID错误") self.messageResoult.SetValue(u"false") elif reList[1] == 0: pubAction.dialog( self, u"在ID为:" + str(messageGardenId) + u"的幼儿园中找不到卡号为:" + str(messageCardCode) + u" 的用户" ) self.messageResoult.SetValue(u"false") elif reList[2] == 0: pubAction.dialog( self, u"在ID为:" + str(messageGardenId) + u"的幼儿园中找不到ID为:" + str(messageCustId) + u" 的用户" ) self.messageResoult.SetValue(u"false") else: url = "http://" + messageIp + "/http_invoke" s = pubAction.SysConstants()[2] headers = pubAction.SysConstants()[3] s.headers.update(headers) try: s.get(url) self.buttonSendMessage.Disable() messageAttach = wjy_pb2.Attach() messageAttach.fileurl = "0998c950-93d5-4ad5-8590-518dec6d1f57" messageAttach.attachType = long("1") ##########Checkin messageCheckin = wjy_pb2.Checkin() messageCheckin.id = long("12313131321") messageCheckin.cardCode = str(messageCardCode) # 10000004 messageCheckin.attach.fileurl = messageAttach.fileurl messageCheckin.attach.attachType = messageAttach.attachType messageCheckin.userId = long(messageCustId) # 2290987 messageCheckin.checkinTime = long(nowTime) messageCheckin.gardenId = long(messageGardenId) ##########CheckinRequest machineCheckin = wjy_pb2.CheckinRequest() machineCheckin.machineId = "test001test0001" checkIn = machineCheckin.checkin.add() checkIn.id = messageCheckin.id checkIn.cardCode = messageCheckin.cardCode checkIn.attach.fileurl = messageCheckin.attach.fileurl checkIn.userId = messageCheckin.userId checkIn.attach.attachType = messageCheckin.attach.attachType checkIn.checkinTime = messageCheckin.checkinTime checkIn.gardenId = messageCheckin.gardenId # print machineCheckin ##########MessageRequest bodyMessageString = machineCheckin.SerializeToString() postMessage = pubAction.mainMessageRequest(["/checkin", "", "", bodyMessageString, url, s, ""]) invoke = pubAction.mainMessageResponse(postMessage) if postMessage.status_code == 200: self.messageResoult.SetValue(u"success") sSqlUname = "select username from fetchcard where userid = " + '"' + messageCustId + '"' sUserName = pubAction.sqliteConnect([sSqlUname, 0]) for userName in sUserName: if userName[0] != "": pubAction.dialog( self, u"用户ID:" + str(messageCustId) + u",用户名:" + userName[0] + u",签到成功" ) self.buttonSendMessage.Enable() else: pubAction.dialog( self, u"用户ID:" + str(messageCustId) + u",用户名:" + userName[0] + u",签到失败" ) else: self.messageResoult.SetValue(u"error:" + str(postMessage.status_code)) except Exception as e: pubAction.dialog(self, u"无法连接服务器") pubAction.sqliteConnect(["", 2])