def test(self): # 新增记录 sql = """ INSERT INTO product_class( name, is_enable) VALUES (%s, %s) """ data = ('糖果', 1) result = dbHelper.write(sql, data) print(result) # 新增记录 sql = """ INSERT INTO product_class( name, is_enable) VALUES (%s, %s) """ data = ('饼干', 1) result = dbHelper.write(sql, data, True) print(result) # 修改不存在的记录 sql = """ UPDATE product_class SET name=%s, is_enable=%s WHERE id=2 """ data = ('糖果', 2) result = dbHelper.write(sql, data, True) print(result) # 查询记录 sql = """ SELECT * FROM product_class """ result = dbHelper.read(sql) print(result)
def callback(): """ 获取指定记录 """ sql = """select * from infomation where id = '1'""" # 读取记录 result = dbHelper.read(sql) if result: # 直接输出json return webHelper.return_msg(0, '成功', result[0]) else: return webHelper.return_msg(-1, "查询失败")
def callback(id): """ 获取指定记录 """ sql = """select * from product_class where id = %s""" % (id,) # 读取记录 result = dbHelper.read(sql) if result: # 直接输出json return webHelper.return_msg(0, '成功', result[0]) else: return webHelper.return_msg(-1, "查询失败")
def callback(id): """ 删除指定记录 """ # 判断该分类是否已经被引用,是的话不能直接删除 sql = """select count(*) as total from product where product_class_id=%s""" % (id,) # 读取记录 result = dbHelper.read(sql) if result and result[0].get('total', -1) > 0: return webHelper.return_msg(-1, "该分类已被引用,请清除对该分类的绑定后再来删除") # 编辑记录 sql = """delete from product_class where id=%s""" vars = (id) # 写入数据库 result = dbHelper.write(sql, vars) # 判断是否提交成功 if result != False: return webHelper.return_msg(0, '成功') else: return webHelper.return_msg(-1, "删除失败")
def callback(): """ 获取列表数据 """ # 页面索引 page_number = convertHelper.to_int1(webHelper.get_query('page', '', False)) # 页面显示记录数量 page_size = convertHelper.to_int0(webHelper.get_query('rows', '', False)) # 排序字段 sidx = webHelper.get_query('sidx', '', False) # 顺序还是倒序排序 sord = webHelper.get_query('sord', '', False) # 初始化排序字段 order_by = 'sort asc' if sidx: order_by = sidx + ' ' + sord ############################################################# # 初始化输出格式(前端使用jqgrid列表,需要指定输出格式) data = { 'records': 0, 'total': 0, 'page': 1, 'rows': [], } ############################################################# # 执行sql,获取指定条件的记录总数量 sql = 'select count(1) as records from product_class' result = dbHelper.read(sql) # 如果查询失败或不存在指定条件记录,则直接返回初始值 if not result or result[0]['records'] == 0: return data # 保存总记录数量 data['records'] = result[0].get('records', 0) ############################################################# ### 设置分页索引与页面大小 ### # 设置分页大小 if page_size is None or page_size <= 0: page_size = 10 # 计算总页数 if data['records'] % page_size == 0: page_total = data['records'] // page_size else: page_total = data['records'] // page_size + 1 # 记录总页面数量 data['total'] = page_total # 判断提交的页码是否超出范围 if page_number < 1 or page_number > page_total: page_number = page_total # 记录当前页面索引值 data['page'] = page_number # 计算当前页面要显示的记录起始位置 record_number = (page_number - 1) * page_size # 设置查询分页条件 paging = ' limit ' + str(page_size) + ' offset ' + str(record_number) ### 设置排序 ### if not order_by: order_by = 'id desc' ############################################################# # 组合sql查询语句 sql = "select * from product_class order by %(orderby)s %(paging)s" % \ {'orderby': order_by, 'paging': paging} # 读取记录 result = dbHelper.read(sql) if result: # 存储记录 data['rows'] = result if data: # 直接输出json return webHelper.return_raise(json.dumps(data, cls=jsonHelper.CJsonEncoder)) else: return webHelper.return_msg(-1, "查询失败")
def post_login(): """用户登陆验证""" ############################################################## # 获取并验证客户端提交的参数 ############################################################## username = webHelper.get_form('username', '帐号') password = webHelper.get_form('password', '密码') verify = webHelper.get_form('verify', '验证码') ip = webHelper.get_ip() ############################################################## # 从session中读取验证码信息 ############################################################## s = webHelper.get_session() verify_code = s.get('verify_code') # 删除session中的验证码(验证码每提交一次就失效) if 'verify_code' in s: del s['verify_code'] s.save() # 判断用户提交的验证码和存储在session中的验证码是否相同 if verify.upper() != verify_code: return webHelper.return_msg(-1, '验证码错误') ############################################################## ### 获取登录用户记录,并进行登录验证 ### ############################################################## sql = """select * from manager where login_name='%s'""" % (username, ) # 从数据库中读取用户信息 manager_result = dbHelper.read(sql) # 判断用户记录是否存在 if not manager_result: return webHelper.return_msg(-1, '账户不存在') ############################################################## ### 验证用户登录密码与状态 ### ############################################################## # 对客户端提交上来的验证进行md5加密将转为大写(为了密码的保密性,这里进行双重md5加密,加密时从第一次加密后的密串中提取一段字符串出来进行再次加密,提取的串大家可以自由设定) # pwd = encryptHelper.md5(encrypt_helper.md5(password)[1:30]).upper() # 对客户端提交上来的验证进行md5加密将转为大写(只加密一次) pwd = encryptHelper.md5(password).upper() # 检查登录密码输入是否正确 if pwd != manager_result[0].get('login_password', ''): return webHelper.return_msg(-1, '密码错误') # 检查该账号虽否禁用了 if manager_result[0].get('is_enable', 0) == 0: return webHelper.return_msg(-1, '账号已被禁用') ############################################################## ### 把用户信息保存到session中 ### ############################################################## manager_id = manager_result[0].get('id', 0) s['id'] = manager_id s['login_name'] = username s.save() ############################################################## ### 更新用户信息到数据库 ### ############################################################## # 更新当前管理员最后登录时间、Ip与登录次数(字段说明,请看数据字典) sql = """update manager set last_login_time=%s, last_login_ip=%s, login_count=login_count+1 where id=%s""" # 组合更新值 vars = ( 'now()', ip, manager_id, ) # 写入数据库 dbHelper.write(sql, vars) return webHelper.return_msg(0, '登录成功')