示例#1
0
    def Check_login(self, cardId: str, passwd: str):
        '''

        :param cardId: 账户名
        :param passwd: 密码
        :return: 成功登录返回银行卡余额,否则返回错误信息
        '''
        cardId = str(cardId).strip()
        passwd = str(passwd).strip()
        if MyFunctions.Check_args(cardId, passwd):
            # 检查cardId是否存在
            sql1 = "select Passwd,Money,Status from card where Id = %s" % cardId
            res = self.db.SqlSelect(sql1)
            if res != -1:
                if len(res) != 0:
                    if res[0][2] > 0:
                        passwd = hmac.new("sunck".encode("utf-8"),
                                          passwd.encode("utf-8"),
                                          digestmod="MD5").hexdigest()
                        if res[0][0] == passwd:
                            return res[0][1]  #int类型
                        #减少一次用户的状态码
                        sql2 = "update  card set Status = Status-1 where Id='%s'" % cardId
                        self.db.SqlCommit(sql2)
                        return "密码错误,还有%d次输入机会" % (res[0][2] - 1)
                    return "卡被锁定"
                return "卡号不存在"
            return "执行错误"
        return "输入不能为空"
示例#2
0
    def Unlock_Account(self, userName: str, IDcard: str, Tel: str,
                       cardId: str):
        '''

        :param userName:用户名
        :param IDcard: 身份证号
        :param Tel: 手机号
        :param cardId: 要解锁的卡号
        :return: 返回执行结果信息
        '''
        userName = str(userName).strip()
        IDcard = str(IDcard).strip()
        Tel = str(Tel).strip()
        cardId = str(cardId).strip()
        if MyFunctions.Check_args(userName, IDcard, Tel, cardId):
            #     #检查身份证号
            # res1 = MyFunctions.Check_IDcard(IDcard)
            # if res1 == 1:
            # 核验信息
            sql1 = "select Name,Tel from user where Idcard = %s" % IDcard
            res1 = self.db.SqlSelect(sql1)
            if res1 != -1:
                if len(res1) != 0:
                    if res1[0][0] == userName and res1[0][1] == Tel:
                        sql2 = "update card set Status=3 where Id=%s" % cardId
                        if self.db.SqlCommit(sql2) != -1:
                            return "解锁成功"
                        return "解锁失败"
                    return "信息验证失败,无法解锁"
                return "身份信息不存在"
            return "执行错误"
        # return res1
        return "输入不能为空"
示例#3
0
 def Delete_Account(self, userName: str, IDcard: str, Tel: str,
                    cardId: str):
     userName = str(userName).strip()
     IDcard = str(IDcard).strip()
     Tel = str(Tel).strip()
     cardId = str(cardId).strip()
     if MyFunctions.Check_args(userName, IDcard, Tel, cardId):
         # #     #检查身份证号
         # res1 = MyFunctions.Check_IDcard(IDcard)
         # if res1 == 1:
         # 核验信息
         sql1 = "select Name,Tel from user where Idcard = %s" % IDcard
         res1 = self.db.SqlSelect(sql1)
         if res1 != -1:
             if len(res1) != 0:
                 if res1[0][0] == userName and res1[0][1] == Tel:
                     sql2 = "delete from card where id =%s" % cardId
                     res = self.db.SqlCommit(sql2)
                     if res == 1:
                         return 1
                     return "操作失败"
                 return "信息验证失败,无法销户"
             return "身份信息不存在"
         return "执行错误"
     # return res1
     return "输入不能为空"
示例#4
0
 def Withdrawal(self, cardId: str, money: str):
     '''
     :param cardId: 银行卡号
     :param money: 金额
     :param operatingType: 操作值,存钱为1,取钱为2
     :return: 执行结果
     '''
     cardId = str(cardId).strip()
     money = str(money).strip()
     if MyFunctions.Check_args(cardId, money):
         # 取款
         sql1 = "select Money from card where Id = %s" % cardId
         res1 = self.db.SqlSelect(sql1)
         all_money = res1[0][0]  # 获取查到的钱数
         if all_money >= int(money):
             sql2 = "UPDATE card set money = money -%d where id='%s'" % (
                 int(money), cardId)
             res2 = self.db.SqlCommit(sql2)
             if res2 != 1:  # 返回执行成功的行数
                 return "操作失败"
         else:
             return "余额不足"
         # 把记录插入到日志
         self.Insert_loginfo(cardId, 1, money)
         return 1
     return "内容不能为空"
示例#5
0
 def Retrieve_passwd(self, userName: str, IDcard: str, Tel: str,
                     cardId: str):
     userName = str(userName).strip()
     IDcard = str(IDcard).strip()
     Tel = str(Tel).strip()
     cardId = str(cardId).strip()
     if MyFunctions.Check_args(userName, IDcard, Tel, cardId):
         #     #检查身份证号
         # res1 = MyFunctions.Check_IDcard(IDcard)
         # if res1 == 1:
         # 核验信息
         sql1 = "select Name,Tel from user where Idcard = %s" % IDcard
         res1 = self.db.SqlSelect(sql1)
         if res1 != -1:
             if len(res1) != 0:
                 if res1[0][0] == userName and res1[0][1] == Tel:
                     passwd = ""
                     for i in range(6):
                         passwd += str(random.randint(0, 9))
                         passwd_hmac = hmac.new(
                             "sunck".encode("utf-8"),
                             passwd.encode("utf-8"),
                             digestmod="MD5").hexdigest()
                     sql2 = "update card set Passwd='%s' where Id='%s'" % (
                         passwd_hmac, cardId)
                     if self.db.SqlCommit(sql2) != -1:
                         return "1#新密码为:%s ,请尽快修改" % passwd
                     return "找回密码失败"
                 return "信息验证失败,无法找回密码"
             return "身份信息不存在"
         return "执行错误"
     # return res1
     return "输入不能为空"
示例#6
0
 def Deposit(self, cardId: str, money: str):
     '''
         :param cardId: 银行卡号
         :param money: 金额
         :param operatingType: 操作值,存钱为1,取钱为2
         :return: 执行结果
     '''
     cardId = str(cardId).strip()
     money = str(money).strip()
     if MyFunctions.Check_args(cardId, money):
         sql2 = "UPDATE card set money = money +%d where id='%s'" % (
             int(money), cardId)
         res2 = self.db.SqlCommit(sql2)
         if res2 != 1:  # 返回执行成功的行数
             return "操作失败"
         # 把记录插入到日志
         self.Insert_loginfo(cardId, 2, money)
         return 1
     return "内容不能为空"
示例#7
0
    def Add_Account(self, userName: str, IDcard: str, Tel: str, passwd: str):
        '''
        :param userName:用户名
        :param IDcard: 身份证号
        :param Tel: 手机号
        :param passwd: 密码
        :return: 成功返回卡号,否则返回错误信息
        '''
        userName = str(userName).strip()
        IDcard = str(IDcard).strip()
        Tel = str(Tel).strip()
        passwd = str(passwd).strip()
        if MyFunctions.Check_args(userName, IDcard, Tel, passwd):
            #     #检查身份证号
            #     res1 = MyFunctions.Check_IDcard(IDcard)
            #     if res1 == 1:
            #查询是否开过户
            sql1 = "select count() from user where Idcard = %s" % IDcard
            res2 = self.db.SqlSelect(sql1)
            if res2 == -1:
                return "查询执行错误"
            if res2[0][0] == 0:  #账户不存在先开户
                sq2 = "insert into user (name,Idcard,tel) values('%s','%s','%s')" % (
                    userName, IDcard, Tel)
                if self.db.SqlCommit(sq2) == -1:
                    return "开户存储错误"

            passwd = hmac.new(
                "sunck".encode("utf-8"),
                passwd.encode("utf-8"),
                digestmod="MD5").hexdigest()  # userName为key,password为s

            sql3 = "insert into card(Passwd,Money,Idcard) values ('%s',0,'%s')" % (
                passwd, IDcard)
            if self.db.SqlCommit(sql3) == -1:
                return "开户存储失败"
            sql4 = "select Id from card where Idcard = %s ORDER BY Id desc limit 1" % IDcard
            res3 = self.db.SqlSelect(sql4)
            return res3[0][0]  #返回卡号
        # return res1
        return "输入不能为空"
示例#8
0
 def Change_passwd(self, cardId: str, passwd1: str, passwd2: str):
     '''
     :param cardId:当前卡号
     :param passwd1: 密码1
     :param passwd2: 密码2
     :return: 执行结果
     '''
     passwd1 = str(passwd1).strip()
     passwd2 = str(passwd2).strip()
     if MyFunctions.Check_args(cardId, passwd1, passwd2):
         if passwd1 == passwd2:
             passwd1 = hmac.new("sunck".encode("utf-8"),
                                passwd1.encode("utf-8"),
                                digestmod="MD5").hexdigest()
             sql1 = "update card set Passwd = '%s' where id ='%s'" % (
                 passwd1, cardId)
             res = self.db.SqlCommit(sql1)
             if res == 1:
                 return "修改成功"
             return "操作失败"
         return "两次密码不一致"
     return "不能输入空值"
示例#9
0
 def Transfer_money(self, cardId1: str, cardId2: str, money: str):
     '''
     :param cardId1:当前卡号
     :param cardId2: 对方卡号
     :param money: 金额
     :return: 执行结果
     '''
     if MyFunctions.Check_args(cardId1, cardId2, money):
         # 检查cardId2是否存在
         sql1 = "select count() from card where Id = %s" % cardId2
         res = self.db.SqlSelect(sql1)
         if res != -1 and res[0][0] != 0:
             res1 = self.Withdrawal(cardId1, money)
             if res1 == 1:
                 res2 = self.Deposit(cardId2, money)
                 if res2 == 1:
                     self.Insert_loginfo(cardId1, 3, money)  # 3代表转账
                     self.Insert_loginfo(cardId2, 4, money)  # 4代表收款
                     return 1
                 return res2
             return res1
         return "对方卡号不存在"
     return "输入有误"