1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # @Author : Rocky
- # @File : InitController.py
- # @Time : 2023/4/11 17:26
- from django.contrib.auth.hashers import check_password
- from django.http import HttpResponse
- from django.views import View
- from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, Unused_Uid_Meal
- from Object.ResponseObject import ResponseObject
- class InitView(View):
- def get(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- operation = kwargs.get('operation')
- return self.validation(request.GET, operation)
- def post(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- operation = kwargs.get('operation')
- return self.validation(request.POST, operation)
- def validation(self, request_dict, operation):
- if operation == 'health-check': # 负载均衡器健康检测接口
- return self.health_check(request_dict)
- elif operation == 'delete-account': # 网页删除账号
- return self.delete_account(request_dict)
- @staticmethod
- def health_check(request_dict):
- response = ResponseObject()
- return response.json(0)
- @staticmethod
- def delete_account(request_dict):
- username = request_dict.get('username', None)
- password = request_dict.get('password', None)
- response = ResponseObject()
- device_user_qs = Device_User.objects.filter(username=username).values('password', 'userID')
- if not device_user_qs.exists():
- return response.json(104)
- cipher_password, user_id = device_user_qs[0]['password'], device_user_qs[0]['userID']
- if not check_password(password, cipher_password):
- return response.json(111)
- device_info_qs = Device_Info.objects.filter(userID=user_id)
- if device_info_qs.exists():
- return response.json(10047)
- uid_list = Order_Model.objects.filter(userID=user_id, status=1).values_list('UID').distinct().order_by('UID')
- uid_bucket_qs = UID_Bucket.objects.filter(uid__in=uid_list, use_status=1)
- if uid_bucket_qs.exists():
- return response.json(10046)
- unused_uid_meal_qs = Unused_Uid_Meal.objects.filter(uid__in=uid_list)
- if unused_uid_meal_qs.exists():
- return response.json(10046)
- device_user_qs.delete()
- return response.json(0)
|