Ejemplo n.º 1
0
def question_detail(page=1, page_size=20):
    """回答详情"""
    g.page_type = ''
    g.title     = u'回答详情'

    args = request.args
    question_id = toint(args.get('question_id', '0'))
    uid         = toint(args.get('uid', '0'))
    check_type  = toint(args.get('check_type', '1'))
    query_type  = toint(args.get('query_type', '1'))

    user = User.get(uid)
    if not user:
        return u'找不到用户'

    question = Question.get(question_id)
    if not question:
        return u'找不到提问的问题'

    qa_query = QuestionAnswer.query.filter(QuestionAnswer.uid == uid).\
                filter(QuestionAnswer.question_id == question_id)

    qa_count = get_count(qa_query)

    qa_list  = qa_query.order_by(QuestionAnswer.add_time.desc()).\
                        offset((page-1)*page_size).limit(page_size).all()

    pagination = Pagination(None, page, page_size, qa_count, None)

    return render_template('user/question_detail.html.j2', f=question, **locals())
Ejemplo n.º 2
0
def index(page=1, page_size=20):
    """快递列表"""
    g.page_type = 'search'
    g.title = u'快递列表'
    g.add_new = True
    g.button_name = u'新增快递'

    args = request.args
    shipping_name = args.get('shipping_name', '').strip()
    shipping_code = args.get('shipping_code', '').strip()
    is_default = toint(args.get('is_default', '-1'))

    q = Shipping.query

    if shipping_name:
        q = q.filter(Shipping.shipping_name.like(u'%' + shipping_name + u'%'))

    if shipping_code:
        q = q.filter(Shipping.shipping_code.like(u'%' + shipping_code + u'%'))

    if is_default >= 0:
        q = q.filter(Shipping.is_default == is_default)

    s_count = get_count(q)
    shipping_list  = q.order_by(Shipping.shipping_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, s_count, None)

    res = make_response(render_template('shipping/index.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 3
0
def index(page=1, page_size=20):
    """用户列表"""
    g.page_type = 'search'
    g.title = u'用户列表'

    args     = request.args
    mobile   = args.get('mobile', '').strip()
    nickname = args.get('nickname', '').strip()
    gender   = toint(args.get('gender', '0'))

    q = User.query

    if gender > 0:
        q = q.filter(User.gender == gender)

    if nickname:
        like_nickname = u'%' + nickname + u'%'
        q = q.filter(User.nickname.like(like_nickname))

    if mobile:
        like_mobile = u'%' + mobile + u'%'
        q = q.filter(User.mobile.like(like_mobile))

    user_count = get_count(q)
    user_list  = q.order_by(User.uid.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, user_count, None)

    res = make_response(render_template('user/index.html.j2',
                user_list=user_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 4
0
def goods_index(page=1, page_size=20):
    """商品评价列表"""
    g.title = u'商品评价列表'
    g.page_type = 'search'

    args = request.args
    goods_id = toint(args.get('goods_id', '0'))
    goods_name = args.get('goods_name', '')

    q = Goods.query

    if goods_id > 0:
        q = q.filter(Goods.goods_id == goods_id)

    if goods_name:
        q = q.filter(Goods.goods_name.like(u'%' + goods_name + u'%'))

    goods_count = get_count(q)
    goods_list = q.order_by(Goods.goods_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, goods_count, None)
    res = make_response(
        render_template('comment/goods_index.html',
                        goods_list=goods_list,
                        pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 5
0
def index(page=1, page_size=20):
    """优惠券列表"""
    g.title = u'优惠券列表'
    g.page_type = 'search'
    g.add_new = True
    g.button_name = u'发放优惠券'

    args = request.args

    cb_name = args.get('cb_name', '').strip()
    coupon_name = args.get('coupon_name', '').strip()
    is_valid = toint(args.get('is_valid', -1))
    begin_add_time = args.get('begin_add_time', '')
    end_add_time = args.get('end_add_time', '')

    query_dict = {
        'cb_name': cb_name,
        'coupon_name': coupon_name,
        'is_valid': is_valid,
        'begin_add_time': begin_add_time,
        'end_add_time': end_add_time,
    }
    q = CouponBatch.query
    q = easy_query_filter(CouponBatch, q, query_dict)

    coupon_count = get_count(q)
    coupon_list  = q.order_by(CouponBatch.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()
    pagination = Pagination(None, page, page_size, coupon_count, None)

    res = make_response(render_template('coupon/index.html', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 6
0
def troy_list(page=1, page_size=20):
    """ 马甲用户列表 """
    g.page_type = 'search'
    g.title     = u'马甲用户列表'
    g.add_new = True
    g.button_name = u'添加马甲用户'
    args = request.args
    uid      = toint(args.get('uid', 0))
    nickname = args.get('nickname', '').strip()

    q = db.session.query(UserTroy.add_time, User.uid, User.nickname, User.avatar).\
                filter(UserTroy.uid == User.uid)

    if uid:
        q = q.filter(UserTroy.uid == uid)

    if nickname:
        like_nickname = u'%' + nickname + u'%'
        q = q.filter(User.nickname.like(like_nickname))

    troy_count = get_count(q)
    troy_list  = q.order_by(UserTroy.uid.desc()).\
                        offset((page-1)*page_size).limit(page_size).all()

    pagination = Pagination(None, page, page_size, troy_count, None)

    res = make_response(render_template('user/troy_list.html.j2', troy_list=troy_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 7
0
def attr_group_list(page=1, page_size=20):
    """ 属性组列表 """
    g.page_type = 'search'
    g.title     = u'属性组列表'

    args = request.args
    ag_name = args.get('ag_name', '').strip()
    ag_type = toint(args.get('ag_type', -1))

    q = AttrGroup.query

    if ag_name:
        like_ag_name = u'%' + ag_name + u'%'
        q = q.filter(AttrGroup.ag_name.like(like_ag_name))

    if ag_type >= 0:
        ag_type = ag_type if ag_type in (1,2) else 0
        q = q.filter(AttrGroup.ag_type == ag_type)

    group_count = get_count(q)
    group_list  = q.order_by(AttrGroup.ag_id.desc()).all()
    pagination  = Pagination(None, page, page_size, group_count, None)

    res = make_response(render_template('goods/attr_group_list.html.j2',
                group_list=group_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 8
0
def recharge_card_list(page=1, page_size=20):
    """充值卡列表"""
    g.page_type = 'search'
    g.title = u'充值卡列表'
    g.add_new = True
    g.button_name = u'新增充值卡'
    param_dict = get_params({'rc_id': int, 'amount': str, 'gift': str})

    query_dict = {
        'rc_id': param_dict['rc_id'],
        'amount': param_dict['amount'],
        'gift': param_dict['gift']
    }

    q = RechargeCard.query
    q = easy_query_filter(RechargeCard, q, query_dict)
    recharge_card_count = get_count(q)
    recharge_card_list  = q.order_by(RechargeCard.rc_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, recharge_card_count, None)

    res = make_response(
        render_template('sys/recharge_card_list.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 9
0
def column_list(page=1, page_size=20):
    """ 商品栏目列表 """

    g.page_type = 'search'
    g.title     = u'商品栏目列表'

    args           = request.args
    gc_id          = toint(args.get('gc_id', '0'))
    column_name    = args.get('column_name', '').strip()
    status         = toint(args.get('status', '-1'))
    begin_add_time = args.get('begin_add_time', '')
    end_add_time   = args.get('end_add_time', '')

    gc_id = gc_id if gc_id > 0 or args.get('gc_id', '') == '0'  else -1

    query_dict = {'gc_id':gc_id,'column_name':column_name,'status':status,'begin_add_time':begin_add_time,'end_add_time':end_add_time,}

    q = GoodsColumn.query
    q = easy_query_filter(GoodsColumn,q,query_dict)

    column_count = get_count(q)
    column_list  = q.order_by(GoodsColumn.gc_id.desc()).all()

    pagination = Pagination(None, page, page_size, column_count, None)

    res = make_response(render_template('goods/column.html.j2',
                column_list=column_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 10
0
def ic_list(page=1, page_size=20):
    """图片分类列表"""
    g.page_type = 'search'
    g.title = u'图片分类列表'
    g.add_new = True
    g.button_name = u'新增分类'

    args = request.args
    ic_name = args.get('ic_name', '').strip()

    q = ImgCategory.query

    if ic_name:
        like_mobile = u'%' + ic_name + u'%'
        q = q.filter(ImgCategory.ic_name.like(like_mobile))

    ic_count = get_count(q)
    ic_list  = q.order_by(ImgCategory.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, ic_count, None)

    res = make_response(render_template('img/ic_list.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 11
0
def admin_add(page=1, page_size=20):
    """用户角色添加"""
    g.title = u'用户角色添加'
    g.page_type = ''

    args = request.args
    errmsg = args.get('errmsg', '')
    mobile = args.get('mobile', '')
    role_id = toint(args.get('role_id', '0'))

    if errmsg:
        g.errmsg = eval(errmsg)
        log_debug('errmsg:%s'%g.errmsg)

    q = db.session.query(User.uid, User.avatar, User.mobile, User.nickname, UserAdmin.id, UserAdmin.role_id).\
            filter(User.uid == UserAdmin.uid).\
            filter(UserAdmin.role_id > 1)

    admin_count = get_count(q)
    admin_list  = q.order_by(UserAdmin.id.desc()).offset((page-1)*page_size).limit(page_size).all()

    role_list   = db.session.query(Role.role_id, Role.role_name).\
                    order_by(Role.role_id.asc()).all()

    # html页面显示角色名称
    role_dict = role_name()

    pagination  = Pagination(None, page, page_size, admin_count, None)

    return render_template('power/admin_add.html.j2', f={'mobile':mobile},**locals())
Ejemplo n.º 12
0
def lottery_temp_detail(page=1, page_size=20):
    """一元云购活动模板详情"""
    g.page_type = ''
    g.title = u'一元云购活动模板详情'

    lt_id = toint(request.args.get('lt_id', '0'))

    lottery_temp_info = LotteryTemplate.query.filter(
        LotteryTemplate.lt_id == lt_id).first()
    goods_list = Goods.query.filter(Goods.kind == 2).\
                    filter(Goods.is_sale == 1).all()

    if lottery_temp_info is None:
        return u'一元云购活动模板不存在'

    param_dict = get_params({
        'lottery_id': int,
        'section_number': int,
        'query_goods_id': int,
        'lottery_name': str,
        'lottery_status': int,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'lottery_id': param_dict['lottery_id'],
        'section_number': param_dict['section_number'],
        'goods_id': param_dict['query_goods_id'],
        'lottery_name': param_dict['lottery_name'],
        'lottery_status': param_dict['lottery_status'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
    }

    q = db.session.query(Lottery.lottery_id, Lottery.section_number, Goods.goods_name, Lottery.goods_id, Lottery.lottery_name, Lottery.lottery_img, Lottery.lottery_price, Lottery.lottery_status, Lottery.schedule, Lottery.announced_time, Lottery.add_time).\
        filter(Lottery.goods_id == Goods.goods_id).\
        filter(Goods.kind == 2).\
        filter(Lottery.lt_id == lt_id)

    q = easy_query_filter(Lottery, q, query_dict)

    # 商品列表
    goods_query_list = [{'name': u'请选择……', 'value': '-1'}]
    goods_query_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\
                                group_by(Goods.goods_id).all()

    for goods in goods_query_list_temp:
        gs = {'name': goods.goods_name, 'value': goods.goods_id}
        goods_query_list.append(gs)

    lottery_count = get_count(q)
    lottery_list  = q.order_by(Lottery.lottery_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()
    pagination = Pagination(None, page, page_size, lottery_count, None)

    return render_template('lottery/add_template.html.j2',
                           f=lottery_temp_info,
                           **locals())
Ejemplo n.º 13
0
def index(page=1, page_size=20):
    """图片列表"""
    g.page_type = 'search'
    g.title = u'图片列表'
    g.add_new = True
    g.button_name = u'新增图片'

    args = request.args
    img_title = args.get('img_title', '').strip()
    ic_id = toint(args.get('ic_id', '0'))
    img_id = toint(args.get('img_id', '0'))
    is_display = toint(args.get('is_display', '-1'))
    begin_add_time = args.get('begin_add_time', '').strip()
    end_add_time = args.get('end_add_time', '').strip()

    q = Img.query

    if ic_id > 0:
        q = q.filter(Img.ic_id == ic_id)

    if img_id > 0:
        q = q.filter(Img.img_id == img_id)

    if is_display > 0:
        q = q.filter(Img.is_display == is_display)

    if img_title:
        like_mobile = u'%' + img_title + u'%'
        q = q.filter(Img.img_title.like(like_mobile))

    if begin_add_time:
        begin_time = time.mktime(time.strptime(begin_add_time, '%Y-%m-%d'))
        q = q.filter(Img.add_time >= begin_time)

    if end_add_time:
        end_add_time = time.mktime(time.strptime(end_add_time,
                                                 '%Y-%m-%d')) + 24 * 3600
        q = q.filter(Img.add_time < end_add_time)

    img_count = get_count(q)
    img_list  = q.order_by(Img.img_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    ic_temp = db.session.query(ImgCategory.ic_id, ImgCategory.ic_name).\
                order_by(ImgCategory.ic_id.desc()).all()

    ic_dict, ic_list = {}, []
    for ic in ic_temp:
        if ic.ic_name:
            ic_dict = {'value': ic.ic_id, 'name': ic.ic_name}
            ic_list.append(ic_dict)

    pagination = Pagination(None, page, page_size, img_count, None)

    res = make_response(render_template('img/index.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 14
0
def ordinary_list(page=1, page_size=20):
    """普通订单列表"""
    g.title = u'普通订单列表'
    g.page_type = 'search'

    param_dict = get_params({
        'order_id': int,
        'order_status': int,
        'pay_status': int,
        'order_amount': int,
        'begin_paid_time': str,
        'end_paid_time': str,
        'shipping_sn': str,
        'shipping_status': int,
        'deliver_status': int,
        'is_comment': int,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'order_id': param_dict['order_id'],
        'pay_status': param_dict['pay_status'],
        'order_status': param_dict['order_status'],
        'order_amount': param_dict['order_amount'],
        'shipping_sn': param_dict['shipping_sn'],
        'shipping_status': param_dict['shipping_status'],
        'deliver_status': param_dict['deliver_status'],
        'is_comment': param_dict['is_comment'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
        'begin_paid_time': param_dict['begin_paid_time'],
        'end_paid_time': param_dict['end_paid_time']
    }

    q = db.session.query(Order.order_id, Order.uid, Order.order_status, Order.order_desc, Order.order_amount, Order.shipping_sn, Order.shipping_status, Order.deliver_status, Order.is_comment, Order.add_time, Order.paid_time, Order.pay_status).\
        filter(Order.uid == User.uid).\
        filter(Order.order_type == 1)

    q = easy_query_filter(Order, q, query_dict)

    order_count = get_count(q)
    order_list = q.order_by(Order.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    (USERNAME, MOBILE, NICKNAME, AVATAR, REALNAME, GENDER) = get_user_data()
    pagination = Pagination(None, page, page_size, order_count, None)

    res = make_response(
        render_template('order/ordinary_list.html.j2',
                        f={
                            'lt_id': '',
                            'lottery_id': ''
                        },
                        **locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 15
0
def index(page=1, page_size=20):
    """一元云购活动列表"""
    g.page_type = 'search'
    g.title = u'一元云购活动列表'

    param_dict = get_params({
        'lottery_id': int,
        'section_number': int,
        'goods_id': int,
        'lottery_name': str,
        'lottery_status': int,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'lottery_id': param_dict['lottery_id'],
        'section_number': param_dict['section_number'],
        'goods_id': param_dict['goods_id'],
        'lottery_name': param_dict['lottery_name'],
        'lottery_status': param_dict['lottery_status'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
    }

    q = db.session.query(Lottery.lottery_id, Lottery.section_number, Goods.goods_name, Lottery.goods_id, Lottery.lottery_name, Lottery.lottery_img, Lottery.lottery_price, Lottery.lottery_status, Lottery.schedule, Lottery.announced_time, Lottery.add_time).\
        filter(Lottery.goods_id == Goods.goods_id).\
        filter(Goods.kind == 2)

    q = easy_query_filter(Lottery, q, query_dict)

    lottery_count = get_count(q)
    lottery_list  = q.order_by(Lottery.lottery_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    # 商品列表
    goods_id_list = [l.goods_id for l in lottery_list]
    goods_list = [{'name': u'请选择……', 'value': '-1'}]
    goods_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\
                                filter(Goods.goods_id.in_(goods_id_list)).\
                                group_by(Goods.goods_id).all()

    for goods in goods_list_temp:
        if goods.goods_name:
            gs = {'name': goods.goods_name, 'value': goods.goods_id}
            goods_list.append(gs)

    pagination = Pagination(None, page, page_size, lottery_count, None)

    res = make_response(render_template('lottery/index.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 16
0
def order_tran_list(page=1, page_size=20):
    """订单交易列表"""
    g.title = u'订单交易列表'
    g.page_type = 'search'

    param_dict = get_params({
        'tran_id': int,
        'pay_status': int,
        'begin_paid_time': str,
        'end_paid_time': str,
        'begin_add_time': str,
        'end_add_time': str,
        'order_id': int
    })

    query_dict = {
        'tran_id': param_dict['tran_id'],
        'pay_status': param_dict['pay_status'],
        'begin_paid_time': param_dict['begin_paid_time'],
        'end_paid_time': param_dict['end_paid_time'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
    }

    q = OrderTran.query
    q = easy_query_filter(OrderTran, q, query_dict)

    order_id = param_dict['order_id']
    if order_id > 0:
        q = q.filter(
            or_(OrderTran.order_id_list.like(u'%' + '%d,' % order_id + u'%'),
                OrderTran.order_id_list.like(u'%' + ',%d,' % order_id + u'%'),
                OrderTran.order_id_list.like(u'%' + ',%d' % order_id + u'%'),
                OrderTran.order_id_list.like(u'%' + '%d' % order_id + u'%')))

    tran_count = get_count(q)
    order_tran_list = q.order_by(OrderTran.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    for tran in order_tran_list:
        uid = tran.uid
        user_info = User.query.get(uid)
        tran.nickname = user_info.nickname if user_info else ''

    pagination = Pagination(None, page, page_size, tran_count, None)

    res = make_response(
        render_template('order/tran_list.html.j2',
                        order_tran_list=order_tran_list,
                        pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 17
0
def lottery_detail(page=1, page_size=30):
    """一元云购活动详情"""
    g.page_type = ''
    g.title = u'一元云购活动详情'

    lottery_id = toint(request.args.get('lottery_id', '0'))

    lottery_info = Lottery.query.filter(
        Lottery.lottery_id == lottery_id).first()
    goods_list = Goods.query.filter(Goods.kind == 2).\
                    filter(Goods.is_sale == 1).all()

    if lottery_info is None:
        return u'一元云购活动不存在'

    param_dict = get_params({
        'lottery_name': str,
        'lottery_number': str,
        'nickname': str,
        'order_id': int,
        'is_prize': int,
        'add_time': str
    })
    query_dict = {
        'lottery_number': param_dict['lottery_number'],
        'order_id': param_dict['order_id'],
        'is_prize': param_dict['is_prize'],
        'add_time': param_dict['add_time']
    }

    q = db.session.query(LotteryNumber.ln_id, LotteryNumber.order_id, LotteryNumber.lottery_number, LotteryNumber.is_prize, LotteryNumber.add_time,Lottery.lottery_name,User.nickname).\
            filter(Lottery.lottery_id == LotteryNumber.lottery_id).\
            filter(LotteryNumber.uid == User.uid).\
            filter(LotteryNumber.lottery_id == lottery_id)

    q = easy_query_filter(LotteryNumber, q, query_dict)

    if param_dict['nickname']:
        q = q.filter(User.nickname.like(u'%' + param_dict['nickname'] + u'%'))

    if param_dict['lottery_name']:
        q = q.filter(
            Lottery.lottery_name.like(u'%' + param_dict['lottery_name'] +
                                      u'%'))

    lottery_count = get_count(q)
    lottery_number_list  = q.order_by(LotteryNumber.ln_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()
    pagination = Pagination(None, page, page_size, lottery_count, None)

    return render_template('lottery/add.html.j2', f=lottery_info, **locals())
Ejemplo n.º 18
0
def goods_list(page=1, page_size=20):
    """ 商品列表 """
    g.page_type = 'search'
    g.title     = u'商品列表'
    g.add_new = True
    g.button_name = u'添加商品'
    args = request.args
    goods_id    = toint(args.get('goods_id', 0))
    goods_name  = args.get('goods_name', '').strip()
    gc_id       = toint(args.get('gc_id', 0))
    is_sale     = toint(args.get('is_sale', -1))
    kind        = toint(args.get('kind', '-1'))

    q = db.session.query(Goods.gc_id, Goods.goods_name, GoodsCategory.category_name, Goods.goods_img, Goods.goods_name, Goods.sort_order, Goods.goods_price, Goods.sale_count, Goods.kind, Goods.is_sale, Goods.goods_id, Goods.add_time).\
        filter(GoodsCategory.gc_id == Goods.gc_id)

    if goods_id:
        q = q.filter(Goods.goods_id == goods_id)

    if goods_name:
        like_goods_name = u'%' + goods_name + u'%'
        q = q.filter(Goods.goods_name.like(like_goods_name))

    if gc_id > 0:
        q = q.filter(Goods.gc_id == gc_id)

    if is_sale in (0, 1):
        q = q.filter(Goods.is_sale == is_sale)

    if kind >= 0:
        q = q.filter(Goods.kind == kind)

    # 商品分类列表
    goods_cat_list      = [{'name':u'请选择……', 'value':'-1'}]
    goods_cat_list_temp = db.session.query(GoodsCategory.category_name, GoodsCategory.gc_id).\
                                filter(GoodsCategory.gc_id == Goods.gc_id).\
                                group_by(GoodsCategory.gc_id).all()

    for goods_cat in goods_cat_list_temp:
        gc = {'name':goods_cat.category_name, 'value':goods_cat.gc_id}
        goods_cat_list.append(gc)

    goods_count = get_count(q)
    goods_list  = q.order_by(Goods.goods_id.desc()).all()

    pagination  = Pagination(None, page, page_size, goods_count, None)

    res = make_response(render_template('goods/goods_list.html.j2',**locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 19
0
def temp_list(page=1, page_size=20):
    """一元云购模板列表"""
    g.page_type = 'search'
    g.title = u'一元云购模板列表'
    g.add_new = True
    g.button_name = u'新增一元云购模板'

    param_dict = get_params({
        'lt_id': int,
        'section_number': int,
        'goods_id': int,
        'lottery_name': str,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'lt_id': param_dict['lt_id'],
        'section_number': param_dict['section_number'],
        'goods_id': param_dict['goods_id'],
        'lottery_name': param_dict['lottery_name'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
    }

    q = db.session.query(LotteryTemplate.lt_id, LotteryTemplate.section_number, Goods.goods_name, LotteryTemplate.goods_id, LotteryTemplate.lottery_name, LotteryTemplate.lottery_img, LotteryTemplate.lottery_price, LotteryTemplate.add_time).\
        filter(LotteryTemplate.goods_id == Goods.goods_id).\
        filter(Goods.kind == 2)

    q = easy_query_filter(LotteryTemplate, q, query_dict)

    # 商品列表
    goods_list = [{'name': u'请选择……', 'value': '-1'}]
    goods_list_temp = db.session.query(Goods.goods_name, Goods.goods_id).\
                                group_by(Goods.goods_id).all()

    for goods in goods_list_temp:
        gs = {'name': goods.goods_name, 'value': goods.goods_id}
        goods_list.append(gs)

    lottery_temp_count = get_count(q)
    lottery_temp_list  = q.order_by(LotteryTemplate.lt_id.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()
    pagination = Pagination(None, page, page_size, lottery_temp_count, None)

    res = make_response(
        render_template('lottery/temp_list.html.j2', **locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 20
0
def index(page=1, page_size=20):
    """售后列表"""
    g.page_type = 'search'
    g.title = u'售后列表'


    args = request.args
    order_id       = args.get('order_id', '0').strip()
    goods_id       = args.get('goods_id', '0').strip()
    after_type     = args.get('after_type', '-1').strip()
    status         = args.get('status', '-1').strip()
    begin_add_time = args.get('begin_add_time', '').strip()
    end_add_time   = args.get('end_add_time', '').strip()

    q = After.query

    if toint(order_id) > 0:
        q = q.filter(After.order_id == order_id)

    if toint(goods_id) > 0:
        q = q.filter(After.goods_id == goods_id)

    if toint(after_type) > -1:
        q = q.filter(After.after_type == after_type)

    if toint(status) > -1:
        q = q.filter(After.status == status)

    if begin_add_time:
        begin_add_time = time.mktime(time.strptime(begin_add_time,'%Y-%m-%d'))
        q = q.filter(After.add_time >= begin_add_time)

    if end_add_time:
        end_add_time = time.mktime(time.strptime(end_add_time,'%Y-%m-%d')) + 24*3600
        q = q.filter(After.add_time < end_add_time)

    a_count = get_count(q)
    a_list  = q.order_by(After.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination  = Pagination(None, page, page_size, a_count, None)

    USER_NAME = user_name_dict()
    res = make_response(render_template('after/index.html.j2', a_list=a_list, pagination=pagination, USER_NAME=USER_NAME))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 21
0
def recharge_list(page=1, page_size=20):
    """充值订单列表"""
    g.title = u'充值订单列表'
    g.page_type = 'search'

    param_dict = get_params({
        'order_id': int,
        'order_status': int,
        'order_amount': int,
        'begin_paid_time': str,
        'end_paid_time': str,
        'begin_add_time': str,
        'end_add_time': str
    })

    query_dict = {
        'order_id': param_dict['order_id'],
        'order_status': param_dict['order_status'],
        'order_amount': param_dict['order_amount'],
        'begin_add_time': param_dict['begin_add_time'],
        'end_add_time': param_dict['end_add_time'],
        'begin_paid_time': param_dict['begin_paid_time'],
        'end_paid_time': param_dict['end_paid_time']
    }

    q = db.session.query(Order.order_id, Order.order_status, Order.order_desc, Order.order_amount, Order.shipping_sn, Order.shipping_status, Order.deliver_status, Order.is_comment, Order.add_time, Order.pay_type, Order.paid_time, Order.paid_amount).\
        filter(Order.order_type == 2)

    q = easy_query_filter(Order, q, query_dict)

    order_count = get_count(q)
    order_list = q.order_by(Order.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    pagination = Pagination(None, page, page_size, order_count, None)

    res = make_response(
        render_template('order/recharge_list.html.j2',
                        order_list=order_list,
                        pagination=pagination,
                        f={
                            'lt_id': '',
                            'lottery_id': ''
                        }))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 22
0
def getcode():
    """获取验证码"""
    form = request.form
    mobile = form.get('mobile', '')

    check_type = 2

    # 24小时内不能超过5次获取验证码
    current_time = int(time.time())
    min_time = current_time - 24 * 60 * 60
    day_limit_query = UserCheckCode.query.filter(UserCheckCode.mobile == mobile).\
                    filter(UserCheckCode.check_type == check_type).\
                    filter(UserCheckCode.expire_time >= min_time).\
                    filter(UserCheckCode.expire_time < current_time)
    day_sms_count = get_count(day_limit_query)
    if day_sms_count >= 5:
        return u'一天之内只能获取5次验证码,请明天再来获取'

    # 一分钟内不重复发短信
    one_ucc = UserCheckCode.query.filter(UserCheckCode.mobile == mobile).\
            filter(UserCheckCode.check_type == check_type).\
            filter(UserCheckCode.expire_time >= current_time).first()
    if one_ucc is not None:
        return u'请2分钟后再获取'

    code = randomstr(6, 1)
    content = u'【101计划】您的验证码是%s。如非本人操作,请忽略本短信' % (code, )
    log_debug(content)

    sms = YunPian()
    res = sms.send_sms_text(mobile, content)
    result = json.loads(res)
    log_debug(result)
    # if result['code'] != 0:
    #     return u'发送验证码失败,请重新获取。'

    ucc = UserCheckCode()
    ucc.mobile = mobile
    ucc.check_code = code
    ucc.expire_time = current_time + 150
    ucc.check_type = check_type
    db.session.add(ucc)
    db.session.commit()

    return 'ok'
Ejemplo n.º 23
0
def index(page=1, page_size=20):
    """权限列表"""
    g.page_type = 'search'
    g.title = u'权限列表'
    g.add_new = True
    g.button_name = u'角色管理'

    args = request.args
    endpoint_name = args.get('endpoint_name', '')
    role_id       = toint(args.get('role_id', '0'))

    q = db.session.query(RolePermission.role_id,
                    RolePermission.endpoint_list,
                    RolePermission.rp_id,
                    Permission.permission_id,
                    Permission.sort_order,
                    Permission.endpoint_name).\
        filter(RolePermission.permission_id == Permission.permission_id)

    if endpoint_name:
        q = q.filter(Permission.endpoint_name.like(u'%'+endpoint_name+u'%'))

    if role_id > 0:
        q = q.filter(RolePermission.role_id == role_id)

    # 角色列表
    role_list = get_role_list()

    permission_id_list = db.session.query(Permission.permission_id).all()
    permission_id_list = map(lambda permission:permission.permission_id, permission_id_list)

    power_count = get_count(q)
    power_list  = q.order_by(RolePermission.role_id.asc()).\
                        order_by(Permission.permission_id.desc()).\
                        offset((page-1)*page_size).limit(page_size).all()

    pagination  = Pagination(None, page, page_size, power_count, None)

    # html页面显示角色名称
    role_dict = role_name()
    res = make_response(render_template('power/index.html.j2',**locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 24
0
def news_list(page=1, page_size=20):
    """ 资讯列表 """
    g.page_type = 'search'
    g.title = u'资讯列表'
    g.add_new = True
    g.button_name = u'添加资讯'

    args = request.args
    title = args.get('title', '').strip()
    begin_add_time = args.get('begin_add_time', '').strip()
    end_add_time = args.get('end_add_time', '').strip()
    nc_id = toint(args.get('nc_id', '-1'))
    status = toint(args.get('status', '-1'))

    q = News.query
    query_dict = {
        'title': title,
        'nc_id': nc_id,
        'status': status,
        'begin_add_time': begin_add_time,
        'end_add_time': end_add_time,
    }

    q = News.query
    q = easy_query_filter(News, q, query_dict)

    news_count = get_count(q)
    news_list  = q.order_by(News.news_id.desc()).\
                        offset((page-1)*page_size).limit(page_size).all()

    pagination = Pagination(None, page, page_size, news_count, None)

    res = make_response(
        render_template(
            'news/news_list.html.j2',
            news_list=news_list,
            pagination=pagination,
            Object=News,
        ))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 25
0
def user_detail(page=1, page_size=20):
    """用户详情"""
    g.page_type = ''
    g.title = u'用户详情'

    uid    = toint(request.args.get('uid', '0'))
    check_type = request.args.get('check_type', '1')
    user_info = User.query.filter(User.uid == uid).first()

    if user_info is None:
        return u'用户不存在'

    user_acount_info = UserAccount.query.filter(UserAccount.uid == User.uid).\
                        filter(UserAccount.uid == user_info.uid).first()

    user_acount_detail_list = UserAccountDetail.query.filter(UserAccountDetail.uid == User.uid).\
                                filter(User.uid == user_info.uid).all()


    pagination_info = list_pagination(user_acount_detail_list, page,page_size)

    user_acount_detail_list = pagination_info[0]
    pagination = pagination_info[1]

    q = Question.query.filter(Question.uid == User.uid).\
                    filter(Question.uid == uid)
    q_count = get_count(q)
    q_pagination = Pagination(None, page, page_size, q_count, None)

    question_list = q.order_by(Question.add_time.desc()).offset((page-1)*page_size).\
                    limit(page_size).all()

    return render_template('user/detail.html.j2',
                            user=user_info,
                            ua=user_acount_info,
                            user_acount_detail_list=user_acount_detail_list,
                            pagination=pagination,
                            check_type=check_type,
                            q_pagination = q_pagination,
                            question_list=question_list)
Ejemplo n.º 26
0
def menu_list(page=1, page_size=20):
    """菜单列表"""
    g.page_type = 'search'
    g.title = u'菜单列表'
    g.add_new = True
    g.button_name = u'新增菜单'

    args = request.args
    endpoint = args.get('endpoint', '')
    endpoint_name = args.get('endpoint_name', '')
    menu_type = toint(args.get('menu_type', '-1'))

    q = Permission.query
    if endpoint:
        q = q.filter(Permission.endpoint.like(u'%' + endpoint + u'%'))

    if endpoint_name:
        q = q.filter(Permission.endpoint_name.like(u'%' + endpoint_name +
                                                   u'%'))

    if menu_type == 0:
        q = q.filter(Permission.parent_id == 0)

    if menu_type > 0:
        q = q.filter(Permission.parent_id > 0)

    menu_count = get_count(q)
    menu_list  = q.order_by(Permission.permission_id.desc()).\
                offset((page-1)*page_size).limit(page_size).all()

    pagination = Pagination(None, page, page_size, menu_count, None)
    session['menu'] = menu(session.get('role_id'))
    res = make_response(
        render_template('sys/menu_list.html.j2',
                        menu_list=menu_list,
                        pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 27
0
def user_coupon(page=1, page_size=20):
    """ 用户优惠券 """
    g.title = u'用户优惠券'
    g.page_type = 'search'

    args = request.args
    uid = toint(args.get('uid', 0))
    mobile = args.get('mobile', '')
    cb_id = toint(args.get('cb_id', 0))
    coupon_id = toint(args.get('coupon_id', 0))

    q = Coupon.query

    if uid > 0:
        q = q.filter(Coupon.uid == uid)

    if cb_id:
        q = q.filter(Coupon.cb_id == cb_id)

    if coupon_id:
        q = q.filter(Coupon.coupon_id == coupon_id)

    if mobile:
        q = q.filter(Coupon.uid == User.uid).\
                filter(User.mobile == mobile)

    user_coupon_count = get_count(q)
    user_coupon_list  = q.order_by(Coupon.add_time.desc()).\
                            offset((page-1)*page_size).limit(page_size).all()

    pagination = Pagination(None, page, page_size, user_coupon_count, None)

    res = make_response(
        render_template('coupon/user_coupon.html.j2',
                        user_coupon_list=user_coupon_list,
                        pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 28
0
def role_admin(page=1, page_size=20):
    """角色管理"""

    g.page_type = ''

    args = request.args
    role_id = toint(args.get('role_id', '0'))
    g.title = u'角色管理' if role_id <= 0 else u'角色详情'
    q = Role.query

    role_count = get_count(q)

    role_query_list = q.order_by(Role.role_id.asc()).offset((page-1)*page_size).limit(page_size).all()

    role = Role.query.get(role_id)

    # 获取角色权限permission_id字符串列表
    permission_id_list = db.session.query(RolePermission.permission_id).\
                        filter(RolePermission.role_id == role_id).all()
    permission_id_list = map(lambda permission:str(permission.permission_id), permission_id_list)
    permission_id_str  = ','.join(permission_id_list)

    # 获取权限列表
    # permission_list = db.session.query(Permission.permission_id, Permission.endpoint_name).\
    #                         order_by(Permission.parent_id.asc()).\
    #                         order_by(Permission.permission_id.asc()).all()

    # 获取一级菜单列表
    menu_list = db.session.query(Permission.permission_id, Permission.endpoint_name).\
                    filter(Permission.parent_id == 0).\
                    order_by(Permission.permission_id.asc()).all()

    pagination = Pagination(None, page, page_size, role_count, None)

    res = make_response(render_template('power/role_admin.html.j2',f=role if role else {},**locals()))

    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 29
0
def spec(page=1, page_size=20):
    """ 规格模板列表 """
    g.page_type = 'search'
    g.title     = u'规格模板列表'
    g.add_new = True
    g.button_name = u'新增规格模板'

    args = request.args
    st_name  = args.get('st_name', '').strip()

    q = SpecTemplate.query

    if st_name:
        q = q.filter(SpecTemplate.st_name.like(u'%' + st_name + u'%'))

    spec_count = get_count(q)
    st_list  = q.order_by(SpecTemplate.add_time.desc()).all()

    pagination  = Pagination(None, page, page_size, spec_count, None)

    res = make_response(render_template('goods/spec_template.html.j2',**locals()))
    res.set_cookie('goback_url', request.url)
    return res
Ejemplo n.º 30
0
def category_list(page=1, page_size=20):
    """ 分类列表 """
    g.page_type = 'search'
    g.title     = u'分类列表'
    g.add_new = True
    g.button_name = u'创建分类'
    args           = request.args
    gc_id          = toint(args.get('gc_id', 0))
    category_name  = args.get('category_name', '').strip()
    begin_add_time = args.get('begin_add_time', '')
    end_add_time   = args.get('end_add_time', '')

    q = GoodsCategory.query

    if category_name:
        q = q.filter(GoodsCategory.category_name.like(u'%'+category_name+u'%'))

    if gc_id > 0:
        q = q.filter(GoodsCategory.gc_id == gc_id)

    if begin_add_time:
        begin_add_time = time.mktime(time.strptime(begin_add_time,'%Y-%m-%d'))
        q = q.filter(GoodsCategory.add_time >= begin_add_time)

    if end_add_time:
        end_add_time = time.mktime(time.strptime(end_add_time,'%Y-%m-%d'))
        q = q.filter(GoodsCategory.add_time <= end_add_time)

    category_count = get_count(q)

    category_list  = q.order_by(GoodsCategory.gc_id.desc()).all()
    pagination = Pagination(None, page, page_size, category_count, None)

    res = make_response(render_template('goods/category_list.html.j2',
                category_list=category_list, pagination=pagination))
    res.set_cookie('goback_url', request.url)
    return res