Ejemplo n.º 1
0
Archivo: views.py Proyecto: Panmax/xlhw
def check_phone_paste(openid):
    if not check_regist(openid):
        return u'请先完成注册后再使用本功能。回复【注册】试试吧。'

    p = get_or_create_user_phone_paste(openid)

    return u'您的贴膜可用次数为%s次。 您可回复【我要贴膜】进行消费。 或回复【贴膜赠送】,赠送朋友1次贴膜机会。(现贴膜半价活动进行中,50元10次,详询店内工作人员)' % (p.remain,)
Ejemplo n.º 2
0
def check_phone_paste(openid):
    if not check_regist(openid):
        return u'请先完成注册后再使用本功能。回复【注册】试试吧。'

    p = get_or_create_user_phone_paste(openid)

    return u'您的贴膜可用次数为%s次。 您可回复【我要贴膜】进行消费。 或回复【贴膜赠送】,赠送朋友1次贴膜机会。(现贴膜半价活动进行中,50元10次,详询店内工作人员)' % (
        p.remain, )
Ejemplo n.º 3
0
def sign_in(openid):
    if not check_regist(openid):
        return u'请先完成注册后再使用本功能。回复【注册】试试吧。'
    staff = User.objects.get(openid=openid)
    today_date = datetime.date.today()
    staff_sign = StaffSignRecord.objects.filter(
        staff=staff, date__month=today_date.month).order_by('-date')

    welcome = u'早上好,'
    today_date_string = u'%s年%s月%s日' % (today_date.year, today_date.month,
                                        today_date.day)
    weekday = get_week_day(today_date.weekday())
    now_time_string = u'%s点%s分' % (datetime.datetime.today().hour,
                                   datetime.datetime.today().minute)
    is_success = u'今日打卡成功'
    sign_num = len(staff_sign) + 1

    every_day_say = u'加油!'

    if not staff_sign:
        s = StaffSignRecord(staff=staff)
        s.save()

    else:
        last_sign_date_time = staff_sign[0].date
        last_sign_date = last_sign_date_time.date()
        today_date = datetime.date.today()
        delta_days = (today_date - last_sign_date).days
        if delta_days == 0:
            return u'你今天已经签过到了,请勿重复签到!'
        elif delta_days == 1:
            continue_sign = staff_sign[0].continue_sign + 1
            s = StaffSignRecord(staff=staff, continue_sign=continue_sign)
            s.save()
        else:
            s = StaffSignRecord(staff=staff)
            s.save()

    h = s.date.time().hour
    m = s.date.time().minute
    if h > 8 and m > 0:
        is_success = u'今天好像迟到了哦'
        s.is_late = True
        s.save()
    if h > 9:
        welcome = ''

    return u'%s今天是%s %s,现在时间是%s,%s,这是本月第%s次打卡。%s' % (
        welcome, today_date_string, weekday, now_time_string, is_success,
        sign_num, every_day_say)
Ejemplo n.º 4
0
Archivo: views.py Proyecto: Panmax/xlhw
def sign_in(openid):
    if not check_regist(openid):
        return u'请先完成注册后再使用本功能。回复【注册】试试吧。'
    staff = User.objects.get(openid=openid)
    today_date = datetime.date.today()
    staff_sign = StaffSignRecord.objects.filter(staff=staff, date__month=today_date.month).order_by('-date')

    welcome = u'早上好,'
    today_date_string = u'%s年%s月%s日' % (today_date.year, today_date.month, today_date.day)
    weekday = get_week_day(today_date.weekday())
    now_time_string = u'%s点%s分' % (datetime.datetime.today().hour, datetime.datetime.today().minute)
    is_success = u'今日打卡成功'
    sign_num = len(staff_sign) + 1

    every_day_say = u'加油!'

    if not staff_sign:
        s = StaffSignRecord(staff=staff)
        s.save()

    else:
        last_sign_date_time = staff_sign[0].date
        last_sign_date = last_sign_date_time.date()
        today_date = datetime.date.today()
        delta_days = (today_date-last_sign_date).days
        if delta_days == 0:
            return u'你今天已经签过到了,请勿重复签到!'
        elif delta_days == 1:
            continue_sign = staff_sign[0].continue_sign+1
            s = StaffSignRecord(staff=staff, continue_sign=continue_sign)
            s.save()
        else:
            s = StaffSignRecord(staff=staff)
            s.save()

    h = s.date.time().hour
    m = s.date.time().minute
    if h > 8 and m > 0:
        is_success = u'今天好像迟到了哦'
        s.is_late = True
        s.save()
    if h > 9:
        welcome = ''



    return u'%s今天是%s %s,现在时间是%s,%s,这是本月第%s次打卡。%s' % (welcome, today_date_string, weekday, now_time_string, is_success, sign_num, every_day_say)
Ejemplo n.º 5
0
Archivo: views.py Proyecto: Panmax/xlhw
def phone_paste_consume(openid):
    if not check_regist(openid):
        return u'请先完成注册后再使用本功能。回复【注册】试试吧。'

    u = User.objects.get(openid=openid)
    p = get_or_create_user_phone_paste(openid)

    if p.remain <= 0:
        return u'【贴膜】消费失败,您没有可用的贴膜次数。'

    p.remain -= 1
    p.save()

    r=PhonePasteRecoder(user=u, amount=-1)
    r.save()

    date = r.date

    return u'【贴膜】消费成功,消费日期为【%s】,请将本条消息展示于店内工作人员,并且为您提供贴膜服务。您的剩余贴膜次数为【%s】次。(请在3日内使用,过期无效)' % ( date.strftime('%Y-%m-%d %H:%M:%S'), p.remain,)
Ejemplo n.º 6
0
Archivo: views.py Proyecto: Panmax/xlhw
def transfer_phone_paste(openid, phonenumber):
    if not check_regist(openid):
        return u'请先完成注册后再使用本功能。回复【注册】试试吧。'
    from_user = User.objects.get(openid=openid)
    if len(phonenumber) == 0:
        return u'您正在使用贴膜赠送功能,请回复【贴膜赠送+对方手机号】进行贴膜赠送,中间没有空格,每次赠送1次贴膜服务给您的好友。例如:贴膜赠送%s' % (from_user.phonenumber, )
    try:
        to_user = User.objects.get(phonenumber=phonenumber)
    except ObjectDoesNotExist:
        return u'赠送失败,请检查被赠送号码是否正确,并且已在平台进行注册。'
    else:
        if from_user == to_user:
            return u'赠送失败,不能自己赠送给自己。'
        from_user_paste = get_or_create_user_phone_paste(openid)
        to_user_paste = get_or_create_user_phone_paste(to_user.openid)
        from_user_paste.remain-=1
        from_user_paste.save()
        to_user_paste.remain+=1
        to_user_paste.save()
        PhonePasteTransfer(from_user=from_user, to_user=to_user, amount=1).save()
        return u'成功赠送给【%s】1次贴膜服务,您当前剩余贴膜次数为【%s】' % (to_user.name, from_user_paste.remain)
Ejemplo n.º 7
0
def phone_paste_consume(openid):
    if not check_regist(openid):
        return u'请先完成注册后再使用本功能。回复【注册】试试吧。'

    u = User.objects.get(openid=openid)
    p = get_or_create_user_phone_paste(openid)

    if p.remain <= 0:
        return u'【贴膜】消费失败,您没有可用的贴膜次数。'

    p.remain -= 1
    p.save()

    r = PhonePasteRecoder(user=u, amount=-1)
    r.save()

    date = r.date

    return u'【贴膜】消费成功,消费日期为【%s】,请将本条消息展示于店内工作人员,并且为您提供贴膜服务。您的剩余贴膜次数为【%s】次。(请在3日内使用,过期无效)' % (
        date.strftime('%Y-%m-%d %H:%M:%S'),
        p.remain,
    )
Ejemplo n.º 8
0
def transfer_phone_paste(openid, phonenumber):
    if not check_regist(openid):
        return u'请先完成注册后再使用本功能。回复【注册】试试吧。'
    from_user = User.objects.get(openid=openid)
    if len(phonenumber) == 0:
        return u'您正在使用贴膜赠送功能,请回复【贴膜赠送+对方手机号】进行贴膜赠送,中间没有空格,每次赠送1次贴膜服务给您的好友。例如:贴膜赠送%s' % (
            from_user.phonenumber, )
    try:
        to_user = User.objects.get(phonenumber=phonenumber)
    except ObjectDoesNotExist:
        return u'赠送失败,请检查被赠送号码是否正确,并且已在平台进行注册。'
    else:
        if from_user == to_user:
            return u'赠送失败,不能自己赠送给自己。'
        from_user_paste = get_or_create_user_phone_paste(openid)
        to_user_paste = get_or_create_user_phone_paste(to_user.openid)
        from_user_paste.remain -= 1
        from_user_paste.save()
        to_user_paste.remain += 1
        to_user_paste.save()
        PhonePasteTransfer(from_user=from_user, to_user=to_user,
                           amount=1).save()
        return u'成功赠送给【%s】1次贴膜服务,您当前剩余贴膜次数为【%s】' % (to_user.name,
                                                    from_user_paste.remain)
Ejemplo n.º 9
0
def parserMsg(request):
    signature = request.GET.get("signature", None)
    timestamp = request.GET.get("timestamp", None)
    nonce = request.GET.get("nonce", None)
    if wechat.check_signature(signature=signature,
                              timestamp=timestamp,
                              nonce=nonce):
        wechat.parse_data(smart_str(request.body))
        message = wechat.get_message()
        openid = message.source
        response = None
        if isinstance(message, TextMessage):
            content = message.content

            text_auto_reply = Text.objects.filter(
                commander__commander=content.lower())
            news_auto_reply = News.objects.filter(
                commander__commander=content).order_by('-priority')[:5]
            if text_auto_reply:
                response = wechat.response_text(
                    content=text_auto_reply[0].content)
            elif news_auto_reply:
                news = []
                for n in news_auto_reply:
                    new = {
                        'title': n.title,
                        'description': n.description,
                        'picurl': n.picurl,
                        'url': n.contenturl
                    }
                    news.append(new)
                    response = wechat.response_news(news)
            else:
                if content == u'注册':
                    if check_regist(openid):
                        response = wechat.response_text(
                            content=u'您已完成注册,谢谢您的支持。')
                    else:
                        url = 'http://xlhw.sinaapp.com/weixin/register/' + openid
                        new = {
                            'title': '注册红卫通讯会员',
                            'description': '点我开始注册',
                            'picurl':
                            'http://xlhw-weixin.stor.sinaapp.com/pic/1427089672_853466.png',
                            'url': url
                        }
                        news = []
                        news.append(new)
                        response = wechat.response_news(news)
                elif content == u'openid':
                    response = wechat.response_text(content=openid)
                elif content == u'贴膜':
                    response = wechat.response_text(
                        content=check_phone_paste(openid))
                elif content == u'我要贴膜':
                    response = wechat.response_text(
                        content=phone_paste_consume(openid))
                elif content[:4] == u'贴膜赠送':
                    phonenumber = content[4:]
                    response = wechat.response_text(
                        content=transfer_phone_paste(openid, phonenumber))
                elif content[:2] == u'充值':
                    phonenumber = content[4:]
                elif content[:4] == u'购机赠膜':
                    phonenumber = content[4:]
                    response = wechat.response_text(
                        content=buy_phone_give_paste(openid, phonenumber))
                elif content == u'打卡':
                    response = wechat.response_text(content=sign_in(openid))
                else:
                    response = wechat.response_text(content=content)
        elif isinstance(message, VoiceMessage):
            response = wechat.response_text(content=u'语音信息')
        elif isinstance(message, ImageMessage):
            response = wechat.response_text(content=u'图片信息')
        elif isinstance(message, VideoMessage):
            response = wechat.response_text(content=u'视频信息')
        elif isinstance(message, LinkMessage):
            response = wechat.response_text(content=u'链接信息')
        elif isinstance(message, LocationMessage):
            response = wechat.response_text(content=u'地理位置信息')
        elif isinstance(message, EventMessage):  # 事件信息
            if message.type == 'subscribe':  # 关注事件(包括普通关注事件和扫描二维码造成的关注事件)
                if message.key and message.ticket:  # 如果 key 和 ticket 均不为空,则是扫描二维码造成的关注事件
                    response = wechat.response_text(
                        content=u'欢迎关注新乐市红卫通讯点,敬请期待我们马上开始的微信活动。')
                else:
                    response = wechat.response_text(
                        content=u'欢迎关注新乐市红卫通讯点,敬请期待我们马上开始的微信活动。')
            elif message.type == 'unsubscribe':
                response = wechat.response_text(content=u'取消关注事件')
            elif message.type == 'scan':
                response = wechat.response_text(content=u'用户已关注时的二维码扫描事件')
            elif message.type == 'location':
                response = wechat.response_text(content=u'上报地理位置事件')
            elif message.type == 'click':
                response = wechat.response_text(content=u'自定义菜单点击事件')
            elif message.type == 'view':
                response = wechat.response_text(content=u'自定义菜单跳转链接事件')

        # 现在直接将 response 变量内容直接作为 HTTP Response 响应微信服务器即可,此处为了演示返回内容,直接将响应进行输出
        return response
Ejemplo n.º 10
0
Archivo: views.py Proyecto: Panmax/xlhw
def parserMsg(request):
    signature = request.GET.get("signature", None)
    timestamp = request.GET.get("timestamp", None)
    nonce = request.GET.get("nonce", None)
    if wechat.check_signature(signature=signature, timestamp=timestamp, nonce=nonce):
        wechat.parse_data(smart_str(request.body))
        message = wechat.get_message()
        openid = message.source
        response = None
        if isinstance(message, TextMessage):
            content = message.content

            text_auto_reply = Text.objects.filter(commander__commander=content.lower())
            news_auto_reply = News.objects.filter(commander__commander=content).order_by('-priority')[:5]
            if text_auto_reply:
                response = wechat.response_text(content=text_auto_reply[0].content)
            elif news_auto_reply:
                news = []
                for n in news_auto_reply:
                    new = {'title': n.title, 'description': n.description, 'picurl': n.picurl, 'url': n.contenturl}
                    news.append(new)
                    response = wechat.response_news(news)
            else:
                if content == u'注册':
                    if check_regist(openid):
                        response = wechat.response_text(content=u'您已完成注册,谢谢您的支持。')
                    else:
                        url = 'http://xlhw.sinaapp.com/weixin/register/' + openid
                        new = {'title': '注册红卫通讯会员', 'description': '点我开始注册',
                               'picurl': 'http://xlhw-weixin.stor.sinaapp.com/pic/1427089672_853466.png', 'url': url}
                        news = []
                        news.append(new)
                        response = wechat.response_news(news)
                elif content == u'openid':
                    response = wechat.response_text(content=openid)
                elif content == u'贴膜':
                    response = wechat.response_text(content=check_phone_paste(openid))
                elif content == u'我要贴膜':
                    response = wechat.response_text(content=phone_paste_consume(openid))
                elif content[:4] == u'贴膜赠送':
                    phonenumber = content[4:]
                    response = wechat.response_text(content=transfer_phone_paste(openid, phonenumber))
                elif content[:2] == u'充值':
                    phonenumber = content[4:]
                elif content[:4] == u'购机赠膜':
                    phonenumber = content[4:]
                    response = wechat.response_text(content=buy_phone_give_paste(openid, phonenumber))
                elif content == u'打卡':
                    response = wechat.response_text(content=sign_in(openid))
                else:
                    response = wechat.response_text(content=content)
        elif isinstance(message, VoiceMessage):
            response = wechat.response_text(content=u'语音信息')
        elif isinstance(message, ImageMessage):
            response = wechat.response_text(content=u'图片信息')
        elif isinstance(message, VideoMessage):
            response = wechat.response_text(content=u'视频信息')
        elif isinstance(message, LinkMessage):
            response = wechat.response_text(content=u'链接信息')
        elif isinstance(message, LocationMessage):
            response = wechat.response_text(content=u'地理位置信息')
        elif isinstance(message, EventMessage):  # 事件信息
            if message.type == 'subscribe':  # 关注事件(包括普通关注事件和扫描二维码造成的关注事件)
                if message.key and message.ticket:  # 如果 key 和 ticket 均不为空,则是扫描二维码造成的关注事件
                    response = wechat.response_text(content=u'欢迎关注新乐市红卫通讯点,敬请期待我们马上开始的微信活动。')
                else:
                    response = wechat.response_text(content=u'欢迎关注新乐市红卫通讯点,敬请期待我们马上开始的微信活动。')
            elif message.type == 'unsubscribe':
                response = wechat.response_text(content=u'取消关注事件')
            elif message.type == 'scan':
                response = wechat.response_text(content=u'用户已关注时的二维码扫描事件')
            elif message.type == 'location':
                response = wechat.response_text(content=u'上报地理位置事件')
            elif message.type == 'click':
                response = wechat.response_text(content=u'自定义菜单点击事件')
            elif message.type == 'view':
                response = wechat.response_text(content=u'自定义菜单跳转链接事件')

        # 现在直接将 response 变量内容直接作为 HTTP Response 响应微信服务器即可,此处为了演示返回内容,直接将响应进行输出
        return response