ATM-interface-bank
from lib import common
from db import db_handler user_logger = common.get_logger('bank') def check_balance(name):
dic =db_handler.select(name)
return dic['balance'] def transfer_interface(from_name,toname,balance):
if from_name==toname:
return False,'不能转账给自己'
to_dic =db_handler.select(toname)
if to_dic:
from_dic = db_handler.select(from_name)
if from_dic['balance']>=balance:
from_dic['balance']-=balance
to_dic['balance']+=balance
from_dic['bankflow'].append('%s转%s元账给了%s'%(from_name,balance,toname))
to_dic['bankflow'].append('%s收到了%s转来的%s元'%(toname,from_name,balance))
db_handler.save(from_dic)
db_handler.save(to_dic)
user_logger.info('%s转账给了%s:%s元'%(from_name,toname,balance))
return True,'转账成功'
else:
return False,'余额不足'
else:
return False,'转账的用户名不存在' def repay_interface(name,balance):
dic = db_handler.select(name)
dic['balance']+=balance
dic['bankflow'].append('%s还款了%s元'%(name,balance))
db_handler.save(dic)
user_logger.info('%s还款了%s元'%(name,balance))
return True,'还款成功' def withdraw_interface(name,balance):
dic = db_handler.select(name)
balance1 = balance*1.05
if dic['balance']>=balance1:
dic['balance']-=balance
dic['bankflow'].append('%s取走了%s元'%(name,balance))
user_logger.info('%s取走了%s元'%(name,balance))
db_handler.save(dic)
return True,'取款成功'
else:
return False,'取款失败' def check_record_interface(name):
dic = db_handler.select(name)
return dic['bankflow'] def consume_interface(name,cost):
dic = db_handler.select(name)
if dic['balance']>=cost:
dic['balance']-=cost
db_handler.save(dic)
return True,'扣款成功'
else:
return False,'余额不足'
ATM-interface-bank的更多相关文章
- 项目: ATM+购物车
ATM+购物车 项目文件: 介绍 以下为文件夹层次和内容: readme.md 1. 需求 模拟银行取款 + 购物全过程 1.注册 2.登录 3.提现 4.还款 5.转账 6.查看余额 7.查看购物车 ...
- First Project -用函数写的ATM+购物商城程序
作业需求:模拟实现一个ATM + 购物商城程序 额度15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还,按欠 ...
- UML 用例图、顺序图、状态图、类图、包图、协作图、流程图
用例图.顺序图.状态图.类图.包图.协作图 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling La ...
- [转] 从 C 到 Objective C 入门1
转自: http://blog.liuhongwei.cn/iphone/objective-c/ 进军iPhone开发,最大的难点之一就是怪异的Objective C语法了.不过,了解之后才发现,原 ...
- UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
- CCNA长语
思科认证网络支持工程师(Cisco Certified Network Associate_CCNA) 专业英文词汇大全 10BaseT-----原始IEEE802.3标准的一部分,1OBaseT是1 ...
- (转)UML实践----用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图
面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language™),这篇课程的目的是展示出UML ...
- 工厂模式 - 程序实现(java)
09年5月CSDN一网友提出如下问题: 设计一个用于管理银行客户的类BankCustomer: 仅描述客户的几个重要方面: 帐号.身份证号.姓名.联系方式.密码.账户余额. 所有的成员变量均用priv ...
- (转)UML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图
原文链接:http://dn.codegear.com/article/31863 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是 ...
- RMI远程服务调用
数据库:info.sql /* Navicat MySQL Data Transfer Source Server : yuanzhen Source Server Version : 50713 S ...
随机推荐
- PartTime_网址_国外
https://www.douban.com/group/topic/6248314/ 国外威客网站大全 国外兼职网站,以及国外外包网站.这些国外项目网站包括的项目类型很多:logo设计.图形设计.f ...
- placeholder-shown
一般我们常见placeholder伪类选择器用来修改默认样式及文案,忽然发现placeholder-shown伪类选择器,比较官方的解释是 CSS伪类表示任何显示占位符文本的form元素. 简单来说就 ...
- pat1067. Sort with Swap(0,*) (25)
1067. Sort with Swap(0,*) (25) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue G ...
- spring开发配置编码
在pom.xml中添加属性project.build.sourceEncoding就可以设置工程的编码 <properties> <!-- 文件拷贝时的编码 --> <p ...
- Java学习笔记--字符串和文件IO
1.Java中的字符串类和字符的表示 2.区分String,StringBuilder和StringBuffer 3.从命令行中给main方法传递参数 4.文件操作 1 Java中的字符串和字符 1. ...
- KendoUI 自定义验证:
Html: <label>@LogicNameAttribute.GetLogicName(typeof(Reward).GetProperty("ExtraRewardMone ...
- C 碎片九 预处理&位运算&文件操作
一.预处理 预处理语句:#开头的语句,在预处理阶段处理预处理语句.包括宏定义.文件包含处理.条件编译 1, 宏定义 1. 不带参数宏定义:#define 标识符 字符串 #define PI 3.1 ...
- 显示单位px、dip以及sp的区别
dip: Device Independent Pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA推荐使用这个,不依赖像素. p ...
- bootstrapValidator 重置表单
最近在公司做业务系统后台,用的js框架还是jquery ui框架 是以bootstrap为基础的beyondadmin-v1.4.s3这套,用起来还挺不错,所以公司所有的后台ui都使用这套.这套ui ...
- Hibernate笔记2
一.持久化类 1.持久化标识OID 数据库中叫做主键,对应实体的ID属性即为OID;Hibernate通过OID区分两个对象是否为同一对象;OID的生成一般交由程序自动处理; 2.持久化类 ...