#兑换申请
@csrf_exempt
def txyb(request):
accountnum=request.POST["accountnum"]
accountname=request.POST["accountname"]
code=request.POST["code"]
ybnum=request.POST["ybnum"]
res=get_sessionkey_openid(code)
openid=res[0]
guserinfo=guser.objects.get(guser_openid=openid)
txmax=guserinfo.guser_curyb // 10000
txexist=withdraw.objects.filter(txlink_guser=openid)
if not accountnum:
resdata={}
resdata["result"]="nullnum"
resdata["tip"]="账号不能为空"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
elif not accountname:
resdata={}
resdata["result"]="nullname"
resdata["tip"]="姓名不能为空"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
if not re.match(r"^\d+$", ybnum):
resdata={}
resdata["result"]="errnum"
resdata["tip"]="请输入整数"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
elif int(ybnum)>txmax or int(ybnum)==0:
resdata={}
resdata["result"]="maxnum"
resdata["tip"]="最多兑换"+str(txmax)+"米"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
elif txexist:
#取最近一条提现记录
txinfo=withdraw.objects.filter(txlink_guser=openid).order_by("tx_time").last()
if txinfo.tx_status==0:
resdata={}
resdata["result"]="lasttx"
resdata["tip"]="最近一笔兑换中"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
else:
nowtime=timeadd8()
limittime=(datetime.datetime.now()).strftime("%Y-%m-%d %H:%M") #限制时间仅用于避免重复提交数据
withdraw.objects.get_or_create(txlink_guser=openid,
tx_yb=int(ybnum),
tx_time=nowtime,
unique_time=limittime,
tx_zhanghu=accountnum,
tx_name=accountname
)
ybbefore=guserinfo.guser_curyb
ybchange=-int(ybnum)*10000
ybafter=guserinfo.guser_curyb-int(ybnum)*10000
ybremark="提现"
ybtask=threading.Thread(target=ybdetailtask, args=(openid,ybbefore,ybchange,ybafter,ybremark,nowtime))
ybtask.start()
guserinfo.guser_curyb=ybafter
guserinfo.save(update_fields=["guser_curyb"])
resdata={}
resdata["result"]="successtx"
resdata["tip"]="兑换已提交"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")
else:
nowtime=timeadd8()
limittime=(datetime.datetime.now()).strftime("%Y-%m-%d %H:%M") #限制时间仅用于避免重复提交数据
withdraw.objects.get_or_create(txlink_guser=openid,
tx_yb=int(ybnum),
tx_time=nowtime,
unique_time=limittime,
tx_zhanghu=accountnum,
tx_name=accountname
)
ybbefore=guserinfo.guser_curyb
ybchange=-int(ybnum)*10000
ybafter=guserinfo.guser_curyb-int(ybnum)*10000
ybremark="提现"
ybtask=threading.Thread(target=ybdetailtask, args=(openid,ybbefore,ybchange,ybafter,ybremark,nowtime))
ybtask.start()
guserinfo.guser_curyb=ybafter
guserinfo.save(update_fields=["guser_curyb"])
resdata={}
resdata["result"]="successtx"
resdata["tip"]="兑换已提交"
resdata=json.dumps(resdata)
return HttpResponse(resdata,content_type="application/json")