dingxin_toolbox
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

97 lines
2.7 KiB

from django.http import JsonResponse
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
import pymysql
from pymysql.cursors import DictCursor
import redis
zy_db_config = {
'host': '172.16.3.223',
'port': 3306,
'user': 'zyds_select',
'password': 'select',
'db': 'suyi_cinema',
}
zy_redis_config = {
'host': '172.16.3.223',
'port': 6379,
'db': 0,
'decode_responses': True
}
@csrf_exempt
def zy_switch_svip(request):
"""
接口用于切换自营环境
http://172.16.1.168:8000/config/zy_switch_svip?svip=on
"""
# 切换自营环境
svip = request.GET.get('svip')
if svip == 'on':
result = zy_switch_svip_db('svip')
elif svip == 'off':
result = zy_switch_svip_db('normal')
else:
result = False
# 清除缓存
clear_result = False
if result:
clear_result = zy_clear_cache_redis()
result_dict = {
'status': 'success' if clear_result else 'error',
'message': ('切换环境成功,' if result else '切换环境失败,') + ('清除缓存成功' if clear_result else '清除缓存失败'),
}
return JsonResponse(result_dict, json_dumps_params={'ensure_ascii': False})
@csrf_exempt
def zy_clear_cache(request):
"""
接口用于清除自营缓存
http://172.16.1.168:8000/config/zy_clear_cache
"""
result = zy_clear_cache_redis()
result_dict = {
'status': 'success' if result else 'error',
'message': '清除缓存成功' if result else '清除缓存失败',
}
return JsonResponse(result_dict, json_dumps_params={'ensure_ascii': False})
def zy_switch_svip_db(env_type):
db_conn = pymysql.Connect(**zy_db_config)
cursor = db_conn.cursor(cursor=DictCursor)
select_sql = "SELECT value FROM suyi_cinema.group_kv_config gkc WHERE gkc.key = 'svip_switch';"
cursor.execute(select_sql)
query_result = cursor.fetchone()
# value 0-非华谊 1-华谊
sql_str = "UPDATE suyi_cinema.group_kv_config gkc SET gkc.value = %s WHERE gkc.key = 'svip_switch';"
if env_type == 'svip':
if query_result['value'] == '1':
r = 1
else:
r = cursor.execute(sql_str, ('1',))
print('zy_switch_svip_db', r)
else:
if query_result['value'] == '1':
r = cursor.execute(sql_str, ('0',))
print('zy_switch_svip_db', r)
else:
r = 1
db_conn.commit()
db_conn.close()
return True if r == 1 else False
def zy_clear_cache_redis():
r = redis.Redis(**zy_redis_config)
result = r.flushdb()
print('zy_clear_cache_redis', result)
return result
# Create your views here.