first commit
This commit is contained in:
parent
ca32eef513
commit
bec6766f03
@ -59,7 +59,7 @@ class User(models.Model):
|
|||||||
member_end_time = models.BigIntegerField(blank=True, null=True) # 存储会员到期时间的时间戳
|
member_end_time = models.BigIntegerField(blank=True, null=True) # 存储会员到期时间的时间戳
|
||||||
is_active = models.BooleanField(default=True) # 状态,启用/禁用,默认启用
|
is_active = models.BooleanField(default=True) # 状态,启用/禁用,默认启用
|
||||||
usage_count = models.IntegerField(default=0, blank=True, null=True) # 用户使用次数
|
usage_count = models.IntegerField(default=0, blank=True, null=True) # 用户使用次数
|
||||||
coins = models.IntegerField(default=3, verbose_name='金币数量') # 用户金币数量
|
coins = models.IntegerField(default=30, verbose_name='金币数量') # 用户金币数量
|
||||||
balance = models.DecimalField(max_digits=10, decimal_places=2, default=0.00, verbose_name='用户余额') # 用户余额
|
balance = models.DecimalField(max_digits=10, decimal_places=2, default=0.00, verbose_name='用户余额') # 用户余额
|
||||||
inviter_nickname = models.CharField(max_length=150, blank=True, null=True, verbose_name='邀请人昵称') # 用户邀请人昵称
|
inviter_nickname = models.CharField(max_length=150, blank=True, null=True, verbose_name='邀请人昵称') # 用户邀请人昵称
|
||||||
invitees_count = models.IntegerField(default=0, verbose_name='邀请人数量') # 邀请人数量
|
invitees_count = models.IntegerField(default=0, verbose_name='邀请人数量') # 邀请人数量
|
||||||
@ -237,7 +237,7 @@ class TransactionLog(models.Model):
|
|||||||
|
|
||||||
|
|
||||||
class IDCounter(models.Model):
|
class IDCounter(models.Model):
|
||||||
count = models.IntegerField(default=10000) # 初始化为0或其他你想开始的数字
|
count = models.IntegerField(default=30000) # 初始化为0或其他你想开始的数字
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_next_id(cls):
|
def get_next_id(cls):
|
||||||
|
@ -224,13 +224,6 @@ def miniapp_login(request):
|
|||||||
if 'openid' in result:
|
if 'openid' in result:
|
||||||
openid = result['openid']
|
openid = result['openid']
|
||||||
session_key = result['session_key']
|
session_key = result['session_key']
|
||||||
|
|
||||||
# 解密encryptedData获取用户信息
|
|
||||||
# pc = WXBizDataCrypt(APPID, session_key)
|
|
||||||
# decrypted_data = pc.decrypt(encrypted_data, iv)
|
|
||||||
|
|
||||||
# token = generate_token_for_user(openid)
|
|
||||||
# print(decrypted_data)
|
|
||||||
if openid:
|
if openid:
|
||||||
user, created = User.objects.get_or_create(openid=openid)
|
user, created = User.objects.get_or_create(openid=openid)
|
||||||
# 如果是新用户,则设置其它属性 defaultDailyFreeParseNum totalParseNum
|
# 如果是新用户,则设置其它属性 defaultDailyFreeParseNum totalParseNum
|
||||||
@ -268,36 +261,35 @@ def miniapp_login(request):
|
|||||||
#获取用户信息
|
#获取用户信息
|
||||||
def userinfo(request):
|
def userinfo(request):
|
||||||
data = json.loads(request.body)
|
data = json.loads(request.body)
|
||||||
openid = data.get('openid','')
|
openid = data.get('openid', '')
|
||||||
|
|
||||||
if contains_sql_or_xss(openid):
|
if contains_sql_or_xss(openid):
|
||||||
logger.error(f'{openid} 用户触发威胁字符检测: {data}')
|
logger.error(f'{openid} 用户触发威胁字符检测: {data}')
|
||||||
return JsonResponse({'status': 'error', 'message': '你的国际行为已被记录,我们将保留追责权利'})
|
return JsonResponse({'status': 'error', 'message': '你的国际行为已被记录,我们将保留追责权利'})
|
||||||
|
|
||||||
if not openid:
|
if not openid:
|
||||||
return JsonResponse({"status": "erroe",'body': '缺少openid参数'})
|
return JsonResponse({"status": "error", 'body': '缺少openid参数'})
|
||||||
else:
|
|
||||||
|
try:
|
||||||
|
user = User.objects.get(openid=openid)
|
||||||
|
except User.DoesNotExist:
|
||||||
|
return JsonResponse({"status": "error", 'userInfo': None})
|
||||||
|
|
||||||
increment = -0
|
increment = -0
|
||||||
function_type = 'luserinfo'
|
function_type = 'luserinfo'
|
||||||
result = update_usage_count(openid, increment, function_type)
|
result = update_usage_count(openid, increment, function_type)
|
||||||
membership_types = MembershipType.objects.all().values('type', 'title', 'description', 'price', 'coins','is_quota')
|
membership_types = MembershipType.objects.all().values('type', 'title', 'description', 'price', 'coins', 'is_quota')
|
||||||
user = User.objects.get(openid=openid)
|
|
||||||
if user:
|
|
||||||
user_info = model_to_dict(user)
|
user_info = model_to_dict(user)
|
||||||
try:
|
try:
|
||||||
|
user_info['member_start_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(user.member_start_time))
|
||||||
user_info['member_start_time'] = time.strftime("%Y-%m-%d %H:%M:%S",
|
user_info['member_end_time'] = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(user.member_end_time))
|
||||||
time.localtime(user.member_start_time))
|
|
||||||
user_info['member_end_time'] = time.strftime("%Y-%m-%d %H:%M:%S",
|
|
||||||
time.localtime(user.member_end_time))
|
|
||||||
except:
|
except:
|
||||||
user_info['member_start_time'] = user.member_start_time
|
user_info['member_start_time'] = user.member_start_time
|
||||||
user_info['member_end_time'] = user.member_end_time
|
user_info['member_end_time'] = user.member_end_time
|
||||||
|
|
||||||
membership_type_list = list(membership_types)
|
membership_type_list = list(membership_types)
|
||||||
return JsonResponse({"status": "success", 'userInfo': user_info, 'membershipTypeList': membership_type_list})
|
return JsonResponse({"status": "success", 'userInfo': user_info, 'membershipTypeList': membership_type_list})
|
||||||
else:
|
|
||||||
return JsonResponse({"status": "erroe", 'userInfo': None})
|
|
||||||
|
|
||||||
def generate_token_for_user(openid):
|
def generate_token_for_user(openid):
|
||||||
# 定义密钥,你应该将其保存在配置文件或环境变量中
|
# 定义密钥,你应该将其保存在配置文件或环境变量中
|
||||||
@ -564,7 +556,8 @@ def redeem_card(request):
|
|||||||
return JsonResponse({'error': '卡密激活失败,请联系管理员'})
|
return JsonResponse({'error': '卡密激活失败,请联系管理员'})
|
||||||
elif card.card_type == 'quota':
|
elif card.card_type == 'quota':
|
||||||
# 如果是额度卡,调用更新使用次数函数
|
# 如果是额度卡,调用更新使用次数函数
|
||||||
success = update_usage_count(openid, increment=+card.validity_period)
|
|
||||||
|
success = update_usage_count(openid, increment=+card.validity_period,function_type='redeem_card')
|
||||||
if success.get('success'):
|
if success.get('success'):
|
||||||
card.used_by_openid = openid
|
card.used_by_openid = openid
|
||||||
card.is_used = True
|
card.is_used = True
|
||||||
|
1
test
Submodule
1
test
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit ca32eef513aade1d80ac5badf5b23f5820f045f5
|
Binary file not shown.
After Width: | Height: | Size: 278 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.3 MiB |
Binary file not shown.
After Width: | Height: | Size: 8.3 MiB |
Loading…
Reference in New Issue
Block a user