예제 #1
0
 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)
예제 #2
0
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, "查询失败")
예제 #3
0
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, "查询失败")
예제 #4
0
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, "删除失败")
예제 #5
0
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, "查询失败")
예제 #6
0
파일: login.py 프로젝트: yantianpi/python
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, '登录成功')