import sys
import MySQLdb
class TransferMoney(object):
def __init__(self, conn):
self.conn = conn
self.cursor = conn.cursor()
def checkAccValid(self, source_acctid):
self.cursor.execute("select * from bank where account=%s", source_acctid)
if self.cursor.rowcount != 1:
raise Exception("account %s not exist" % source_acctid)
def transfer(self, source_acctid, target_acctid, money):
self.checkAccValid(source_acctid)
self.checkAccValid(target_acctid)
self.cursor.execute("update bank set money=money-%s where account=%s" % (money, source_acctid))
self.cursor.execute("update bank set money=money+%s where account=%s" % (money, target_acctid))
if __name__ == "__main__":
source_acctid = sys.argv[1]
target_acctid = sys.argv[2]
money = sys.argv[3]
conn = MySQLdb.connect(host='127.0.0.1', port=3306, user='root', passwd='root1', db='wuke', charset='utf8')
transfor = TransferMoney(conn)
try:
transfor.transfer(source_acctid,target_acctid,money)
conn.commit()
except Exception as e:
conn.rollback()
print e