#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved. @AUTHOR: ASJRD018 @NAME: langer @software: PyCharm @DATE: 2019/6/3 17:29 @Version: python3.6 @MODIFY DECORD:ansjer dev @file: User.py @Contact: chanjunkai@163.com """ import json import time from django.views.generic import TemplateView from model.models import AsImgModel from object.ResponseObject import ResponseObject from object.TokenObject import TokenObject from service.CommonService import CommonService class addView(TemplateView): def post(self, request, *args, **kwargs): request.encoding = 'utf-8' request_dict = json.loads(request.body.decode('utf-8')) return self.validate(request_dict) def get(self, request, *args, **kwargs): request.encoding = 'utf-8' request_dict = request.GET return self.validate(request_dict) def validate(self, request_dict): response = ResponseObject() token = request_dict.get('token', None) url = request_dict.get('url', None) asin = request_dict.get('asin', None) tko = TokenObject(token) if tko.code == 0: img_md5 = CommonService.get_remote_md5_sum(url=url) nowTime = int(time.time()) create_dict = { 'asin': asin, 'md5': img_md5, 'url': url, 'addTime': nowTime, 'updTime': nowTime } AsImgModel.objects.create(**create_dict) return response.json(0) else: return response.json(tko.code) class queryView(TemplateView): def post(self, request, *args, **kwargs): request.encoding = 'utf-8' request_dict = json.loads(request.body.decode('utf-8')) return self.validate(request_dict) def get(self, request, *args, **kwargs): request.encoding = 'utf-8' request_dict = request.GET return self.validate(request_dict) def validate(self, request_dict): response = ResponseObject() token = request_dict.get('token', None) searchAsin = request_dict.get('searchAsin', None) page = int(request_dict.get('page', None)) line = int(request_dict.get('line', None)) tko = TokenObject(token) if tko.code == 0: userID = tko.userID ai_qs = AsImgModel.objects.filter() if searchAsin: ai_qs = ai_qs.filter(asin__contains=searchAsin) count = ai_qs.count() ai_qs = ai_qs[(page - 1) * line:page * line] if ai_qs.exists(): res = list(ai_qs.values('id', 'addTime', 'updTime', 'asin', 'md5', 'url')) return response.json(0, res, extra={'count': count}) else: return response.json(0) else: return response.json(tko.code) class updateView(TemplateView): def post(self, request, *args, **kwargs): request.encoding = 'utf-8' request_dict = json.loads(request.body.decode('utf-8')) return self.validate(request_dict) def get(self, request, *args, **kwargs): request.encoding = 'utf-8' request_dict = request.GET return self.validate(request_dict) def validate(self, request_dict): response = ResponseObject() token = request_dict.get('token', None) id = request_dict.get('id', None) asin = request_dict.get('asin', None) url = request_dict.get('url', None) nowTime = int(time.time()) tko = TokenObject(token) if tko.code == 0: ai_qs = AsImgModel.objects.filter(id=id) update_dict = {'updTime': nowTime} if asin: update_dict['asin'] = asin if url: update_dict['url'] = url img_md5 = CommonService.get_remote_md5_sum(url=url) update_dict['md5'] = img_md5 ai_qs.update(**update_dict) return response.json(0) else: return response.json(tko.code) class deleteView(TemplateView): def post(self, request, *args, **kwargs): request.encoding = 'utf-8' request_dict = json.loads(request.body.decode('utf-8')) return self.validate(request_dict) def get(self, request, *args, **kwargs): request.encoding = 'utf-8' request_dict = request.GET return self.validate(request_dict) def validate(self, request_dict): response = ResponseObject() token = request_dict.get('token', None) tko = TokenObject(token) if tko.code == 0: id = request_dict.get('id', None) if id: AsImgModel.objects.filter(id=id).delete() return response.json(0) else: return response.json(0) else: return response.json(tko.code)