Esempio n. 1
0
    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]
Esempio n. 2
0
    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]
Esempio n. 3
0
    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])