Exemplo n.º 1
0
def replyClickMB4(fromuser):
    '''创建空白问卷'''
    #流程:录入问卷基本信息(标题、描述、公开结果、公开调查、目标样本数、筛选条件,640px图),录入问卷题目,预览并选择发布问卷类型(有奖/红包/互助问卷分别支付后发布,普通问卷直接发布)
    #如果用户当前未编辑完成的问卷个数超过5个,就不允许创建新的问卷,要先删除无用的问卷
    retval = ''
    fsid = mdb.get_fsid_byopenid(fromuser)
    retmsg, count = mdb.get_nocomplete(fsid,
                                       [-1, 0, 1, 2, 3])  #先检查该用户是否有未完成的问卷
    delaySendMessage(fromuser, retmsg)
    cacher_random_checker.popRandomValueForFSID(fsid)
    limit = 5
    if count < limit:
        c0, c1, c2, c3 = mdb.count_aire(fsid)
        retval = {
            "title":
            "创建问卷",
            "url":
            mforweixin.get_mp_authurl("%s/createqs" % (HOST_NOS)),
            "description":
            "您发布过%d个普通问卷,%d个有奖问卷,%d个红包问卷,%d个互助问卷,有%d个正在编辑中。\n\n点击创建新问卷" %
            (c0, c1, c2, c3, count),
            "picUrl":
            ""
        }
    return retval
Exemplo n.º 2
0
def replyClick22(fromuser):
    '''创建普通问卷'''
    # 判断用户今日是否可创建普通问卷,如不可创建,回复文本消息提示今天已创建过。若可创建,回复外链图文消息。用户点击图文消息打开创建普通问卷页面,图文消息的url是带用户ID参数的
    retval = ''
    fsid = mdb.get_fsid_byopenid(fromuser)
    retmsg, count = mdb.get_nocomplete(fsid, [0])  #先检查该用户是否有未完成的有奖问卷,有就提示他
    delaySendMessage(fromuser, retmsg)
    cacher_random_checker.popRandomValueForFSID(fsid)
    limit = int(web.config.app_configuration.get('sys:limit_0', 2))
    if count < limit:
        count = mdb.count_today_aire(fsid)[0]
        if count >= limit:
            return '您今天已经创建了%d个普通问卷,请明天再来。' % limit
        else:
            retval = {
                "title":
                "创建普通问卷",
                "url":
                mforweixin.get_mp_authurl("%s/nopay1" % (HOST_NOS)),
                "description":
                "您今天创建了%d个普通问卷,还可以创建%d个。\n\n点击去创建" % (count, limit - count),
                "picUrl":
                ""
            }
        return retval
Exemplo n.º 3
0
def replyClick23(fromuser):
    '''我发布的问卷'''
    # 若用户未发布过任何问卷,回复一条文本消息。
    # 若用户已发布过问卷,回复一条图文消息,包含所发问卷的统计结果。点击进入我发布的问卷查看页面,列表清单查阅所发布的所有问卷,每个问卷可进入问卷查看页面,除了像答卷人可看到的问卷详情外,还可查看状态、统计结果、奖品发放情况等等。
    # 选择自己寄送奖品的,在寄送奖品后,通过这里,可登记快递信息、可申请退保证金,等等。
    retval = ''
    fsid = mdb.get_fsid_byopenid(fromuser)
    cacher_random_checker.popRandomValueForFSID(fsid)
    retmsg, count = mdb.get_nocomplete(fsid, [-1, 0, 1, 2, 3])
    c0, c1, c2, c3 = mdb.count_aire(fsid)
    if c0 == 0 and c1 == 0 and c2 == 0 and c3 == 0 and count == 0:
        return '您还没发布过问卷。'
    else:
        retval = {
            "title":
            "我发布的问卷",
            "url":
            mforweixin.get_mp_authurl("%s/p23" % (HOST_NOS)),
            "description":
            "您发布过%d个普通问卷,%d个有奖问卷,%d个红包问卷,%d个互助问卷。有%d个正在编辑的问卷\n\n点击查看详情" %
            (c0, c1, c2, c3, count)
        }
    return retval
Exemplo n.º 4
0
def replyClick21(fromuser):
    '''创建红包问卷'''
    # 回复外链图文消息。用户点击图文消息打开创建有奖问卷页面,图文消息的url是带用户ID参数的
    retval = ''
    fsid = mdb.get_fsid_byopenid(fromuser)
    retmsg, count = mdb.get_nocomplete(fsid, [2])  #先检查该用户是否有未完成的有奖问卷,有就提示他
    delaySendMessage(fromuser, retmsg)
    cacher_random_checker.popRandomValueForFSID(fsid)
    limit = int(web.config.app_configuration.get('sys:limit_2', 10))
    if count < limit:
        count = mdb.count_today_aire(fsid)[2]
        if count >= limit:
            return '您今天已经创建了%d个红包问卷,请明天再来。' % limit
        else:
            retval = {
                "title":
                "创建红包问卷",
                "url":
                mforweixin.get_mp_authurl("%s/hong1" % (HOST_NOS)),
                "description":
                "您今天创建了%d个红包问卷,还可以创建%d个\n\n点击去创建" % (count, limit - count)
            }
        return retval