|
@@ -107,24 +107,20 @@ class StatisticsIpRegion(TemplateView):
|
|
|
response = ResponseObject()
|
|
|
ip = request_dict.get('ip', None)
|
|
|
uid = request_dict.get('uid', None)
|
|
|
- # 0 or 1
|
|
|
- is_p2p = int(request_dict.get('is_p2p', 0))
|
|
|
- is_relay = int(request_dict.get('is_relay', 0))
|
|
|
+ p2p_request_times = int(request_dict.get('p2p_request_times', 0))
|
|
|
+ relay_request_times = int(request_dict.get('relay_request_times', 0))
|
|
|
|
|
|
- if not all([ip, uid]) or (not is_p2p and not is_relay):
|
|
|
+ if not all([ip, uid]) or (not p2p_request_times and not relay_request_times):
|
|
|
return response.json(444)
|
|
|
|
|
|
try:
|
|
|
now_time = int(time.time())
|
|
|
p2p_ip_qs = P2PIpModel.objects.filter(uid=uid).values('p2p_request_times', 'relay_request_times')
|
|
|
if p2p_ip_qs.exists():
|
|
|
- # 已存在数据,更新p2p请求次数或relay请求次数
|
|
|
- if is_p2p:
|
|
|
- p2p_request_times = p2p_ip_qs[0]['p2p_request_times'] + 1
|
|
|
- p2p_ip_qs.update(p2p_request_times=p2p_request_times, update_time=now_time)
|
|
|
- else:
|
|
|
- relay_request_times = p2p_ip_qs[0]['relay_request_times'] + 1
|
|
|
- p2p_ip_qs.update(relay_request_times=relay_request_times, update_time=now_time)
|
|
|
+ # 已存在数据,更新p2p请求次数和relay请求次数
|
|
|
+ p2p_request_times = p2p_ip_qs[0]['p2p_request_times'] + p2p_request_times
|
|
|
+ relay_request_times = p2p_ip_qs[0]['relay_request_times'] + relay_request_times
|
|
|
+ p2p_ip_qs.update(p2p_request_times=p2p_request_times, relay_request_times=relay_request_times, update_time=now_time)
|
|
|
else:
|
|
|
# 根据ip确定位置信息
|
|
|
ip_info = CommonService.getIpIpInfo(ip, 'CN')
|
|
@@ -138,8 +134,8 @@ class StatisticsIpRegion(TemplateView):
|
|
|
region_name = ip_info['region_name']
|
|
|
city_name = ip_info['city_name']
|
|
|
P2PIpModel.objects.create(uid=uid, ip=ip, continent_name=continent_name, country_name=country_name,
|
|
|
- region_name=region_name, city_name=city_name, p2p_request_times=is_p2p,
|
|
|
- relay_request_times=is_relay, add_time=now_time, update_time=now_time)
|
|
|
+ region_name=region_name, city_name=city_name, p2p_request_times=p2p_request_times,
|
|
|
+ relay_request_times=relay_request_times, add_time=now_time, update_time=now_time)
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|
|
|
print(e)
|