| | |
| | | mylog.debug("time pass")
|
| | | return SendGm(ErrCode_Invalid, gmresult, pushurl)[1]
|
| | |
|
| | | maxUseCount = 0 # -1-无限;0或1-默认1次; >1-限制次数; 没有配置的默认0即默认1次
|
| | | prefix = "" # 固定前缀
|
| | | MailJson = GetMailJson(agentName)
|
| | | if couponType in MailJson:
|
| | | mailInfo = MailJson[couponType]
|
| | | prefix = mailInfo.get("Prefix", "")
|
| | | maxUseCount = CommFunc.ToIntDef(mailInfo.get("MaxUseCount", 0))
|
| | | elif ConfigIO.HasSection(couponType):
|
| | | if ConfigIO.HasOption(couponType, "Prefix"):
|
| | | prefix = ConfigIO.GetValue(couponType, "Prefix")
|
| | | maxUseCount = ConfigIO.GetInt(couponType, "MaxUseCount")
|
| | |
|
| | | # h 开头的卡类型可重复使用
|
| | | if not codeStr.startswith(prefix + 'h'):
|
| | | #if not codeStr.startswith(prefix + 'h'):
|
| | | #修改为按配置最大次数判断即可
|
| | | if maxUseCount in [0, 1]:
|
| | | #再查一次是否用过此批次的其他卡,
|
| | | result, data3 = dbController.find_one(CouponDB.CouponCodeColName + "_" + agentName, \
|
| | | {"coupontype":data["coupontype"], "accid":accid})
|
| | |
| | | gmresult['code'] = codeStr
|
| | | mylog.debug("use again")
|
| | | return SendGm(ErrCode_TypeUsed, gmresult, pushurl)[1]
|
| | | elif maxUseCount > 1:
|
| | | result, resultList = dbController.find(CouponDB.CouponCodeColName + "_" + agentName, {"coupontype":data["coupontype"], "accid":accid}, {"code":1})
|
| | | if not result or len(resultList) >= maxUseCount:
|
| | | gmresult['coupontype'] = data["coupontype"]
|
| | | gmresult['code'] = codeStr
|
| | | mylog.debug("use maxUseCount limit. %s" % maxUseCount)
|
| | | return SendGm(ErrCode_TypeUsed, gmresult, pushurl)[1]
|
| | |
|
| | | data['status'] = 1
|
| | | data['accid'] = accid
|