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
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
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
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