From 4180ba5f28c47d15a33d99973e2034f5337ab3fc Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 20 十二月 2022 17:04:17 +0800
Subject: [PATCH] 9731 【越南】【主干】【BT7】【BT8】转职业(转职附加重置灵根属性点)
---
Tool/WebCenter/CouponCode/webapp.py | 78 ++++++++++++++++++++++----------------
1 files changed, 45 insertions(+), 33 deletions(-)
diff --git a/Tool/WebCenter/CouponCode/webapp.py b/Tool/WebCenter/CouponCode/webapp.py
index b151357..7ebc83e 100644
--- a/Tool/WebCenter/CouponCode/webapp.py
+++ b/Tool/WebCenter/CouponCode/webapp.py
@@ -25,6 +25,7 @@
import os.path
import zipfile
import time
+import traceback
# get: request.query.username request.GET.get('username','')
# post: request.forms.get('username') request.POST.get('username')
@@ -45,6 +46,7 @@
# GM绔彛
PushPort = ConfigIO.GetValue("Coupon", "PushPort")
PushKey = ConfigIO.GetValue("Coupon", "PushKey")
+PushTimeout = ConfigIO.GetInt("Coupon", "PushTimeout", 5)
CommonCards = eval(ConfigIO.GetValue("Coupon", "CommonCards"))
# 鍙戞斁濂栧姳閭欢鍐呭json锛寀tf8缂栫爜
@@ -83,8 +85,11 @@
if msgEx:
errmsg = "%s : %s" % (errmsg, msgEx)
resData = {"errcode":errcode, "errmsg":errmsg}
- mylog.debug("resData: %s" % str(resData))
- #mylog.info("resData: %s" % str(resData))
+ if errcode != ErrCode_OK:
+ mylog.error("resError: %s" % str(resData))
+ else:
+ mylog.debug("resData: %s" % str(resData))
+ #mylog.info("resData: %s" % str(resData))
return json.dumps(resData, ensure_ascii=False)
@@ -218,18 +223,20 @@
result, commondata = dbController.find_one(CouponDB.CouponCodeColName + "_Common", {"code":codeStr, "accid":accid})
if commondata:
# 宸蹭娇鐢�
- return SendGm(ErrCode_Used, gmresult, pushurl)
+ return SendGm(ErrCode_Used, gmresult, pushurl)[1]
commCheckStatus = CommCheck(dataDict, codeStr)
if commCheckStatus != None:
- return SendGm(commCheckStatus, gmresult, pushurl)
+ return SendGm(commCheckStatus, gmresult, pushurl)[1]
gmresult['code'] = codeStr
gmresult['coupontype'] = codeStr # 缁熶竴鏍煎紡锛屾湇鍔″櫒涓嶄竴瀹氭湁鐢紝鍥哄畾鐮佹牴鎹� codeStr 鍙戝鍔�
- dbController.insert(CouponDB.CouponCodeColName + "_Common", {"code":codeStr, "accid":accid})
- mylog.debug("common ok")
- return SendGm(ErrCode_OK, gmresult, pushurl)
+ retCode, retMsg = SendGm(ErrCode_OK, gmresult, pushurl)
+ if retCode == ErrCode_OK:
+ dbController.insert(CouponDB.CouponCodeColName + "_Common", {"code":codeStr, "accid":accid})
+ mylog.debug("common ok")
+ return retMsg
#-----------寰俊鍟嗗煄----------------------
if codeStr.startswith('wx'):
@@ -242,7 +249,7 @@
if int(wxdata['status']) == 1:
mylog.debug("wxcard used!")
- return SendGm(ErrCode_Used, gmresult, pushurl)
+ return SendGm(ErrCode_Used, gmresult, pushurl)[1]
wxdata['status'] = 1
wxdata['accid'] = dataDict.get("accid", "") # 姝ゅ鐢ㄥ師濮嬭处鍙�
@@ -267,35 +274,35 @@
if not data:
#鏃犳鍗�
mylog.debug("no card")
- return SendGm(ErrCode_Invalid, gmresult, pushurl)
+ return SendGm(ErrCode_Invalid, gmresult, pushurl)[1]
if int(data['status']) == 1:
#宸蹭娇鐢紝鍚屽崱鍙疯褰曢粯璁ゅ彲鐢紝閬垮厤鏂嚎鍙戦�佸け璐ョ殑鎯呭喌锛堟湭杩斿洖缁撴灉楠岃瘉鎯呭喌涓嬶級
mylog.debug("card used!")
- return SendGm(ErrCode_Used, gmresult, pushurl)
+ return SendGm(ErrCode_Used, gmresult, pushurl)[1]
couponType = data["coupontype"]
commCheckStatus = CommCheck(dataDict, data["coupontype"])
if commCheckStatus != None:
- return SendGm(commCheckStatus, gmresult, pushurl)
+ return SendGm(commCheckStatus, gmresult, pushurl)[1]
result, data2 = dbController.find_one(CouponDB.CouponBatchColName, {"couponid":data["couponid"]})
if not data2:
#姝ゆ壒娆″崱宸插垹闄�
mylog.debug("no couponid")
- return SendGm(ErrCode_Invalid, gmresult, pushurl)
+ return SendGm(ErrCode_Invalid, gmresult, pushurl)[1]
if int(data2['status']) == 1:
#鏆傚仠浣跨敤璇ユ壒娆″崱
mylog.debug("couponid frozed")
- return SendGm(ErrCode_Invalid, gmresult, pushurl)
+ return SendGm(ErrCode_Invalid, gmresult, pushurl)[1]
if (data2["minserverno"] != 0 and data2["maxserverno"] != 0):
if int(data2["minserverno"]) > sid or int(data2["maxserverno"]) < sid:
#涓嶅湪鎸囧畾鍖�
mylog.debug("no sid")
- return SendGm(ErrCode_Invalid, gmresult, pushurl)
+ return SendGm(ErrCode_Invalid, gmresult, pushurl)[1]
if data2["expiretime"] != "" and datetime.datetime.today() > GetDateTimeByStr(data2["expiretime"]):
#宸茶繃鏈�
mylog.debug("time pass")
- return SendGm(ErrCode_Invalid, gmresult, pushurl)
+ return SendGm(ErrCode_Invalid, gmresult, pushurl)[1]
prefix = "" # 鍥哄畾鍓嶇紑
if couponType in MailJson:
@@ -315,18 +322,20 @@
gmresult['coupontype'] = data["coupontype"]
gmresult['code'] = codeStr
mylog.debug("use again")
- return SendGm(ErrCode_TypeUsed, gmresult, pushurl)
+ return SendGm(ErrCode_TypeUsed, gmresult, pushurl)[1]
data['status'] = 1
data['accid'] = accid
data['usetime'] = str(datetime.datetime.today())
- dbController.update(CouponDB.CouponCodeColName + "_" + agentName, {"code":codeStr, "channel":agentName}, data)
gmresult['code'] = codeStr
gmresult['coupontype'] = data["coupontype"]
- mylog.debug("card ok!")
- return SendGm(ErrCode_OK, gmresult, pushurl)
+ retCode, retMsg = SendGm(ErrCode_OK, gmresult, pushurl)
+ if retCode == ErrCode_OK:
+ dbController.update(CouponDB.CouponCodeColName + "_" + agentName, {"code":codeStr, "channel":agentName}, data)
+ mylog.debug("card ok!")
+ return retMsg
def CommCheck(dataDict, coupontype):
## 閫氱敤甯歌妫�鏌�
@@ -363,9 +372,9 @@
else:
gmurl = "http://%s:%s/Server/Tool.php" % (pushurl, PushPort)
gmkey = PushKey
- mylog.debug("SendGm:%s" % gmurl)
if not gmkey or not PushPort:
- return CouponCodeResponse(ErrCode_OtherErr, "no PushKey or not PushPort")
+ return ErrCode_OtherErr, CouponCodeResponse(ErrCode_OtherErr, "no PushKey or not PushPort")
+ mylog.debug("SendGm:%s" % gmurl)
notifyMsg = ""
if errcode in ErrCodeMsgInfo:
@@ -378,7 +387,7 @@
SendGMTCMD(gmurl, gmtData, gmkey, "GMT_MediaCard")
if errcode != ErrCode_OK:
- return CouponCodeResponse(errcode)
+ return errcode, CouponCodeResponse(errcode)
coupontype = gmresult["coupontype"]
if coupontype in MailJson:
@@ -411,14 +420,15 @@
pack_data["Detail"] = "cardCode:" + gmresult["code"]
- SendGMTCMD(gmurl, pack_data, gmkey, "GMT_AddPersonalCompensation")
- return CouponCodeResponse(ErrCode_OK)
- except Exception, e:
- mylog.debug("SendGm error %s" % e)
- return CouponCodeResponse(ErrCode_OtherErr, "gm error")
-
- return
-
+ ResultType = SendGMTCMD(gmurl, pack_data, gmkey, "GMT_AddPersonalCompensation")
+ if ResultType == 0:
+ return ErrCode_OK, CouponCodeResponse(ErrCode_OK)
+ else:
+ return ErrCode_OtherErr, CouponCodeResponse(ErrCode_OtherErr, "ResultType error is %s" % ResultType)
+ except BaseException:
+ mylog.error("SendGm error %s" % traceback.format_exc())
+ return ErrCode_OtherErr, CouponCodeResponse(ErrCode_OtherErr, "gm error")
+
def SendGMTCMD(gmurl, gmtData, gmkey, pack_type):
## 鍙戦�丟M宸ュ叿鍛戒护
pack_data = {}
@@ -434,10 +444,12 @@
post = {}
post['pack'] = pack_data_dict;
post['sign'] = sign;
- result = urllib2.urlopen(gmurl, urllib.urlencode(post), 3)
- #content = result.read()
+ result = urllib2.urlopen(gmurl, urllib.urlencode(post), PushTimeout)
+ retContent = result.read()
+ resultDict = json.loads(retContent)
result.close()
- return
+ ResultType = resultDict.get("ResultType", 5) # 5鏈煡閿欒
+ return ResultType
def GetDateTimeByStr(timeStr, timeFomat="%Y-%m-%d"):
--
Gitblit v1.8.0