成语猜题小程序答题服务端源码
#答题
@csrf_exempt
def submitanswer(request):
code=request.POST["code"]
suboption=request.POST["suboption"]
questionid=request.POST["questionid"]
res=get_sessionkey_openid(code)
openid=res[0]
guserinfo=guser.objects.get(guser_openid=openid)
questioninfo=idiom.objects.get(id=questionid)
answerexist=answer_detail.objects.filter(answer_linkguser=openid)
if answerexist:
#取最近一条答题记录
txinfo=answer_detail.objects.filter(answer_linkguser=openid).order_by("answer_time").last()
if txinfo.answer_linkidiom==int(questionid):
resdata={}
resdata["result"]="norepeat"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
else:
#校验金币是否足够每局100
if guserinfo.guser_curgold>=100:
#【答对处理逻辑】
if suboption==questioninfo.idiom_lack:
#每局金币减少100
guserinfo.guser_curgold=guserinfo.guser_curgold-100
#闯关数+1
guserinfo.guser_pass+=1
#取倍数
mult=getmult(guserinfo.guser_continright)
#取翻倍
doublenum=getdouble()
#获取元宝
if guserinfo.guser_isblack==0:
#黑名单
yb=1
guserinfo.guser_curyb=guserinfo.guser_curyb+yb
guserinfo.guser_countyb=guserinfo.guser_countyb+yb
else:
#白名单调用获取元宝
yb=getyb(guserinfo.guser_pass)
guserinfo.guser_curyb=guserinfo.guser_curyb+yb*mult
guserinfo.guser_countyb=guserinfo.guser_countyb+yb*mult
guserinfo.save()
#线程执行
nowtime=timeadd8()
res=1
subtask=threading.Thread(target=subanswertask, args=(openid,questionid,suboption,res,nowtime))
subtask.start()
goldbefore=guserinfo.guser_curgold+100
goldchange=-100
goldafter=guserinfo.guser_curgold
goldremark="答题金币"
goldtask=threading.Thread(target=golddetailtask, args=(openid,goldbefore,goldchange,goldafter,goldremark,nowtime))
goldtask.start()
ybbefore=guserinfo.guser_curyb-yb*mult
ybchange=yb*mult
ybafter=guserinfo.guser_curyb
ybremark="答题"
ybtask=threading.Thread(target=ybdetailtask, args=(openid,ybbefore,ybchange,ybafter,ybremark,nowtime))
ybtask.start()
resdata={}
resdata["result"]="success"
resdata["explain"]=questioninfo.idiom_explain
resdata["ybchange"]=yb
resdata["mult"]=mult
resdata["doublenum"]=doublenum
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
#答错处理逻辑
else:
#每局金币减少100
guserinfo.guser_curgold=guserinfo.guser_curgold-100
#闯关数-1
guserinfo.guser_pass-=1
#闯关数变为负数处理
if guserinfo.guser_pass<=0:
guserinfo.guser_pass=0
guserinfo.save()
#线程执行
nowtime=timeadd8()
res=0
subtask=threading.Thread(target=subanswertask, args=(openid,questionid,suboption,res,nowtime))
subtask.start()
goldbefore=guserinfo.guser_curgold+100
goldchange=-100
goldafter=guserinfo.guser_curgold
goldremark="答题金币"
goldtask=threading.Thread(target=golddetailtask, args=(openid,goldbefore,goldchange,goldafter,goldremark,nowtime))
goldtask.start()
ybbefore=guserinfo.guser_curyb
ybchange=0
ybafter=guserinfo.guser_curyb
ybremark="答题"
ybtask=threading.Thread(target=ybdetailtask, args=(openid,ybbefore,ybchange,ybafter,ybremark,nowtime))
ybtask.start()
resdata={}
resdata["result"]="fail"
resdata["explain"]=questioninfo.idiom_explain
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
else:
resdata={}
resdata["result"]="nogold"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
else:
#校验金币是否足够每局100
if guserinfo.guser_curgold>=100:
#【答对处理逻辑】
if suboption==questioninfo.idiom_lack:
#每局金币减少100
guserinfo.guser_curgold=guserinfo.guser_curgold-100
#闯关数+1
guserinfo.guser_pass+=1
#取倍数
mult=getmult(guserinfo.guser_continright)
#取翻倍
doublenum=getdouble()
#获取元宝
if guserinfo.guser_isblack==0:
#黑名单
yb=1
guserinfo.guser_curyb=guserinfo.guser_curyb+yb
guserinfo.guser_countyb=guserinfo.guser_countyb+yb
else:
#白名单调用获取元宝
yb=getyb(guserinfo.guser_pass)
guserinfo.guser_curyb=guserinfo.guser_curyb+yb*mult
guserinfo.guser_countyb=guserinfo.guser_countyb+yb*mult
guserinfo.save()
#线程执行
nowtime=timeadd8()
res=1
subtask=threading.Thread(target=subanswertask, args=(openid,questionid,suboption,res,nowtime))
subtask.start()
goldbefore=guserinfo.guser_curgold+100
goldchange=-100
goldafter=guserinfo.guser_curgold
goldremark="答题金币"
goldtask=threading.Thread(target=golddetailtask, args=(openid,goldbefore,goldchange,goldafter,goldremark,nowtime))
goldtask.start()
ybbefore=guserinfo.guser_curyb-yb**mult
ybchange=yb**mult
ybafter=guserinfo.guser_curyb
ybremark="答题"
ybtask=threading.Thread(target=ybdetailtask, args=(openid,ybbefore,ybchange,ybafter,ybremark,nowtime))
ybtask.start()
resdata={}
resdata["result"]="success"
resdata["explain"]=questioninfo.idiom_explain
resdata["ybchange"]=yb
resdata["mult"]=mult
resdata["doublenum"]=doublenum
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
#答错处理逻辑
else:
#每局金币减少100
guserinfo.guser_curgold=guserinfo.guser_curgold-100
#闯关数-1
guserinfo.guser_pass-=1
#闯关数变为负数处理
if guserinfo.guser_pass<=0:
guserinfo.guser_pass=0
guserinfo.save()
#线程执行
nowtime=timeadd8()
res=0
subtask=threading.Thread(target=subanswertask, args=(openid,questionid,suboption,res,nowtime))
subtask.start()
goldbefore=guserinfo.guser_curgold+100
goldchange=-100
goldafter=guserinfo.guser_curgold
goldremark="答题金币"
goldtask=threading.Thread(target=golddetailtask, args=(openid,goldbefore,goldchange,goldafter,goldremark,nowtime))
goldtask.start()
ybbefore=guserinfo.guser_curyb
ybchange=0
ybafter=guserinfo.guser_curyb
ybremark="答题"
ybtask=threading.Thread(target=ybdetailtask, args=(openid,ybbefore,ybchange,ybafter,ybremark,nowtime))
ybtask.start()
resdata={}
resdata["result"]="fail"
resdata["explain"]=questioninfo.idiom_explain
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
else:
resdata={}
resdata["result"]="nogold"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
成语猜题小程序答题服务端源码相关推荐
- 微云二手车运营版 公众号+小程序v1.1.20+微信小程序+抖音端源码安装教程
系统包括PC+公众号+小程序v1.1.20+微信小程序+抖音小程序前端,使用前先在后台初始化下数据.播播资源网技术小编看了下说明是带PC端功能,但后台没找到设置的地方,不过公众号+小程序+抖音也够用了 ...
- 浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务)
浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务) 参考文章: (1)浅谈对腾讯云微信小程序解决方案服务端的理解(主要针对信道服务) (2)https://www.cnblogs.com/ ...
- 【微信小程序】小程序与服务端的http通信
文章目录 搭建服务端 小程序 小程序与服务端通信 get请求 小程序向服务端发送数据 服务端接收小程序发送过来的数据 post请求 小程序向服务端发送数据 服务端接收小程序发送过来的数据 请求前后的状 ...
- 【程序源代码】共享充电桩小程序(服务端)
" 关键字:小程序 共享 充电桩 " 正文: 共享充电桩小程序(服务端) 最近好多小伙伴问我,说:有没有什么好的后台管理的工程可以做小程序的服务使用啊,能不能给可以推荐啊.想学 ...
- 小程序PHP CGI,微信小程序php服务端nginx配置
微信小程序php服务端nginx配置 微信小程序server端如果选择自己部署的话,可以选择java或者php的,为了省事我选择了php的,腾讯是用CodeIgniter框架做的demo,由于CI框架 ...
- 五子棋服务端程序java_9网上五子棋对战(java)服务端源码
9网上五子棋对战(java)服务端源码 网上五子棋对战(java)服务端源码 /* 五子棋游戏是本人在学习java swing时写的一个程序,程序分两部分:服务器端和客户端.运行程序时先运行服务器端, ...
- 基于JAVA社区微服务平台小程序服务器端计算机毕业设计源码+系统+lw文档+部署
基于JAVA社区微服务平台小程序服务器端计算机毕业设计源码+系统+lw文档+部署 基于JAVA社区微服务平台小程序服务器端计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 ...
- 新版WIFI小程序分销系统微信源码序WiFi大师版流量主搭建独立源码WiFi分销源码
网传版本,未测试,新版WIFI大师v4.47小程序源码,WIFI分销系统带流量主和独立运行版. 更新内容: 1.后台更多板块列表新增分页 2.平台管理端图标优化 3.平台管理端新增平台统计 4.优化后 ...
- java毕业设计融呗智慧金融微资讯移动平台服务端源码+lw文档+mybatis+系统+mysql数据库+调试
java毕业设计融呗智慧金融微资讯移动平台服务端源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计融呗智慧金融微资讯移动平台服务端源码+lw文档+mybatis+系统+my ...
最新文章
- 机器人暑假班招生推文_机器人兴趣班开学季
- 遍历json数组的常用方式
- hbase读写流程及缓存机制
- java cpu过高排查_涨薪秘籍:JAVA项目排查cpu负载过高
- 从基础到实践,一文带你看懂HashMap
- Keras-1 学习Keras,从Hello World开始
- 接口测试--获取动态参数进阶
- 已经到了退休年龄的城乡居民,可以一次性补交十五年的养老金吗?
- canvas绘图粒子扩散效果【原创】
- Java 基础 —— 注解
- Android usb audio录音(四)
- Redis系列四 Redis常见配置
- 详解修改BXP服务器IP地址的方法(转)
- 小米无线网卡linux驱动下载,Linux 下小米WIFI 的无线网卡驱动
- CNVD 与 CNNVD 的区别
- 服务器lsass系统错误,lsass.exe-系统错误,终结点格式无效 windows2003服务器出错
- Few-Shot Video Object Detection
- 2011年好莱坞大片索引
- 如何用css实现左右翻页效果图,如何利用CSS3实现3D翻书效果
- 破解Excel的宏密码