Exemplo n.º 1
0
 def do_getAdminInfo(self, data, userID):
     if ("userID" not in data.keys()):
         raise CustomError(-20005, "userID")
     userID = data['userID']
     pymysqlHandle = PymysqlHandle()
     result = pymysqlHandle.selectUserInfo(userID)
     if result == None:
         raise CustomError(-10001)
     return result
Exemplo n.º 2
0
    def do_login(self, data, userID):
        '''验证入参'''
        if ("userName" not in data.keys()):
            raise CustomError(-20005, "userName")
        if ("passWord" not in data.keys()):
            raise CustomError(-20005, "passWord")

        passWord = data['passWord'].encode('utf-8')
        userName = data['userName']
        '''获取会员信息'''
        pymysqlHandle = PymysqlHandle()
        result = pymysqlHandle.selectUserInfoWithUserName(userName)
        if result == None:
            raise CustomError(-10001)

        sqlpass = result["passWord"]
        '''验证会员密码'''
        if not bcrypt.checkpw(passWord, sqlpass.encode('utf-8')):
            raise CustomError(-10002)
        '''查询section'''

        section = pymysqlHandle.getSection(result["userID"])

        if section != None:
            nowtime = time.time()
            if nowtime - section["createtime"] > 24 * 3600:
                pymysqlHandle.deleteSection(result["userID"])
                section = None
            else:
                if data["UUID"] != section["UUID"] and "UUID" in data.keys():
                    raise CustomError(-10001)

        if section == None:
            '''创建section'''
            salt = ''.join(
                random.sample(string.ascii_letters + string.digits, 32))
            uuid = "0000"
            if "UUID" in data.keys():
                uuid = data["UUID"]

            data = {
                'userID': result["userID"],
                'validityPeriod': 24,
                'createtime': time.time(),
                'session': salt,
                'UUID': uuid
            }
            pymysqlHandle.insterSection(data)
        del result["passWord"]
        result["section"] = salt
        return result
Exemplo n.º 3
0
    def do_register(self, data, userID):

        if ("userName" not in data.keys()):
            raise CustomError(-20005, "userName")
        if ("passWord" not in data.keys()):
            raise CustomError(-20005, "passWord")
        if ("phone" not in data.keys()):
            raise CustomError(-20005, "phone")

        userName = data['userName']
        telNO = data['phone']
        passWord = data['passWord']
        pymysqlHandle = PymysqlHandle()
        sqlpass = bcrypt.hashpw(passWord.encode('utf-8'), bcrypt.gensalt(8))
        pymysqlHandle.insetUserInfo(userName, telNO, sqlpass)
Exemplo n.º 4
0
    def interfaceMethodo(self, data, metho, userID):

        mname = 'do_' + metho
        if not hasattr(self, mname):
            raise CustomError(-20001)
        method = getattr(self, mname)
        return method(data)
Exemplo n.º 5
0
    def do_getAdminList(self, data, userID):

        sqlhandle = PymysqlHandle()
        result = sqlhandle.getAdminList(data, userID)
        if result == None:
            raise CustomError(-10001)
        else:
            return result
Exemplo n.º 6
0
    def selectUserInfoBykey(self, key, value):

        if key not in ['userID', 'userName', 'phone', 'wxOpenid', 'email']:
            raise CustomError(-10007)

        connection = SqlHabdleGlobal.connectionDb()
        with connection.cursor() as cursor:

            sql = 'select userID,passWord,userName,email,createTime,status,permissions,phone,headImage,wxOpenid from USER_T where ' + key + ' = %s'
            cursor.execute(sql, (value))
            for row in cursor:
                cursorData = row
                return cursorData
Exemplo n.º 7
0
    def insetUserInfo(self, userName, userTel, userPassWord):
        try:
            connection = SqlHabdleGlobal.connectionDb()
            with connection.cursor() as cursor:
                # Create a new record
                sql = 'INSERT INTO USER_T (userName, passWord, phone) VALUES (%s, %s,%s)'
                cursor.execute(sql, (userName, userPassWord, userTel))
                connection.commit()

        except MySQLError as e:
            if e.args[0] == 1062:
                raise CustomError(-10003)
            else:
                raise e
Exemplo n.º 8
0
    def insetUser(self, data):
        try:
            connection = SqlHabdleGlobal.connectionDb()
            with connection.cursor() as cursor:
                # Create a new record
                keystr = ''
                valuestr = ''
                for item in data.keys():
                    keystr = keystr + item + ','
                    valuestr = valuestr + '"' + data[item] + '",'
                keystr = keystr[0:-1]
                valuestr = valuestr[0:-1]
                sql = 'INSERT INTO USER_T (' + keystr + ') VALUES (' + valuestr + ')'
                cursor.execute(sql)
                connection.commit()

        except MySQLError as e:
            if e.args[0] == 1062:
                raise CustomError(-10003)
            else:
                raise e
Exemplo n.º 9
0
    def do_saveUpFile(self,data,userID):

        url = "http://" + mod_config.getConfig("INTERFACE", "IP")+":"+mod_config.getConfig("INTERFACE", "PORT")
        uptype = data["upType"]
        updata = data["file"][0]
        #上传接口数据
        if uptype == "1001":

            savefile =  sys.path[0] + "/Data/InterFace.txt"
            if  os.path.exists(savefile):
                os.remove(savefile)
            f = open(savefile, 'w')
            f.write(updata)
            f.close()

            sqlhandle = PymysqlHandle()
            sqlhandle.insterInterfaceData(savefile)
            returnDic = {"infoCode":0}
            returnDic['result'] = "scresss"
        #上传用户头像
        elif (uptype == "1002"):
            saveStr = "/Data/image/"+str(userID)+"head.png"
            savefile =  sys.path[0] + saveStr
            if  os.path.exists(savefile):
                os.remove(savefile)
            f = open(savefile, 'w')
            f.write(updata)
            f.close()

            url = url + saveStr
            headImage = {"headImage":url}
            sqlhandle = PymysqlHandle()
            sqlhandle.replaceUserInfo(headImage,userID)
            return headImage

        else:

            raise CustomError(-20006)

        return returnDic;
Exemplo n.º 10
0
    def replaceUserInfo(self, data, userID):

        userData = self.selectUserInfo(data["userID"])
        if userData == None: raise CustomError(-10001)

        connection = SqlHabdleGlobal.connectionDb()
        with connection.cursor() as cursor:
            # Create a new recors
            sql = 'UPDATE USER_T SET '

            for key in data.keys():
                if key == "userID": continue

                if type(data[key]) == int or type(data[key]) == float:
                    sql = sql + key + '=' + str(data[key]) + ','
                else:
                    sql = sql + key + '="' + data[key] + '",'

            sql = sql[0:-1]
            sql = sql + ' WHERE userID=' + str(data["userID"])
            cursor.execute(sql)
            connection.commit()
            connection.close()
Exemplo n.º 11
0
    def interFaceDef(self,data,path):

        try:

            resultcode = 0

            metho = data['metho']
            param = data['param']  if "param" in data.keys() else None
            self.userID = self.headers.getheader('userID');

            LogHandle.log(0, "input: "+str(param), self.userID, 0, path+"/"+metho)

            if (path == '/interface'):
                interface = InterfaceHandle()
                result = interface.interfaceMethodo(param, metho,self.userID)
            elif (path == '/samrtHome'):
                interface = SamrtHome()
                result = interface.samrtHomeMethodo(param, metho,self.userID)
            elif (path == '/FCAnalyse'):
                interface = FCAnalyse()
                result = interface.FCAnalyseMethodo(param, metho,self.userID)
            elif (path == '/UPAndDown'):
                upAndDown = UPAndDown()
                result = upAndDown.upAndDownMethodo(param, metho,self.userID)
            elif (path == '/WXInterface'):
                wxInterface = WXInterface()
                result = wxInterface.upAndDownMethodo(param,metho,self.userID)
            elif (path == '/Shoping'):
                shoping = Shoping()
                result = shoping.interfaceMethodo(param, metho,self.userID)

            else:
                raise CustomError(-10005)

        except KeyError, ex:
            resultcode = -10006
            result = u'sever get map value is not key:'+str(ex)
Exemplo n.º 12
0
    def do_wxLogin(self, data, userID):

        if "js_code" not in data.keys():
            raise CustomError(-20005, "js_code")
        if "nickName" not in data.keys():
            raise CustomError(-20005, "nickName")

        parm = {
            'appid': 'wx2d3eaf4304b22f25',
            'secret': '456d14753450c85718b290fa187bc369',
            'js_code': data["js_code"],
            'grant_type': 'authorization_code'
        }
        r = requests.post('https://api.weixin.qq.com/sns/jscode2session', parm)
        if r.status_code == 200:
            wxresult = PythonString.jsonPase(r.text)
            if 'errcode' not in wxresult.keys():

                pymysqlHandle = PymysqlHandle()
                result = pymysqlHandle.selectUserInfoBykey(
                    "wxOpenid", wxresult["openid"])
                data = {
                    'wxOpenid': wxresult['openid'],
                    'userName': data["nickName"],
                    'userID': result["userID"],
                    'headImage': data["headImg"]
                }
                if result == None:
                    pymysqlHandle.insetUser(data)
                    result = pymysqlHandle.selectUserInfoBykey(
                        "wxOpenid", wxresult["openid"])
                else:
                    pymysqlHandle.replaceUserInfo(data, result["userID"])

                userID = result["userID"]
                '''创建section'''

                section = pymysqlHandle.getSection(result["userID"])

                if section != None:
                    nowtime = time.time()
                    if nowtime - section["createtime"] > 24 * 3600:
                        pymysqlHandle.deleteSection(result["userID"])
                        section = None

                if section == None:
                    '''创建section'''
                    salt = ''.join(
                        random.sample(string.ascii_letters + string.digits,
                                      32))
                    createtime = time.time()
                    userID = result["userID"]

                    data = {
                        'userID': userID,
                        'validityPeriod': 24,
                        'createtime': createtime,
                        'session': salt,
                    }
                    pymysqlHandle.insterSection(data)
                    result["session"] = salt
                    return result

            else:
                raise CustomError(-30002)
        else:
            raise CustomError(-30001)
Exemplo n.º 13
0
 def do_getgoodsList(self,data):
     if data == None: raise CustomError(-20005,"parm")
     return self.mysqlHandleGoods.selectGoodslistBySearch(data)
Exemplo n.º 14
0
    def do_getgoodsInfoByID(self,data):

        if "goodsID" not in data.keys(): raise CustomError(-20005,"goodsID")
        return self.mysqlHandleGoods.selectGoosdinfoByID(data["goodsID"])
Exemplo n.º 15
0
    def do_updataGoods(self, data):

        if(data  == None): raise CustomError(-20005)
        self.mysqlHandleGoods.addGoods(data)