Пример #1
0
class CouponHandler(base_handler.BaseHandler):
    def initialize(self, hinfo=''):
        self.init_condition()

        self.mlink = MLink()
        self.mcat = MCatalog()
        self.mcoupon = MCoupon()


    def get(self, input=''):
        # Todo: 验证
        if input.startswith('grap'):
            # self.render()
            self.grap(input)
        elif input.startswith('getinfo'):
            self.get_info(input)
        else:
            op, catid = input.split(r'/')
            if op == 'get_list':
                self.get_list()

    def delete_by_id(self, input):
        op, uid = input.split('/')
        self.mlink.delete_by_uid(uid)
        self.list()
        # self.redirect('/link/list')

    def get_info(self, input):
        tel = input.split('/')[1]

        if len(tel) < 11:
            self.write('')
            return
        user_info = self.muser_info.get_by_tel(tel)
        if user_info is None:
            self.write('没找到用户')
            return

        coupon_id = user_info['coupon_uid']
        coupon_info = self.mcoupon.get_by_id(coupon_id)
        if coupon_info is None:
            self.write('没找到该用户的优惠!')
            return

        kwd = {
            'title': coupon_info['title'],
            'address': coupon_info['address'],
            'username': user_info['user_name'],
            'company': coupon_info['company'],
        }
        self.render('coupon/user_info.html', kwd=kwd)

    def grap(self, input):
        self.muser_info.coupon_num_decrease(self.user_name)

        coupon_uid = input.split('/')[1]
        user_info = self.muser_info.get_by_username(self.user_name)
        now = libs.tool.get_timestamp()
        if now - user_info['coupon_timestamp'] < 30 * 24 * 3600:
            self.render_yiyou()
        elif user_info['coupon_num'] == 0:
            self.render_out_num()

        else:
            coupon_info = {
                'coupon_uid': coupon_uid,
                'coupon_timestamp': now,
                'userid': self.user_name,
                'remainnum': user_info['coupon_num'],
            }
            self.muser_info.update_coupon(coupon_info)


    def render_out_num(self):
        self.render('coupon/out_num.html')

    def render_yiyou(self):
        user_info = self.muser_info.get_by_username(self.user_name)

        coupon_id = user_info['coupon_uid']
        coupon_info = self.mcoupon.get_by_id(coupon_id)
        if coupon_info is None:
            self.write('没找到该用户的优惠!')
            return

        kwd = {
            'title': coupon_info['title'],
            'address': coupon_info['address'],
            'username': user_info['user_name'],
            'company': coupon_info['company'],
        }
        self.render('coupon/coupy.html', kwd=kwd)

    def post(self, input=''):
        pass